From: Doug Evans Date: Tue, 20 Jul 1999 22:27:31 +0000 (+0000) Subject: * ldlang.c (lang_gc_sections): Only handle the start symbol X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c83b342eeb9aac0aab09fecde572e10cee327c9;p=binutils-gdb.git * ldlang.c (lang_gc_sections): Only handle the start symbol specially if there is one. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index e762a905c40..48ffb22dd48 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +Tue Jul 20 15:18:46 1999 Bob Manson + + * ldlang.c (lang_gc_sections): Only handle the start symbol + specially if there is one. + Mon Jul 19 14:19:14 1999 Mark P. Mitchell * emulparams/elf32bmipn32.sh (OTHER_RELOCATING_SECTIONS): Add diff --git a/ld/ldlang.c b/ld/ldlang.c index f2c137978e6..eab4b5f6394 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -3786,14 +3786,17 @@ lang_gc_sections () /* Keep all sections containing symbols undefined on the command-line. Handle the entry symbol at the same time. */ - - fake_list_start.next = ldlang_undef_chain_list_head; - if (entry_symbol == NULL) - fake_list_start.name = "start"; + + if (entry_symbol != NULL) + { + fake_list_start.next = ldlang_undef_chain_list_head; + fake_list_start.name = (char *) entry_symbol; + ulist = &fake_list_start; + } else - fake_list_start.name = (char *) entry_symbol; + ulist = ldlang_undef_chain_list_head; - for (ulist = &fake_list_start; ulist; ulist = ulist->next) + for (; ulist; ulist = ulist->next) { h = bfd_link_hash_lookup (link_info.hash, ulist->name, false, false, false);