mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
* 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.
This commit is contained in:
parent
ebd86fb568
commit
6d8bf25d7e
@ -1,3 +1,11 @@
|
||||
2012-05-30 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* 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 <amodra@gmail.com>
|
||||
|
||||
* ldlex.h (enum option_values): Move from..
|
||||
|
12
ld/ldlang.c
12
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)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user