PR22471, undefined reference to linker-defined symbols
[deliverable/binutils-gdb.git] / ld / ldlang.c
index 674004ee389a654ff03b5131d9f1df20ca077ec7..bf1b5d31ed560ff180e4e45500250599d2383e98 100644 (file)
@@ -3359,9 +3359,7 @@ open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode)
 #endif
          break;
        case lang_assignment_statement_enum:
-         if (s->assignment_statement.exp->type.node_class != etree_assert
-             && s->assignment_statement.exp->assign.defsym)
-           /* This is from a --defsym on the command line.  */
+         if (s->assignment_statement.exp->type.node_class != etree_assert)
            exp_fold_tree_no_dot (s->assignment_statement.exp);
          break;
        default:
@@ -7167,6 +7165,7 @@ lang_process (void)
 
   /* Create a bfd for each input file.  */
   current_target = default_target;
+  lang_statement_iteration++;
   open_input_bfds (statement_list.head, OPEN_BFD_NORMAL);
 
 #ifdef ENABLE_PLUGINS
@@ -7222,6 +7221,7 @@ lang_process (void)
 
          /* Rescan archives in case new undefined symbols have appeared.  */
          files = file_chain;
+         lang_statement_iteration++;
          open_input_bfds (statement_list.head, OPEN_BFD_RESCAN);
          lang_list_remove_tail (&file_chain, &files);
          while (files.head != NULL)
This page took 0.025234 seconds and 4 git commands to generate.