Skip to content
  • H.J. Lu's avatar
    Strip global symbol defined in discarded section · 97196564
    H.J. Lu authored
    When a global symbol is defined in COMDAT group, we shouldn't leave an
    undefined symbol in symbol table when the symbol section is discarded
    unless there is a reference to the symbol outside of COMDAT group.
    
    bfd/
    
    	PR ld/17550
    	* elf-bfd.h (elf_link_hash_entry): Update comments for indx,
    	documenting that indx == -3 if symbol is defined in a discarded
    	section.
    	* elflink.c (elf_link_add_object_symbols): Set indx to -3 if
    	symbol is defined in a discarded section.
    	(elf_link_output_extsym): Strip a global symbol defined in a
    	discarded section.
    
    ld/
    
    	PR ld/17550
    	* testsuite/ld-elf/pr17550-1.s: New file.
    	* testsuite/ld-elf/pr17550-2.s: Likewise.
    	* testsuite/ld-elf/pr17550-3.s: Likewise.
    	* testsuite/ld-elf/pr17550-4.s: Likewise.
    	* testsuite/ld-elf/pr17550a.d: Likewise.
    	* testsuite/ld-elf/pr17550b.d: Likewise.
    	* testsuite/ld-elf/pr17550c.d: Likewise.
    	* testsuite/ld-elf/pr17550d.d: Likewise.
    97196564