From: Alan Modra Date: Fri, 19 Oct 2018 13:29:11 +0000 (+1030) Subject: Relax a -r --gc-sections requirement X-Git-Tag: users/ARM/embedded-binutils-master-2018q4~402 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91ae256e33f7c068443d877fe3e2b2ffd91cf60b;p=platform%2Fupstream%2Fbinutils.git Relax a -r --gc-sections requirement A symbol root is not needed if --gc-keep-exported is also given. * ldlang.c (lang_end): Don't error if no --entry or --undefined is given with -r -gc-sections if --gc-keep-exported. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 8f8880e..6a029f8 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2018-10-20 Alan Modra + + * ldlang.c (lang_end): Don't error if no --entry or --undefined + is given with -r -gc-sections if --gc-keep-exported. + 2018-10-15 Jim Wilson * emulparams/elf32lriscv-defs.sh (DATA_START_SYMBOLS): New. diff --git a/ld/ldlang.c b/ld/ldlang.c index 8d35e0d..d2b297c 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -6383,8 +6383,10 @@ lang_end (void) warn = TRUE; /* Force the user to specify a root when generating a relocatable with - --gc-sections. */ - if (link_info.gc_sections && bfd_link_relocatable (&link_info) + --gc-sections, unless --gc-keep-exported was also given. */ + if (bfd_link_relocatable (&link_info) + && link_info.gc_sections + && !link_info.gc_keep_exported && !(entry_from_cmdline || undef_from_cmdline)) einfo (_("%F%P: gc-sections requires either an entry or " "an undefined symbol\n"));