From: Alan Modra Date: Wed, 30 May 2012 04:19:11 +0000 (+0000) Subject: * ldlang.h (lang_output_section_statement_type): Rename X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6d8bf25d7e9b6fa7cff57137e7c55bcb11b227d8;p=binutils-gdb.git * ldlang.h (lang_output_section_statement_type): Rename "section_relative_symbol" field to "update_dot". * ldlang.c: Update all uses. (strip_excluded_output_sections): Don't test update_dot_tree here.. (lang_leave_overlay): ..set update_dot here. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index f513cc67b7a..caad59d900b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2012-05-30 Alan Modra + + * ldlang.h (lang_output_section_statement_type): Rename + "section_relative_symbol" field to "update_dot". + * ldlang.c: Update all uses. + (strip_excluded_output_sections): Don't test update_dot_tree here.. + (lang_leave_overlay): ..set update_dot here. + 2012-05-26 Alan Modra * ldlex.h (enum option_values): Move from.. diff --git a/ld/ldlang.c b/ld/ldlang.c index f4eb703b71d..4e75624e515 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -3889,8 +3889,7 @@ strip_excluded_output_sections (void) { /* We don't set bfd_section to NULL since bfd_section of the removed output section statement may still be used. */ - if (!os->section_relative_symbol - && !os->update_dot_tree) + if (!os->update_dot) os->ignored = TRUE; output_section->flags |= SEC_EXCLUDE; bfd_section_list_remove (link_info.output_bfd, output_section); @@ -5253,7 +5252,7 @@ lang_size_sections_1 || tree->type.node_class == etree_assign) && (tree->assign.dst [0] != '.' || tree->assign.dst [1] != '\0')) - output_section_statement->section_relative_symbol = 1; + output_section_statement->update_dot = 1; if (!output_section_statement->ignored) { @@ -7390,8 +7389,11 @@ lang_leave_overlay (etree_type *lma_expr, /* After setting the size of the last section, set '.' to end of the overlay region. */ if (overlay_list != NULL) - overlay_list->os->update_dot_tree - = exp_assign (".", exp_binop ('+', overlay_vma, overlay_max)); + { + overlay_list->os->update_dot = 1; + overlay_list->os->update_dot_tree + = exp_assign (".", exp_binop ('+', overlay_vma, overlay_max)); + } l = overlay_list; while (l != NULL) diff --git a/ld/ldlang.h b/ld/ldlang.h index b5d50c5a354..7f1e743a4da 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -163,8 +163,8 @@ typedef struct lang_output_section_statement_struct unsigned int all_input_readonly : 1; /* If this section should be ignored. */ unsigned int ignored : 1; - /* If there is a symbol relative to this section. */ - unsigned int section_relative_symbol : 1; + /* If this section should update "dot". Prevents section being ignored. */ + unsigned int update_dot : 1; } lang_output_section_statement_type; typedef struct