--- binutils-2.11.90.0.6/ld/ldlang.c Fri Apr 13 11:47:35 2001 +++ binutils/ld/ldlang.c Sun Apr 29 20:05:38 2001 @@ -4091,6 +4091,8 @@ void lang_process () { + struct bfd_link_hash_entry *undefs; + lang_reasonable_defaults (); current_target = default_target; @@ -4106,9 +4108,14 @@ /* Create a bfd for each input file. */ current_target = default_target; - open_input_bfds (statement_list.head, false); - ldemul_after_open (); + do + { + open_input_bfds (statement_list.head, false); + undefs = link_info.hash->undefs_tail; + ldemul_after_open (); + } + while (undefs != link_info.hash->undefs_tail); already_linked_table_free ();