binutils-gdb/ld/testsuite/ld-x86-64
H.J. Lu 46bed6796d ld: Support ELF GNU program properties
From .note.gnu.property section in each ELF input, we build a list of
GNU properties if .note.gnu.property section isn't corrupt.  The unknown
properties are ignored.  All property lists in relocatable inputs are
merged into an output property list.  When -z stack-size=N is used and
N isn't 0, the GNU_PROPERTY_STACK_SIZE property will be merged with or
added to the output property list.  .note.gnu.property section is
generated in output from the output property list.

bfd/

	* Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
	(BFD32_BACKENDS_CFILES): Add elf-properties.c.
	* configure.ac (elf): Add elf-properties.lo.
	* Makefile.in: Regenerated.
	* configure: Likewise.
	* elf-bfd.h (elf_property_kind): New.
	(elf_property): Likewise.
	(elf_property_list): Likewise.
	(elf_properties): Likewise.
	(_bfd_elf_parse_gnu_properties): Likewise.
	(_bfd_elf_get_property): Likewise.
	(_bfd_elf_link_setup_gnu_properties): Likewise.
	(elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
	and setup_gnu_properties.
	(elf_obj_tdata): Add properties.
	* elf-properties.c: New file.
	* elf32-i386.c (elf_i386_parse_gnu_properties): New.
	(elf_i386_merge_gnu_properties): Likewise.
	(elf_backend_parse_gnu_properties): Likewise.
	(elf_backend_merge_gnu_properties): Likewise.
	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
	(elf_x86_64_merge_gnu_properties): Likewise.
	(elf_backend_parse_gnu_properties): Likewise.
	(elf_backend_merge_gnu_properties): Likewise.
	* elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
	(elf_backend_parse_gnu_properties): Likewise.
	(elf_backend_setup_gnu_properties): Likewise.
	(elfNN_bed): Add elf_backend_parse_gnu_properties,
	elf_backend_merge_gnu_properties and
	elf_backend_setup_gnu_properties.

ld/

	* ld/NEWS: Mention support for ELF GNU program properties.
	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
	ELF setup_gnu_properties.
	* testsuite/ld-i386/i386.exp: Run property tests for Linux/i386.
	* testsuite/ld-i386/pass.c: New file.
	* testsuite/ld-i386/property-1.r: Likewise.
	* testsuite/ld-i386/property-2.r: Likewise.
	* testsuite/ld-i386/property-3.r: Likewise.
	* testsuite/ld-i386/property-4.r: Likewise.
	* testsuite/ld-i386/property-5.r: Likewise.
	* testsuite/ld-i386/property-6.r: Likewise.
	* testsuite/ld-i386/property-6a.c: Likewise.
	* testsuite/ld-i386/property-6b.c: Likewise.
	* testsuite/ld-i386/property-6c.S: Likewise.
	* testsuite/ld-i386/property-7.r: Likewise.
	* testsuite/ld-i386/property-no-copy.S: Likewise.
	* testsuite/ld-i386/property-stack.S: Likewise.
	* testsuite/ld-i386/property-unsorted-1.S: Likewise.
	* testsuite/ld-i386/property-unsorted-2.S: Likewise.
	* testsuite/ld-i386/property-x86-1.S: Likewise.
	* testsuite/ld-i386/property-x86-2.S: Likewise.
	* testsuite/ld-x86-64/pass.c: Likewise.
	* testsuite/ld-x86-64/property-1.r: Likewise.
	* testsuite/ld-x86-64/property-2.r: Likewise.
	* testsuite/ld-x86-64/property-3.r: Likewise.
	* testsuite/ld-x86-64/property-4.r: Likewise.
	* testsuite/ld-x86-64/property-5.r: Likewise.
	* testsuite/ld-x86-64/property-6.r: Likewise.
	* testsuite/ld-x86-64/property-6a.c: Likewise.
	* testsuite/ld-x86-64/property-6b.c: Likewise.
	* testsuite/ld-x86-64/property-6c.S: Likewise.
	* testsuite/ld-x86-64/property-7.r: Likewise.
	* testsuite/ld-x86-64/property-no-copy.S: Likewise.
	* testsuite/ld-x86-64/property-stack.S: Likewise.
	* testsuite/ld-x86-64/property-unsorted-1.S: Likewise.
	* testsuite/ld-x86-64/property-unsorted-2.S: Likewise.
	* testsuite/ld-x86-64/property-x86-1.S: Likewise.
	* testsuite/ld-x86-64/property-x86-2.S: Likewise.
	* testsuite/ld-x86-64/x86-64.exp: Run property tests for
	Linux/x86-64.
2017-04-03 08:08:27 -07:00
..
32bit.s
64bit.s
abs-k1om.d
abs-l1om.d
abs.d
bnd-branch-1.d
bnd-branch-1.s
bnd-ifunc-1.d
bnd-ifunc-1.s
bnd-ifunc-2.d
bnd-ifunc-2.s
bnd-plt-1.d
call1.s
call1a.d
call1b.d
call1c.d
call1d.d
call1e.d
call1f.d
call1g.d
call1h.d
call1i.d
compressed1.d
compressed1.s
copyreloc-lib.c
copyreloc-main1.rd
copyreloc-main2.rd
copyreloc-main.out
copyreloc-main.S
discarded1.d
discarded1.s
discarded1.t
dummy.s
dwarfreloc1.s
dwarfreloc2.s
dwarfreloc.exp Run more ld tests when not native 2017-01-02 23:48:08 +10:30
dwarfreloc.rd
export-class.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
foo.s
gotpcrel1.dd
gotpcrel1.out
gotpcrel1a.S
gotpcrel1b.c
gotpcrel1c.c
gotpcrel1d.S
gotplt1.d
gotplt1.s
hidden1.d
hidden1.s
hidden2.d
hidden2.s
hidden3.d
hidden3.s
hidden4.d
hidden4.s
hidden5.d
hidden5.s
ia32-1.d
ia32-2.d
ia32-3.d
ilp32-1.d
ilp32-2.d
ilp32-3.d
ilp32-4-nacl.d
ilp32-4.d
ilp32-4.s
ilp32-5.d
ilp32-5.s
ilp32-6.d
ilp32-6.s
ilp32-7.d
ilp32-7.s
ilp32-8.d
ilp32-8.s
ilp32-9.d
ilp32-9.s
ilp32-10.d
ilp32-10.s
ilp32-11.d
ilp32-11.s
incompatible.l
largecomm-1.s
largecomm-1a.d
largecomm-1b.d
largecomm-1c.d
largecomm-1d.d
largecomm-1e.d
largecomm-1f.d
lea1.s
lea1a.d
lea1b.d
lea1c.d
lea1d.d
lea1e.d
lea1f.d
lea1g.d
lea1h.d
lea1i.d
lea1j.d
lea1k.d
lea1l.d
libno-plt-1b.dd
libno-plt-1b.rd
line.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
load1.s
load1a-nacl.d
load1a.d
load1b-nacl.d
load1b.d
load1c-nacl.d
load1c.d
load1d-nacl.d
load1d.d
load2.d
load2.map
load2.s
lp64-1.d
lp64-2.d
lp64-3.d
mixed1a.s
mixed1b.s
mixed2a.s
mixed2b.s
mov1.s
mov1a.d
mov1b.d
mov1c.d
mov1d.d
mov2.s
mov2a.d
mov2b.d
mov2c.d
mov2d.d
mpx1.out
mpx1a.c
mpx1a.rd
mpx1b.c
mpx1c.c
mpx1c.rd
mpx2.out
mpx2a.c
mpx2a.rd
mpx2b.c
mpx2c.c
mpx2c.rd
mpx3.dd
mpx3a.s
mpx3b.s
mpx4.dd
mpx4a.s
mpx4b.s
mpx.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
no-plt-1a.dd
no-plt-1a.rd
no-plt-1b.dd
no-plt-1b.rd
no-plt-1c.dd
no-plt-1c.rd
no-plt-1d.dd
no-plt-1d.rd
no-plt-1e.dd
no-plt-1e.rd
no-plt-1f.dd
no-plt-1f.rd
no-plt-1g.dd
no-plt-1g.rd
no-plt-check1.S
no-plt-extern1.S
no-plt-func1.c
no-plt-main1.c
no-plt.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
nogot1.d
nogot1.s
nogot2.d
nogot2.s
pass.c ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
pass.out
pcrel8.d
pcrel16.d
pic1.d
pic1.s
pie1.d
pie1.s
pie2.d
pie2.s
plt-lib.c
plt-main1.c
plt-main1.rd
plt-main2.c
plt-main2.rd
plt-main3.c
plt-main3.rd
plt-main4.c
plt-main4.rd
plt-main5.c
plt-main-bnd.dd
plt-main.out
plt-main.rd
plt-nacl.pd
plt-pic.s
plt.pd
plt.s
pltgot-1.d
pltgot-1.s
pltgot-2.d
pltlib.s
pr12570a.d
pr12570a.s
pr12570b.d
pr12570b.s
pr12718.d
pr12718.s
pr12921.d
pr12921.s
pr13082-1.s
pr13082-1a.d
pr13082-1b.d
pr13082-2.s
pr13082-2a.d
pr13082-2b.d
pr13082-3.s
pr13082-3a.d
pr13082-3b.d
pr13082-3c.d
pr13082-3d.d
pr13082-4.s
pr13082-4a.d
pr13082-4b.d
pr13082-5.s
pr13082-5a.d
pr13082-5b.d
pr13082-6.s
pr13082-6a.d
pr13082-6b.d
pr13947.d
pr13947.s
pr14207.d
pr14207.s
pr14215.d
pr14215.s
pr17306a.s
pr17306b.s
pr17618.d
pr17618.s
pr17689.out
pr17689.rd
pr17689a.c
pr17689b.S
pr17689now.rd
pr17709-nacl.rd
pr17709.rd
pr17709a.s
pr17709b.s
pr17827.rd
pr17935-1.d
pr17935-1.s
pr17935-2.d
pr17935-2.s
pr18160.d
pr18160.s
pr18160.t
pr18176.d
pr18176.s
pr18176.t
pr18591.d
pr18591.s
pr18801.d
pr18801.s
pr18815.d
pr18815.s
pr18900.out
pr18900a.c
pr18900a.rd
pr18900b.c
pr18900b.rd
pr18900c.c
pr19013-nacl.d
pr19013-x32.d
pr19013.d
pr19013.s
pr19031.out
pr19031a.c
pr19031b.S
pr19031c.c
pr19162.d
pr19162a.s
pr19162b.s
pr19175.d
pr19175.s
pr19175.t
pr19319.dd
pr19319a.S
pr19319b.S
pr19539.s
pr19539.t Fix the linker so that it will not silently generate ELF binaries with invalid program headers. Fix readelf to report such invalid binaries. 2016-11-23 11:10:39 +00:00
pr19539a.d
pr19539b.d
pr19609-1.s
pr19609-1a.d
pr19609-1b.d
pr19609-1c.d
pr19609-1d.d
pr19609-1e.d
pr19609-1f.d
pr19609-1g.d
pr19609-1h.d
pr19609-1i.d
pr19609-1j.d
pr19609-1k.d
pr19609-1l.d
pr19609-1m.d
pr19609-2.s
pr19609-2a.d
pr19609-2b.d
pr19609-2c.d
pr19609-2d.d
pr19609-3.s
pr19609-3a.d
pr19609-3b.d
pr19609-4.s
pr19609-4a.d
pr19609-4b.d
pr19609-4c.d
pr19609-4d.d
pr19609-4e.d
pr19609-5.s
pr19609-5a.d
pr19609-5b.d
pr19609-5c.d
pr19609-5d.d
pr19609-5e.d
pr19609-6.s
pr19609-6a.d
pr19609-6b.d
pr19609-6c.d
pr19609-6d.d
pr19609-7.s
pr19609-7a.d
pr19609-7b.d
pr19609-7c.d
pr19609-7d.d
pr19615.d
pr19615.s
pr19636-1.s
pr19636-1a.d
pr19636-1b.d
pr19636-1c.d
pr19636-1d.d
pr19636-1e.d
pr19636-1f.d
pr19636-1g.d
pr19636-2.s
pr19636-2a.d
pr19636-2b.d
pr19636-2c.d
pr19636-2d-nacl.d
pr19636-2d.d
pr19636-2e.d
pr19636-2f.d
pr19636-2g.d
pr19636-2h.d
pr19636-2i.d
pr19636-3.s
pr19636-3a.d
pr19636-3b.d
pr19636-3c.d
pr19636-3d.d
pr19645.d
pr19645.s
pr19704.out
pr19704a.c
pr19704b.c
pr19719.d
pr19719.s
pr19784a.c
pr19784b.c
pr19784c.c
pr19807-1.s
pr19807-1a.d
pr19807-1b.d
pr19807-2.s
pr19807-2a.d
pr19807-2b.d
pr19807-2c.d
pr19807-2d.d
pr19807-2e.d
pr19827-nacl.rd
pr19827.rd
pr19827a.S
pr19827b.S
pr19939.s
pr19939a.d
pr19939b.d
pr19969.d
pr19969a.S
pr19969b.S
pr20093-1.d
pr20093-1.s
pr20093-2.d
pr20093-2.s
pr20253-1.s
pr20253-1a.d
pr20253-1b.d
pr20253-1c.d
pr20253-1d.d
pr20253-1e.d
pr20253-1f.d
pr20253-1g.d
pr20253-1h.d
pr20253-1i.d
pr20253-1j.d
pr20253-1k.d
pr20253-1l.d
pr20253-2a.c
pr20253-2b.S
pr20253-2c.S
pr20253-2d.S
pr20253-3.d
pr20253-3.s
pr20253-4.s
pr20253-4a.d
pr20253-4b.d
pr20253-4c.d
pr20253-4d.d
pr20253-4e.d
pr20253-4f.d
pr20253-5.s
pr20253-5a.d
pr20253-5b.d
pr20550a.s
pr20550b.s
pr20800a.S Also check GOT PLT for R_X86_64_PLTOFF64 2016-11-14 10:13:03 -08:00
pr20800b.S Also check GOT PLT for R_X86_64_PLTOFF64 2016-11-14 10:13:03 -08:00
pr20830.s i386/x86-64: Add unwind info for .plt.got section 2017-01-10 13:31:59 -08:00
pr20830a.d Align eh_frame FDEs according to their encoding 2017-03-05 14:49:54 +10:30
pr20830b.d i386/x32: Align .eh_frame section to 4 bytes 2017-01-10 14:21:21 -08:00
pr21038a.d Align eh_frame FDEs according to their encoding 2017-03-05 14:49:54 +10:30
pr21038a.s x86-64: Correct unwind info for the BND PLT 2017-01-11 09:17:05 -08:00
pr21038b.d Align eh_frame FDEs according to their encoding 2017-03-05 14:49:54 +10:30
pr21038b.s x86-64: Correct unwind info for the BND PLT 2017-01-11 09:17:05 -08:00
pr21038c.d Align eh_frame FDEs according to their encoding 2017-03-05 14:49:54 +10:30
pr21038c.s x86-64: Also generate unwind info for .plt.bnd 2017-01-12 10:32:17 -08:00
property-1.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-2.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-3.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-4.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-5.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-6.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-6a.c ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-6b.c ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-6c.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-7.r ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-no-copy.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-stack.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-unsorted-1.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-unsorted-2.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-x86-1.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
property-x86-2.S ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
protected1.d
protected1.s
protected2-k1om.d
protected2-l1om.d
protected2.d
protected2.s
protected3-k1om.d
protected3-l1om.d
protected3.d
protected3.s
protected4.d
protected4.s
protected5.d
protected5.s
protected6.s
protected6a.d
protected6b.d
protected7.s
protected7a.d
protected7b.d
simple.c
split-by-file1.s
split-by-file2.s
split-by-file-nacl.rd
split-by-file.rd
start.s
tls-def1.c
tls-gd1.S
tls-ld1.S
tls-main1.c
tls.exp Run more ld tests when not native 2017-01-02 23:48:08 +10:30
tlsbin2-nacl.rd
tlsbin2.dd
tlsbin2.rd
tlsbin2.sd
tlsbin2.td
tlsbin-nacl.rd
tlsbin.dd
tlsbin.rd
tlsbin.s
tlsbin.sd
tlsbin.td
tlsbindesc-nacl.rd
tlsbindesc.dd
tlsbindesc.rd
tlsbindesc.s
tlsbindesc.sd
tlsbindesc.td
tlsbinpic2.s
tlsbinpic.s
tlsdesc-nacl.pd
tlsdesc-nacl.rd
tlsdesc.dd
tlsdesc.pd
tlsdesc.rd
tlsdesc.s
tlsdesc.sd
tlsdesc.td
tlsg.s
tlsg.sd
tlsgd1.dd
tlsgd1.s
tlsgd2.d
tlsgd2.s
tlsgd3.d
tlsgd3.s
tlsgd4.dd
tlsgd4.s
tlsgd5.dd
tlsgd5a.s
tlsgd5b.s
tlsgd5c.s
tlsgd6.dd
tlsgd6a.s
tlsgd6b.s
tlsgd6c.s
tlsgd7.dd
tlsgd7.s
tlsgd8.dd
tlsgd8.s
tlsgd9.dd
tlsgd9.s
tlsgd10.dd
tlsgd10.s
tlsgd11.dd
tlsgd11.s
tlsgd12.d
tlsgd12.s
tlsgd13.d
tlsgd13.s
tlsgd14.dd
tlsgd14.s
tlsgdesc-nacl.rd
tlsgdesc.dd
tlsgdesc.rd
tlsgdesc.s
tlsie1.dd
tlsie1.s
tlsie2.d
tlsie2.s
tlsie3.d
tlsie3.s
tlsie4.dd
tlsie4.s
tlsld1.dd
tlsld1.s
tlsld2.dd
tlsld2.s
tlsld3.dd
tlsld3.s
tlsld4.dd
tlsld4.s
tlsld5.dd
tlsld5.s
tlsld6.dd
tlsld6.s
tlsle1.d
tlsle1.s
tlslib.s
tlspic1.s
tlspic2-nacl.rd
tlspic2.dd
tlspic2.rd
tlspic2.s
tlspic2.sd
tlspic2.td
tlspic3.s
tlspic-nacl.rd
tlspic.dd
tlspic.rd
tlspic.sd
tlspic.td
tlspie1.d
tlspie1.s
tlspie2.s
tlspie2a.d
tlspie2b.d
tlspie2c.d
undefined.s
unique1.d
unique1.s
x86-64-64-export-class.rd
x86-64-x32-export-class.rd
x86-64-x32.rd
x86-64.exp ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00