* ldlang.h (lang_output_section_statement_type): Rename
authorAlan Modra <amodra@gmail.com>
Wed, 30 May 2012 04:19:11 +0000 (04:19 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 30 May 2012 04:19:11 +0000 (04:19 +0000)
"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.

ld/ChangeLog
ld/ldlang.c
ld/ldlang.h

index f513cc67b7a0e1eb653d3c80d837d0f29d5539ae..caad59d900b907085aa7cd9d899794c4d1e8eb7e 100644 (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..
index f4eb703b71da0e8cfb2b2e7c1823f2323e585deb..4e75624e515cc562880f426c5f8a509801c34385 100644 (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)
index b5d50c5a354e87401d6c1f9bf5def85de1266794..7f1e743a4da79ee07152625abebfd1e942ac7ec9 100644 (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