diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2010-04-07 02:41:35 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2010-04-07 02:41:35 +0000 |
commit | 6f8bcf84a1bc7412dfee32328b370b6c4599a103 (patch) | |
tree | 2f6f57bd1c6c671fb3795ba2b021acd953d0181f /bfd | |
parent | db564246a859699f649d544e24a42053c1502bb7 (diff) | |
download | gdb-6f8bcf84a1bc7412dfee32328b370b6c4599a103.zip gdb-6f8bcf84a1bc7412dfee32328b370b6c4599a103.tar.gz gdb-6f8bcf84a1bc7412dfee32328b370b6c4599a103.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf-bfd.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d425d1..1d4fecb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 74348d3..05e17c8 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -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_ */ |