old-cross-binutils/ld/testsuite/ld-elf
H.J. Lu 07492f668d Treat common symbol in executable as definition
Common symbol in executable is a definition, which overrides definition
from shared objects.  When linker sees a new definition from a shared
object, the new dynamic definition should be overridden by the previous
common symbol in executable.

bfd/

	PR ld/19579
	* elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
	executable as definition if the new definition comes from a
	shared library.

ld/

	PR ld/19579
	* testsuite/ld-elf/pr19579a.c: New file.
	* testsuite/ld-elf/pr19579b.c: Likewise.
	* testsuite/ld-elf/shared.exp: Run PR ld/19579 test.
2016-03-04 06:37:54 -08:00
..
attributes.d Add test to ensure that ternary linker script operators copy symbol flags. 2015-10-19 14:32:54 +01:00
attributes.ld Add test to ensure that ternary linker script operators copy symbol flags. 2015-10-19 14:32:54 +01:00
attributes.s Add test to ensure that ternary linker script operators copy symbol flags. 2015-10-19 14:32:54 +01:00
audit.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
audit.rd
begin.c
beginwarn.c
binutils.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
check-ptr-eq.c Check address of versined symbol 2015-07-27 10:11:33 -07:00
comm-data.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
compress1.s Copyright update for binutils 2016-01-01 23:00:01 +10:30
compress1a.d
compress1b.d
compress1c.d
compressed1a.d Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
compressed1b.d Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
compressed1c.d Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
compressed1d.d Fixes a typo in the list of targets that should not run the compressed1d test. 2015-06-05 16:48:01 +01:00
compressed1e.d Correct ld-elf/compressed1e.d to use notarget and for cris-elf, not cris-*. 2015-04-24 06:10:19 +02:00
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
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 Skip eh-frame-hdr test for arc-elf targets. 2016-02-17 10:20:53 +00:00
eh-frame-hdr.s
eh-group.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
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 Add Visium support to ld 2014-12-06 16:45:22 +01:00
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 Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
ehdr_start.d
ehdr_start.s
elf.exp Mark the linker's -Bsymbolic-functions test as an expected failure for MIPS targets. 2016-01-13 10:00:49 +00:00
empty.d
empty.s
empty2.d
empty2.s
end.c
endhidden.c
endprotected.c
endsym.d m68hc11/12 and xgate config.sub weirdness 2016-01-17 12:13:43 +10:30
endsym.s Don't PROVIDE over top of common symbols 2014-12-23 23:36:50 +10:30
exclude.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
exclude1.s
exclude2.s Don't re-export common symbols 2015-10-05 14:45:17 -07:00
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
export-class.sd
export-class.vd
expr1.d
expr1.s
expr1.t
fini.c
fini.out
fini0.s
fini1.s
fini2.s
fini3.s
finin.s
flags1.d Add Visium support to ld 2014-12-06 16:45:22 +01:00
flags1.ld
flags1.s
foo.c
foo.map
foo0.s
foo1.s
foo2.s
foo3.s
foon.s
frame.exp Copyright update for binutils 2016-01-01 23:00:01 +10:30
frame.s
func1.c
gabiend.rt ld: relax alignment requirements of compressed .debug_* section checks 2015-12-07 17:52:25 +01:00
gabinormal.rt ld: relax alignment requirements of compressed .debug_* section checks 2015-12-07 17:52:25 +01:00
gap.s Assign file position for .strtab only if needed 2014-12-30 19:09:11 -08:00
global1.d
gnubegin.rS Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] 2015-04-14 22:01:38 -07:00
gnunormal.rS Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] 2015-04-14 22:01:38 -07:00
group.ld
group1.d Strip undefined symbols from .symtab 2015-02-19 13:36:34 +10:30
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 Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
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 Properly set sh_info for .rela.plt/rel.plt section 2015-03-30 04:40:49 -07:00
linkinfo1b.d Properly set sh_info for .rela.plt/rel.plt section 2015-03-30 04:40:49 -07:00
linkonce1.d New ARC implementation. 2015-10-07 14:20:19 +01:00
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 [ARC] Local symbols relocation cleanup 2016-02-29 16:51:11 +01:00
merge.ld
merge.s
merge2.d [ARC] Local symbols relocation cleanup 2016-02-29 16:51:11 +01:00
merge2.s
merge3.d [ARC] Local symbols relocation cleanup 2016-02-29 16:51:11 +01:00
merge3.s Add aligned string merge test 2015-02-25 00:15:26 +10:30
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.d ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-5.l ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-6.d ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-6.l ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-7.d ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-7.map ld: Fix failures in new orphan handling tests. 2015-09-07 23:28:04 +01:00
orphan-8.d ld: Extend options for altering orphan handling behaviour. 2015-09-04 22:30:55 +01:00
orphan-8.map ld: Fix failures in new orphan handling tests. 2015-09-07 23:28:04 +01:00
orphan-region.d
orphan-region.ld
orphan-region.s
orphan.d
orphan.ld ld: Fix failures in new orphan handling tests. 2015-09-07 23:28:04 +01:00
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
pie.d Set DF_1_PIE in gld${EMULATION_NAME}_after_parse 2015-09-22 06:08:55 -07:00
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 m68hc11/12 and xgate config.sub weirdness 2016-01-17 12:13:43 +10:30
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 m68hc11/12 and xgate config.sub weirdness 2016-01-17 12:13:43 +10:30
pr14926.s
pr16322.d
pr16322.s ld: don't use ia64 register name in expression of pr16322 test 2015-01-28 10:04:51 +01:00
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 Fix pr17615 testcase 2015-01-20 11:12:35 +10:30
pr17615.s Add a testcase for PR ld/17615 2015-01-19 09:23:29 -08:00
pr18458a.c Convert PLT reloc only if pointer equality isn't needed 2015-05-27 14:32:24 -07:00
pr18458b.c Convert PLT reloc only if pointer equality isn't needed 2015-05-27 14:32:24 -07:00
pr18458c.c Convert PLT reloc only if pointer equality isn't needed 2015-05-27 14:32:24 -07:00
pr18718.c Use noclone attribute only for GCC 4.5 or newer 2015-07-29 11:20:04 -07:00
pr18720.out Properly merge hidden versioned symbol 2015-08-07 05:04:35 -07:00
pr18720a.c Properly merge hidden versioned symbol 2015-08-07 05:04:35 -07:00
pr18720b.c Properly merge hidden versioned symbol 2015-08-07 05:04:35 -07:00
pr18720c.c Properly merge hidden versioned symbol 2015-08-07 05:04:35 -07:00
pr18735.d Fix PR18735 test for RL78. 2016-01-19 09:57:03 +00:00
pr18735.s Don't change the default symbol for relocatable link 2015-07-30 03:28:00 -07:00
pr19005.d Adjust the output section size to skip gap fills 2015-09-29 06:33:24 -07:00
pr19005.s Adjust the output section size to skip gap fills 2015-09-29 06:33:24 -07:00
pr19005.t Adjust the output section size to skip gap fills 2015-09-29 06:33:24 -07:00
pr19073.map Skip the unversioned definition after the default version 2015-10-12 04:57:16 -07:00
pr19073.rd Skip the unversioned definition after the default version 2015-10-12 04:57:16 -07:00
pr19073.s Skip the unversioned definition after the default version 2015-10-12 04:57:16 -07:00
pr19162.d Skip ld-elf/pr19162.d for hppa-*-* 2016-03-02 19:07:01 -08:00
pr19162a.s Add a testcase for PR ld/19162 2016-02-29 10:37:59 -08:00
pr19162b.s Add a testcase for PR ld/19162 2016-02-29 10:37:59 -08:00
pr19539.d Skip pr19539 test for cris*-*-* targets 2016-02-20 14:45:25 -08:00
pr19539.s Check reloc against IFUNC symbol only with dynamic symbols 2016-01-30 16:08:20 -08:00
pr19539.t Check reloc against IFUNC symbol only with dynamic symbols 2016-01-30 16:08:20 -08:00
pr19553.map Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553a.c Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553b.c Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553b.out Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553c.c Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553c.out Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553d.c Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19553d.out Don't add DT_NEEDED for unmatched symbol 2016-02-01 15:49:52 -08:00
pr19579a.c Treat common symbol in executable as definition 2016-03-04 06:37:54 -08:00
pr19579b.c Treat common symbol in executable as definition 2016-03-04 06:37:54 -08:00
pr19617.s Always create dynamic sections for -E/--dynamic-list 2016-02-18 03:13:51 -08:00
pr19617a.d Enable PR ld/19617 tests only for Linux/GNU/Solaris 2016-02-18 07:48:57 -08:00
pr19617b.d Enable PR ld/19617 tests only for Linux/GNU/Solaris 2016-02-18 07:48:57 -08:00
pr19617c.d Enable PR ld/19617 tests only for Linux/GNU/Solaris 2016-02-18 07:48:57 -08:00
pr19698.d Update symbol version for symbol from linker script 2016-02-24 15:13:48 -08:00
pr19698.s Update symbol version for symbol from linker script 2016-02-24 15:13:48 -08:00
pr19698.t Update symbol version for symbol from linker script 2016-02-24 15:13:48 -08:00
pr19719a.c [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
pr19719b.c [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
pr19719c.c [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
pr19719d.c [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
preinit.c
preinit.out
provide-hidden-1.ld
provide-hidden-1.s
provide-hidden-2.ld Delay converting linker script defined symbols from absolute 2015-09-18 12:39:16 +09:30
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
sec-to-seg1.s
sec-to-seg2.s
sec64k.exp m68hc11/12 and xgate config.sub weirdness 2016-01-17 12:13:43 +10:30
seg.d
seg.s
seg.t
shared.exp Treat common symbol in executable as definition 2016-03-04 06:37:54 -08:00
simple.s
stab.d
stack-exec.rd
stack-size.rd
stack.s
start.s
strtab.d Run ld-elf/strtab only on linux/gnu targets 2015-06-25 10:14:13 -07:00
strtab.s Use strtab with GC and suffix merging for .strtab 2015-06-25 08:16:14 -07:00
symbol1ref.s
symbol1w.s
symbol2ref.s
symbol2w.s
symbol3.s
symbol3w.s
symbolic-func.r Fix broken -Bsymbolic-functions 2015-07-25 20:41:04 +09:30
symbolic-func.s Fix broken -Bsymbolic-functions 2015-07-25 20:41:04 +09:30
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 Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
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 Copyright update for binutils 2016-01-01 23:00:01 +10:30
wrap1.c
wrap1.out
wrap1a.c
wrap1b.c
zlibbegin.rS Replace -g with -ggdb3 in ld compress tests 2015-07-24 04:16:56 -07:00
zlibnormal.rS Replace -g with -ggdb3 in ld compress tests 2015-07-24 04:16:56 -07:00