From: Alan Modra Date: Fri, 26 Aug 2016 12:31:15 +0000 (+0930) Subject: Ignore symbols defined in SHF_EXCLUDE sections X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2e84f9c1b5770b803b739bcd157d7a457c22b56f;p=deliverable%2Fbinutils-gdb.git Ignore symbols defined in SHF_EXCLUDE sections PR 20513 * ldlang.c (section_already_linked): Deal with SHF_EXCLUDE sections. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 83fbe7c337..9ad7417b73 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2016-08-31 Alan Modra + + PR 20513 + * ldlang.c (section_already_linked): Deal with SHF_EXCLUDE sections. + 2016-08-31 Alan Modra * testsuite/ld-powerpc/vle-multiseg-1.d: Adjust to suit segment change. diff --git a/ld/ldlang.c b/ld/ldlang.c index aee8720777..07c218214d 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -2294,6 +2294,12 @@ section_already_linked (bfd *abfd, asection *sec, void *data) return; } + /* Deal with SHF_EXCLUDE ELF sections. */ + if (!bfd_link_relocatable (&link_info) + && (abfd->flags & BFD_PLUGIN) == 0 + && (sec->flags & (SEC_GROUP | SEC_KEEP | SEC_EXCLUDE)) == SEC_EXCLUDE) + sec->output_section = bfd_abs_section_ptr; + if (!(abfd->flags & DYNAMIC)) bfd_section_already_linked (abfd, sec, &link_info); }