Allow note sections to be discarded when they are linked to another discarded secction.

PR 26681
bfd	* elflink.c (bfd_elf_gc_sections): Do not arbitrarily keep note
	sections which are linked to another section.

ld	* testsuite/ld-elf/pr26681.s: New test.
	* testsuite/ld-elf/pr26681.d: New test driver.
	* testsuite/ld-elf/pr26681.l: New test output.
This commit is contained in:
H.J. Lu
2020-10-02 11:08:19 +01:00
committed by Nick Clifton
parent 048fde1ef4
commit 7026832e52
6 changed files with 33 additions and 1 deletions

View File

@@ -1,3 +1,9 @@
2020-10-02 H.J. Lu <hongjiu.lu@intel.com>
PR 26681
* elflink.c (bfd_elf_gc_sections): Do not arbitrarily keep note
sections which are linked to another section.
2020-09-28 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
* cpu-arm.c: (processors) Add Cortex-X1.

View File

@@ -14102,7 +14102,8 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
|| (elf_section_data (o)->this_hdr.sh_type
== SHT_FINI_ARRAY)))
|| (elf_section_data (o)->this_hdr.sh_type == SHT_NOTE
&& elf_next_in_group (o) == NULL )))
&& elf_next_in_group (o) == NULL
&& elf_linked_to_section (o) == NULL)))
{
if (!_bfd_elf_gc_mark (info, o, gc_mark_hook))
return FALSE;

View File

@@ -1,3 +1,10 @@
2020-10-01 H.J. Lu <hongjiu.lu@intel.com>
PR 26681
* testsuite/ld-elf/pr26681.s: New test.
* testsuite/ld-elf/pr26681.d: New test driver.
* testsuite/ld-elf/pr26681.l: New test output.
2020-09-30 H.J. Lu <hongjiu.lu@intel.com>
PR ld/26675

View File

@@ -0,0 +1,3 @@
#ld: --gc-sections --print-gc-sections -e _start
#warning_output: pr26681.l
#target: [check_gc_sections_available]

View File

@@ -0,0 +1,5 @@
#...
.*: removing unused section '\.unused1' in file 'tmpdir/.*\.o'
#...
.*: removing unused section '\.gnu.note1' in file 'tmpdir/.*\.o'
#...

View File

@@ -0,0 +1,10 @@
.text
.globl _start
_start:
.nop
.section .unused1, "ax", %progbits
.nop
.section .gnu.note1, "o", %note, .unused1
.word 2