Always keep SHT_NOTE sections
bfd/ 2010-01-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/11143 * elflink.c (elf_gc_sweep): Keep SHT_NOTE section. ld/testsuite/ 2010-01-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/11143 * ld-gc/gc.exp: Run abi-note. * ld-gc/abi-note.d: New. * ld-gc/abi-note.s: Likewise.
This commit is contained in:
parent
089b4803bf
commit
16583161e1
@ -1,3 +1,8 @@
|
||||
2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11143
|
||||
* elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
|
||||
|
||||
2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
|
||||
|
||||
* bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* ELF linking support for BFD.
|
||||
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2006, 2007, 2008, 2009
|
||||
2005, 2006, 2007, 2008, 2009, 2010
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -11527,9 +11527,10 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
|
||||
o->gc_mark = first->gc_mark;
|
||||
}
|
||||
else if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0
|
||||
|| (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0)
|
||||
|| (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0
|
||||
|| elf_section_data (o)->this_hdr.sh_type == SHT_NOTE)
|
||||
{
|
||||
/* Keep debug and special sections. */
|
||||
/* Keep debug, special and SHT_NOTE sections. */
|
||||
o->gc_mark = 1;
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11143
|
||||
* ld-gc/gc.exp: Run abi-note.
|
||||
|
||||
* ld-gc/abi-note.d: New.
|
||||
* ld-gc/abi-note.s: Likewise.
|
||||
|
||||
For older changes see ChangeLog-2009
|
||||
|
||||
|
8
ld/testsuite/ld-gc/abi-note.d
Normal file
8
ld/testsuite/ld-gc/abi-note.d
Normal file
@ -0,0 +1,8 @@
|
||||
#name: --gc-sections with note section
|
||||
#ld: --gc-sections -e _start
|
||||
#readelf: -S --wide
|
||||
#target: *-*-linux*
|
||||
|
||||
#...
|
||||
.* .note.ABI-tag[ ]+NOTE.*
|
||||
#...
|
15
ld/testsuite/ld-gc/abi-note.s
Normal file
15
ld/testsuite/ld-gc/abi-note.s
Normal file
@ -0,0 +1,15 @@
|
||||
.text
|
||||
.global _start
|
||||
_start:
|
||||
.long 1
|
||||
|
||||
.section ".note.ABI-tag", "a"
|
||||
.p2align 2
|
||||
.long 1f - 0f /* name length */
|
||||
.long 3f - 2f /* data length */
|
||||
.long 1 /* note type */
|
||||
0: .asciz "GNU" /* vendor name */
|
||||
1: .p2align 2
|
||||
2: .long 1
|
||||
.long 2
|
||||
3: .p2align 2 /* pad out section */
|
@ -1,5 +1,5 @@
|
||||
# Expect script for ld-gc tests
|
||||
# Copyright 2008, 2009
|
||||
# Copyright 2008, 2009, 2010
|
||||
# Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of the GNU Binutils.
|
||||
@ -90,3 +90,4 @@ test_gc "Check --gc-section/-r/-e" "gcrel" $ld "-r --gc-sections -e main"
|
||||
test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func"
|
||||
|
||||
run_dump_test "noent"
|
||||
run_dump_test "abi-note"
|
||||
|
Loading…
Reference in New Issue
Block a user