Properly install gold/ld as default cross linker.
[binutils-gdb.git] / ld / ldlang.c
index 3d316c5f0411f845ee9aaeaae3fb14dfa946b94b..5ba43606e0839eefdea1f2f7b5af6a0c0847242d 100644 (file)
@@ -2325,14 +2325,12 @@ wild_sort (lang_wild_statement_type *wild,
           lang_input_statement_type *file,
           asection *section)
 {
-  const char *section_name;
   lang_statement_union_type *l;
 
   if (!wild->filenames_sorted
       && (sec == NULL || sec->spec.sorted == none))
     return NULL;
 
-  section_name = bfd_get_section_name (file->the_bfd, section);
   for (l = wild->children.head; l != NULL; l = l->header.next)
     {
       lang_input_section_type *ls;
@@ -4680,16 +4678,17 @@ os_region_check (lang_output_section_statement_type *os,
 
 static bfd_vma
 lang_size_sections_1
-  (lang_statement_union_type *s,
+  (lang_statement_union_type **prev,
    lang_output_section_statement_type *output_section_statement,
-   lang_statement_union_type **prev,
    fill_type *fill,
    bfd_vma dot,
    bfd_boolean *relax,
    bfd_boolean check_regions)
 {
+  lang_statement_union_type *s;
+
   /* Size up the sections from their constituent parts.  */
-  for (; s != NULL; s = s->header.next)
+  for (s = *prev; s != NULL; s = s->header.next)
     {
       switch (s->header.type)
        {
@@ -4837,7 +4836,7 @@ lang_size_sections_1
                os->bfd_section->output_offset = 0;
              }
 
-           lang_size_sections_1 (os->children.head, os, &os->children.head,
+           lang_size_sections_1 (&os->children.head, os,
                                  os->fill, newdot, relax, check_regions);
 
            os->processed_vma = TRUE;
@@ -4993,9 +4992,8 @@ lang_size_sections_1
          break;
 
        case lang_constructors_statement_enum:
-         dot = lang_size_sections_1 (constructor_list.head,
+         dot = lang_size_sections_1 (&constructor_list.head,
                                      output_section_statement,
-                                     &s->wild_statement.children.head,
                                      fill, dot, relax, check_regions);
          break;
 
@@ -5052,9 +5050,8 @@ lang_size_sections_1
          break;
 
        case lang_wild_statement_enum:
-         dot = lang_size_sections_1 (s->wild_statement.children.head,
+         dot = lang_size_sections_1 (&s->wild_statement.children.head,
                                      output_section_statement,
-                                     &s->wild_statement.children.head,
                                      fill, dot, relax, check_regions);
          break;
 
@@ -5071,7 +5068,7 @@ lang_size_sections_1
          {
            asection *i;
 
-           i = (*prev)->input_section.section;
+           i = s->input_section.section;
            if (relax)
              {
                bfd_boolean again;
@@ -5184,9 +5181,8 @@ lang_size_sections_1
          break;
 
        case lang_group_statement_enum:
-         dot = lang_size_sections_1 (s->group_statement.children.head,
+         dot = lang_size_sections_1 (&s->group_statement.children.head,
                                      output_section_statement,
-                                     &s->group_statement.children.head,
                                      fill, dot, relax, check_regions);
          break;
 
@@ -5252,8 +5248,8 @@ void
 one_lang_size_sections_pass (bfd_boolean *relax, bfd_boolean check_regions)
 {
   lang_statement_iteration++;
-  lang_size_sections_1 (statement_list.head, abs_output_section,
-                       &statement_list.head, 0, 0, relax, check_regions);
+  lang_size_sections_1 (&statement_list.head, abs_output_section,
+                       0, 0, relax, check_regions);
 }
 
 void