mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +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>
|
2010-04-06 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
|
* 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)
|
while (0)
|
||||||
|
|
||||||
/* Will a symbol be bound to the the definition within the shared
|
/* 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) \
|
#define SYMBOLIC_BIND(INFO, H) \
|
||||||
((INFO)->symbolic || ((INFO)->dynamic && !(H)->dynamic))
|
(!(H)->unique_global \
|
||||||
|
&& ((INFO)->symbolic || ((INFO)->dynamic && !(H)->dynamic)))
|
||||||
|
|
||||||
#endif /* _LIBELF_H_ */
|
#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>
|
2010-04-05 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
* emultempl/pep.em (U): Macro modified.
|
* 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 "protected3-l1om"
|
||||||
run_dump_test "tlsle1"
|
run_dump_test "tlsle1"
|
||||||
run_dump_test "tlspie1"
|
run_dump_test "tlspie1"
|
||||||
|
run_dump_test "unique1"
|
||||||
|
Reference in New Issue
Block a user