* 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:
Alan Modra 2012-05-30 04:19:11 +00:00
parent ebd86fb568
commit 6d8bf25d7e
3 changed files with 17 additions and 7 deletions

View File

@ -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..

View File

@ -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)

View File

@ -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