diff options
author | Maciej W. Rozycki <macro@imgtec.com> | 2016-05-16 08:51:26 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@imgtec.com> | 2016-05-17 12:21:40 +0100 |
commit | a43942db49b07a457ee4f960d0f118b23641ec38 (patch) | |
tree | 8a3c5749955ec8b7fa004c78ed7758d3eb0fde7c /ld | |
parent | fcdad592cd1f76046c5e4b7a2b0337e146d1e796 (diff) | |
download | binutils-gdb-a43942db49b07a457ee4f960d0f118b23641ec38.tar.gz |
LD/ELF: Unify STB_GNU_UNIQUE handling
Take STB_GNU_UNIQUE handling scattered across targets and gather it in
the generic ELF linker. Update test suite infrastructure accordingly.
bfd/
* elf-s390-common.c (elf_s390_add_symbol_hook): Remove
STB_GNU_UNIQUE handling.
* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
* elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
* elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
(elf_backend_add_symbol_hook): Remove macro.
* elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
for STB_GNU_UNIQUE symbols.
binutils/
* testsuite/lib/binutils-common.exp (supports_gnu_unique): New
procedure.
* testsuite/binutils-all/objcopy.exp: Use `supports_gnu_unique'
with the `strip-10' test.
ld/
* testsuite/ld-unique/unique.exp: Use `is_elf_format' and
`supports_gnu_unique' to qualify testing.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-unique/unique.exp | 21 |
2 files changed, 12 insertions, 14 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 3f933e47ff0..783355c137a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2016-05-17 Maciej W. Rozycki <macro@imgtec.com> + + * testsuite/ld-unique/unique.exp: Use `is_elf_format' and + `supports_gnu_unique' to qualify testing. + 2016-05-16 Maciej W. Rozycki <macro@imgtec.com> * testsuite/ld-elf/flags1.d: Update the xfail list. diff --git a/ld/testsuite/ld-unique/unique.exp b/ld/testsuite/ld-unique/unique.exp index a34bc4c786c..ccddad69556 100644 --- a/ld/testsuite/ld-unique/unique.exp +++ b/ld/testsuite/ld-unique/unique.exp @@ -24,20 +24,13 @@ # Adapted for unique checking by Mark J. Wielaard <mjw@redhat.com> -# STB_GNU_UNIQUE support has only been implemented for the ix86, x86_64, -# arm, mips, powerpc, and sparc so far. -if {!(([istarget "i?86-*-*"] - || [istarget "x86_64-*-*"] - || [istarget "arm*-*-*"] - || [istarget "mips*-*-*"] - || [istarget "powerpc*-*-*"] - || [istarget "sparc*-*-*"]) - && ([istarget "*-*-elf*"] - || [istarget "*-*-nacl*"] - || (([istarget "*-*-linux*"] - || [istarget "*-*-gnu*"]) - && ![istarget "*-*-*aout*"] - && ![istarget "*-*-*oldld*"]))) } { +# Exclude non-ELF targets. +if { ![is_elf_format] } { + return +} + +# Require STB_GNU_UNIQUE support with OSABI set to GNU. +if { ![supports_gnu_unique] } { verbose "UNIQUE tests not run - target does not support UNIQUE" return } |