binutils-gdb/ld/testsuite/ld-ifunc
H.J. Lu 37a9e49a28 Properly handle common symbol and weak function
bfd/

	PR ld/14591
	* elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return
	if the old symbol is weak.

	* elf32-sh-symbian.c (sh_symbian_relocate_section): Update
	_bfd_elf_merge_symbol call.

	* elflink.c (_bfd_elf_merge_symbol): Add an argument to return
	if the old symbol is weak.
	(_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
	call.
	(elf_link_add_object_symbols): Don't update symbol type from a
	weak definition.  Update symbol type from a common symbol when
	overriding a weak symbol.

ld/testsuite/

	PR ld/14591
	* ld-elf/comm-data.exp (run_ld_link_tests): Add comm-data3a and
	comm-data3b tests.

	* ld-ifunc/ifunc.exp (run_ld_link_exec_tests): New.

	* ld-elf/comm-data3.sd: New file.
	* ld-elf/comm-data3a.s: Likewise.
	* ld-elf/comm-data3b.s: Likewise.
	* ld-ifunc/ifunc-17a-i386.d: Likewise.
	* ld-ifunc/ifunc-17a-x86-64.d: Likewise.
	* ld-ifunc/ifunc-17a.s: Likewise.
	* ld-ifunc/ifunc-17b-i386.d: Likewise.
	* ld-ifunc/ifunc-17b-x86-64.d: Likewise.
	* ld-ifunc/ifunc-17b.s: Likewise.
	* ld-ifunc/ifunc-common-1.out: Likewise.
	* ld-ifunc/ifunc-common-1a.c: Likewise.
	* ld-ifunc/ifunc-common-1b.c: Likewise.
2012-09-19 00:53:30 +00:00
..
binutils.exp bfd/ 2012-04-03 16:01:38 +00:00
ifunc-1-local-x86.d Adjust x86 IFUNC PLT. 2011-06-20 17:12:49 +00:00
ifunc-1-local-x86.s
ifunc-1-x86.d Adjust x86 IFUNC PLT. 2011-06-20 17:12:49 +00:00
ifunc-1-x86.s
ifunc-2-i386.d
ifunc-2-i386.s
ifunc-2-local-i386.d
ifunc-2-local-i386.s
ifunc-2-local-x86-64.d
ifunc-2-local-x86-64.s
ifunc-2-x86-64.d
ifunc-2-x86-64.s
ifunc-3-x86.s
ifunc-3a-x86.d Support x86_64-*-linux-gnux32 2012-05-04 20:01:03 +00:00
ifunc-3b-x86.d
ifunc-4-local-x86.d
ifunc-4-local-x86.s
ifunc-4-x86.d
ifunc-4-x86.s
ifunc-4a-x86.d
ifunc-5-i386.s
ifunc-5-local-i386.s
ifunc-5-local-x86-64.s
ifunc-5-x86-64.s
ifunc-5a-i386.d
ifunc-5a-local-i386.d
ifunc-5a-local-x86-64.d
ifunc-5a-x86-64.d
ifunc-5b-i386.d
ifunc-5b-local-i386.d
ifunc-5b-local-x86-64.d
ifunc-5b-x86-64.d
ifunc-5r-local-i386.d
ifunc-5r-local-x86-64.d
ifunc-6-i386.s
ifunc-6-x86-64.s
ifunc-6a-i386.d
ifunc-6a-x86-64.d
ifunc-6b-i386.d
ifunc-6b-x86-64.d
ifunc-7-i386.s
ifunc-7-x86-64.s
ifunc-7a-i386.d
ifunc-7a-x86-64.d
ifunc-7b-i386.d
ifunc-7b-x86-64.d
ifunc-8-i386.d
ifunc-8-x86-64.d
ifunc-8a-i386.s
ifunc-8a-x86-64.s
ifunc-8b-i386.s
ifunc-8b-x86-64.s
ifunc-9-x86.d
ifunc-9-x86.s
ifunc-10-i386.d
ifunc-10-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-10-x86-64.d
ifunc-10-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-11-i386.d
ifunc-11-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-11-x86-64.d
ifunc-11-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-i386.d Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-x86-64.d Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-12-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-13-i386.d Convert mov to lea in size_dynamic_sections 2012-08-31 20:41:41 +00:00
ifunc-13-x86-64.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-13a-i386.s * read.c (read_symbol_name): New function. Reads a symbol names. 2012-05-28 14:20:19 +00:00
ifunc-13a-x86-64.s Add missing "foo" after ".global" 2012-05-31 17:16:54 +00:00
ifunc-13b-i386.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-13b-x86-64.s Handle STT_GNU_IFUNC symols when building shared library. 2011-01-06 18:45:05 +00:00
ifunc-14-i386.d Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-14-x86-64.d Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-14a.s Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-14b.s Skip local IFUNC symbols when checking dynamic relocs in read-only sections. 2011-04-21 22:25:39 +00:00
ifunc-15-i386.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-15-i386.s * read.c (read_symbol_name): New function. Reads a symbol names. 2012-05-28 14:20:19 +00:00
ifunc-15-x86-64.d Use .got.plt for IFUNC symbols if there are no GOT relocations. 2011-09-12 18:17:36 +00:00
ifunc-15-x86-64.s Add missing "foo" after ".global" 2012-05-31 17:16:54 +00:00
ifunc-16-i386.d Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-16-x86-64.d Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-16-x86.s Put IRELATIVE relocations after JUMP_SLOT. 2011-10-21 15:13:37 +00:00
ifunc-17a-i386.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17a-x86-64.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17a.s Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b-i386.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b-x86-64.d Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-17b.s Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-common-1.out Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-common-1a.c Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc-common-1b.c Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
ifunc.exp Properly handle common symbol and weak function 2012-09-19 00:53:30 +00:00
lib.c
prog.c
test-1.c
test-2.c