+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..
{
/* 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);
|| 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)
{
/* 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)
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