mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
Don't bind unique symbol locally.
bfd/ 2010-04-06 H.J. Lu <hongjiu.lu@intel.com> PR ld/11434 * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally. ld/testsuite/ 2010-04-06 H.J. Lu <hongjiu.lu@intel.com> PR ld/11434 * ld/testsuite/ld-x86-64/unique1.d: New. * ld/testsuite/ld-x86-64/unique1.s: Likewise. * ld-x86-64/x86-64.exp: Run unique1.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11434
|
||||
* elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
|
||||
|
||||
2010-04-06 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
|
||||
|
@ -2328,8 +2328,9 @@ extern asection _bfd_elf_large_com_section;
|
||||
while (0)
|
||||
|
||||
/* Will a symbol be bound to the the definition within the shared
|
||||
library, if any. */
|
||||
library, if any. A unique symbol can never be bound locally. */
|
||||
#define SYMBOLIC_BIND(INFO, H) \
|
||||
((INFO)->symbolic || ((INFO)->dynamic && !(H)->dynamic))
|
||||
(!(H)->unique_global \
|
||||
&& ((INFO)->symbolic || ((INFO)->dynamic && !(H)->dynamic)))
|
||||
|
||||
#endif /* _LIBELF_H_ */
|
||||
|
@ -1,3 +1,11 @@
|
||||
2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/11434
|
||||
* ld/testsuite/ld-x86-64/unique1.d: New.
|
||||
* ld/testsuite/ld-x86-64/unique1.s: Likewise.
|
||||
|
||||
* ld-x86-64/x86-64.exp: Run unique1.
|
||||
|
||||
2010-04-05 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* emultempl/pep.em (U): Macro modified.
|
||||
|
10
ld/testsuite/ld-x86-64/unique1.d
Normal file
10
ld/testsuite/ld-x86-64/unique1.d
Normal file
@ -0,0 +1,10 @@
|
||||
#name: STB_GNU_UNIQUE with -Bsymbolic
|
||||
#as: --64
|
||||
#ld: -melf_x86_64 -shared -Bsymbolic
|
||||
#readelf: -rs --wide
|
||||
|
||||
#...
|
||||
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ bar \+ 0
|
||||
#...
|
||||
+[0-9]+: +[0-9a-f]+ +8 +OBJECT +UNIQUE +DEFAULT +[0-9]+ bar
|
||||
#pass
|
9
ld/testsuite/ld-x86-64/unique1.s
Normal file
9
ld/testsuite/ld-x86-64/unique1.s
Normal file
@ -0,0 +1,9 @@
|
||||
.text
|
||||
foo:
|
||||
movq bar@GOTPCREL(%rip), %rbp
|
||||
.weak bar
|
||||
.data
|
||||
.type bar, @gnu_unique_object
|
||||
.size bar, 8
|
||||
bar:
|
||||
.quad 8
|
@ -97,3 +97,4 @@ run_dump_test "protected3"
|
||||
run_dump_test "protected3-l1om"
|
||||
run_dump_test "tlsle1"
|
||||
run_dump_test "tlspie1"
|
||||
run_dump_test "unique1"
|
||||
|
Reference in New Issue
Block a user