Ignore symbols defined in SHF_EXCLUDE sections

Alan Modra amodra@gmail.com
Wed Aug 31 09:56:00 GMT 2016


	PR 20513
	* ldlang.c (section_already_linked): Deal with SHF_EXCLUDE sections.

diff --git a/ld/ldlang.c b/ld/ldlang.c
index aee8720..07c2182 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);
 }

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list