old-cross-binutils/ld/testsuite/ld-elf
H.J. Lu 8ded2ddc8b Convert PLT reloc only if pointer equality isn't needed
When pointer equality needed, we can't replace PLT relocations with
GOT relocations for -z now.  This patch checks if pointer equality is
needed before converting PLT relocations to GOT relocations.

bfd/

	PR binutils/18458
	* elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
	for now binding only if pointer equality isn't needed.
	(elf_i386_allocate_dynrelocs): Use .plt.got section for now
	binding only if pointer equality isn't needed.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
	section for now binding only if pointer equality isn't needed.
	(elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
	binding only if pointer equality isn't needed.

ld/testsuite/

	PR binutils/18458
	* ld-elf/shared.exp (build_tests): Build libpr18458a.so and
	libpr18458b.so.
	(run_tests): Run pr18458 test.
	* ld-elf/pr18458a.c: New file.
	* ld-elf/pr18458b.c: Likewise.
	* ld-elf/pr18458c.c: Likewise.
2015-05-27 14:32:24 -07:00
..
audit.exp
audit.rd
begin.c
beginwarn.c
binutils.exp
comm-data.exp
comm-data1.s
comm-data1.sd
comm-data2.ld
comm-data2.rd
comm-data2.s
comm-data2.sd
comm-data2.xd
comm-data2r.rd
comm-data2r.sd
comm-data2r.xd
comm-data3.sd
comm-data3a.s
comm-data3b.s
comm-data4.d
comm-data4.s
comm-data5.d
comm-data5.s
comm1.c
commonpage1.d
commonpage2.d
compress.exp
compress1.s
compress1a.d
compress1b.d
compress1c.d
compressed1a.d
compressed1b.d
compressed1c.d
compressed1d.d
compressed1e.d
data1.c
data1.h
data2.c
del.cc
depaudit.rd
depaudit2.rd
discard.ld
discard1.d
discard1.s
discard2.d
discard2.s
discard3.d
dl1.c
dl1.list
dl1.out
dl1main.c
dl2.c
dl2.list
dl2a.list
dl2a.out
dl2b.out
dl2main.c
dl2xxx.c
dl2xxx.list
dl3.cc
dl3.list
dl3a.out
dl3b.out
dl3header.h
dl3main.cc
dl4.c
dl4.list
dl4a.out
dl4b.out
dl4main.c
dl4xxx.c
dl4xxx.list
dl5.cc
dl5.out
dl6.c
dl6a.out
dl6amain.c
dl6b.out
dl6bmain.c
dl6cmain.c
dl6dmain.c
dummy.c
dwarf.exp
dwarf1.c
dwarf1.h
dwarf1.out
dwarf1main.c
dynamic-1.c
dynamic-1.rd
dynamic-1.syms
dynamic1.d
dynamic1.ld
dynamic1.s
dynbss1.c
dynsym1.d
eh-frame-hdr.d
eh-frame-hdr.s
eh-group.exp
eh-group1.s
eh-group2.s
eh1.d
eh1.s
eh1a.s
eh2.d
eh2a.s
eh3.d
eh3.s
eh3a.s
eh4.d
eh4.s
eh4a.s
eh5.d
eh5.s
eh5a.s
eh5b.s
eh6.d
eh6.s
ehdr_start-missing.d
ehdr_start-missing.t
ehdr_start-shared.d
ehdr_start-strongref.s
ehdr_start-userdef.d
ehdr_start-userdef.t
ehdr_start-weak.d
ehdr_start.d
ehdr_start.s
elf.exp
empty.d
empty.s
empty2.d
empty2.s
end.c
endhidden.c
endprotected.c
endsym.d
endsym.s
exclude.exp
exclude1.s
exclude2.s
exclude3.s
exclude3a.d
exclude3b.d
exclude3c.d
export-class-def.s
export-class-dep.s
export-class-lib.s
export-class-lib.ver
export-class-ref.s
export-class.exp
export-class.sd
export-class.vd
expr1.d
expr1.s
expr1.t
extract-symbol-1.ld
extract-symbol-1.s
extract-symbol-1sec.d
extract-symbol-1sym.d
fini.c
fini.out
fini0.s
fini1.s
fini2.s
fini3.s
finin.s
flags1.d
flags1.ld
flags1.s
foo.c
foo.map
foo0.s
foo1.s
foo2.s
foo3.s
foon.s
frame.exp
frame.s
func1.c
gabiend.rt
gabinormal.rt
gap.s
global1.d
gnubegin.rS
gnunormal.rS
group.ld
group1.d
group1a.s
group1b.s
group2.d
group3a.d
group3a.s
group3b.d
group3b.s
group4.d
group5.d
group6.d
group7.d
group8.s
group8a.d
group8b.d
group9.s
group9a.d
group9b.d
group10.d
group10.s
hash.d
header.d
header.s
header.t
hidden.out
indirect.exp
indirect1a.c
indirect1b.c
indirect1c.c
indirect2.c
indirect3.out
indirect3a.c
indirect3b.c
indirect3c.c
indirect4.out
indirect4a.c
indirect4b.c
indirect4c.c
init-fini-arrays.d
init-fini-arrays.s
init-mixed.c
init-mixed.out
init.c
init.out
init0.s
init1.s
init2.s
init3.s
initn.s
libbarw.rd
linkinfo1.s
linkinfo1a.d
linkinfo1b.d
linkonce1.d
linkonce1a.s
linkonce1b.s
linkonce2.d
linkoncerdiff.d
linkoncerdiff1.s
linkoncerdiff2.s
lma.lnk
lma.s
loadaddr.s
loadaddr.t
loadaddr1.d
loadaddr1.t
loadaddr2.d
loadaddr2.t
loadaddr3.t
loadaddr3a.d
loadaddr3b.d
local1.d
local1.map
local1.s
main.c
maxpage1.d
maxpage1.s
maxpage2.d
maxpage3.t
maxpage3a.d
maxpage3b.d
maxpage3c.d
maxpage4.d
maxpage4.t
maxpage5.d
maxpage5.s
maxpage5.t
merge.d
merge.ld
merge.s
merge2.d
merge2.s
merge3.d
merge3.s
multibss1.d
multibss1.s
needed1.out
needed1a.c
needed1b.c
needed1c.c
needed2.ver
needed2a.c
needed2b.c
needed2c.c
needed3.c
new.cc
nobits-1.d
nobits-1.s
nobits-1.t
noload-1.d
noload-1.s
noload-1.t
noload-2.d
noload-3.d
noload-3.s
noload-3.t
normal.out
note-1.d
note-1.s
note-1.t
note-2.d
note-2.s
note-2.t
note-3.l
note-3.s
note-3.t
now-1.d
now-2.d
now-3.d
now-4.d
orphan-5.l
orphan-region.d
orphan-region.ld
orphan-region.s
orphan.d
orphan.ld
orphan.s
orphan2.d
orphan2.s
orphan3.d
orphan3a.s
orphan3b.s
orphan3c.s
orphan3d.s
orphan3e.s
orphan3f.s
orphan4.d
orphan4.ld
orphan4.s
overlay.d
overlay.s
overlay.t
pass.out
pr349-1.s
pr349-2.s
pr349.d
pr2404.out
pr2404a.c
pr2404b.c
pr9676-1.c
pr9676-2.c
pr9676-3.c
pr9676-4.c
pr9676.rd
pr9679-1.c
pr9679-2.c
pr9679.rd
pr11138-1.c
pr11138-1.map
pr11138-2.c
pr11138-2.map
pr11138.out
pr11304.d
pr11304a.s
pr11304b.s
pr12851.d
pr12851.s
pr12975.d
pr12975.s
pr12975.t
pr13177.d
pr13177.s
pr13195.c
pr13195.d
pr13195.s
pr13195.t
pr13250-1.c
pr13250-2.c
pr13250-3.c
pr13839.d
pr13839.s
pr13839.t
pr14052.d
pr14052.t
pr14156a.d
pr14156b.d
pr14156c.d
pr14156c.t
pr14170a.s
pr14170b.s
pr14170c.s
pr14323-1.c
pr14323-2.c
pr14525.c
pr14525.out
pr14862-1.c
pr14862-2.c
pr14862.map
pr14862.out
pr14926.d
pr14926.s
pr16322.d
pr16322.s
pr16452.map
pr16452.od
pr16452a.c
pr16452b.c
pr16457.od
pr16496a.c
pr16496a.map
pr16496b.c
pr16496b.od
pr16498a.d
pr16498a.s
pr16498a.t
pr16498b.d
pr16498b.t
pr17068.s
pr17068a.s
pr17068b.s
pr17068c.s
pr17068d.s
pr17068e.s
pr17068ez.s
pr17615.d
pr17615.s
pr18458a.c
pr18458b.c
pr18458c.c
preinit.c
preinit.out
provide-hidden-1.ld
provide-hidden-1.s
provide-hidden-2.ld
provide-hidden-2.s
provide-hidden-3.s
provide-hidden-4.s
provide-hidden-abs.nd
provide-hidden-def.nd
provide-hidden-dyn.nd
provide-hidden-dynabs.nd
provide-hidden-dynsec.nd
provide-hidden-s.ld
provide-hidden-s.nd
provide-hidden-sec.nd
provide-hidden.exp
rdynamic-1.c
rdynamic-1.rd
rel.c
relmain.c
relmain.out
relocatable.d
relocatable.t
relro1.s
relro2.s
rpath-1.d
rpath-2.d
runpath-1.d
runpath-2.d
sec-to-seg-script-adjoining-pages.t
sec-to-seg-script-disjoint-pages.t
sec-to-seg-script-same-page.t
sec-to-seg.exp
sec-to-seg1.s
sec-to-seg2.s
sec64k.exp
seg.d
seg.s
seg.t
shared.exp
simple.s
stab.d
stack-exec.rd
stack-size.rd
stack.s
start.s
symbol1ref.s
symbol1w.s
symbol2ref.s
symbol2w.s
symbol3.s
symbol3w.s
table.s
tbss.s
tbss1.s
tbss2.s
tbss3.s
tdata1.s
tdata2.s
tdata3.s
textaddr1.d
textaddr2.d
textaddr3.d
textaddr4.d
textaddr5.d
textaddr6.d
textaddr7.d
tls_common.exp
tls_common.s
tls_gc.s
unknown.d
unknown2.d
unknown2.s
var1.d
var1.s
var1.t
warn.out
warn1.d
warn2.d
warn3.d
weak-dyn-1.ld
weak-dyn-1.rd
weak-dyn-1a.s
weak-dyn-1b.s
weakdef1.c
wrap.exp
wrap1.c
wrap1.out
wrap1a.c
wrap1b.c
zlibbegin.rS
zlibnormal.rS