# DP: Link using --hash-style=both (alpha, amd64, armel, armhf, ia64, i386, powerpc, ppc64, s390, sparc) 2006-07-11 Jakub Jelinek * config/i386/linux.h (LINK_SPEC): Add --hash-style=both. * config/i386/linux64.h (LINK_SPEC): Likewise. * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Likewise. * config/s390/linux.h (LINK_SPEC): Likewise. * config/ia64/linux.h (LINK_SPEC): Likewise. * config/sparc/linux.h (LINK_SPEC): Likewise. * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Likewise. * config/alpha/linux-elf.h (LINK_SPEC): Likewise. 2009-12-21 Matthias Klose * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=both. 2012-11-17 Matthias Klose * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=both. --- gcc/config/alpha/linux-elf.h | 2 +- gcc/config/i386/linux.h | 2 +- gcc/config/i386/linux64.h | 2 +- gcc/config/ia64/linux.h | 2 +- gcc/config/rs6000/linux64.h | 4 ++-- gcc/config/rs6000/sysv4.h | 2 +- gcc/config/s390/linux.h | 2 +- gcc/config/sparc/linux.h | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) Index: b/src/gcc/config/alpha/linux-elf.h =================================================================== --- a/src/gcc/config/alpha/linux-elf.h +++ b/src/gcc/config/alpha/linux-elf.h @@ -37,7 +37,7 @@ #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER -#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ +#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ %{O*:-O3} %{!O*:-O1} \ %{shared:-shared} \ %{!shared: \ Index: b/src/gcc/config/ia64/linux.h =================================================================== --- a/src/gcc/config/ia64/linux.h +++ b/src/gcc/config/ia64/linux.h @@ -58,7 +58,7 @@ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" #undef LINK_SPEC -#define LINK_SPEC "\ +#define LINK_SPEC " --hash-style=both \ %{shared:-shared} \ %{!shared: \ %{!static: \ Index: b/src/gcc/config/rs6000/linux64.h =================================================================== --- a/src/gcc/config/rs6000/linux64.h +++ b/src/gcc/config/rs6000/linux64.h @@ -385,11 +385,11 @@ " -m elf64ppc") #endif -#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ +#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=both %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}" -#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \ +#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=both %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}" Index: b/src/gcc/config/rs6000/sysv4.h =================================================================== --- a/src/gcc/config/rs6000/sysv4.h +++ b/src/gcc/config/rs6000/sysv4.h @@ -788,7 +788,7 @@ #define GNU_USER_DYNAMIC_LINKER \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ +#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" Index: b/src/gcc/config/s390/linux.h =================================================================== --- a/src/gcc/config/s390/linux.h +++ b/src/gcc/config/s390/linux.h @@ -65,7 +65,7 @@ #undef LINK_SPEC #define LINK_SPEC \ - "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ + "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ %{shared:-shared} \ %{!shared: \ %{static:-static} \ Index: b/src/gcc/config/sparc/linux.h =================================================================== --- a/src/gcc/config/sparc/linux.h +++ b/src/gcc/config/sparc/linux.h @@ -86,7 +86,7 @@ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #undef LINK_SPEC -#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ +#define LINK_SPEC "-m elf32_sparc --hash-style=both %{shared:-shared} \ %{!mno-relax:%{!r:-relax}} \ %{!shared: \ %{!static: \ Index: b/src/gcc/config/arm/linux-elf.h =================================================================== --- a/src/gcc/config/arm/linux-elf.h +++ b/src/gcc/config/arm/linux-elf.h @@ -67,6 +67,7 @@ %{rdynamic:-export-dynamic} \ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ -X \ + --hash-style=both \ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ SUBTARGET_EXTRA_LINK_SPEC Index: b/src/gcc/config/i386/gnu-user.h =================================================================== --- a/src/gcc/config/i386/gnu-user.h +++ b/src/gcc/config/i386/gnu-user.h @@ -74,7 +74,7 @@ { "link_emulation", GNU_USER_LINK_EMULATION },\ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } -#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ +#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ %{!shared: \ %{!static: \ %{rdynamic:-export-dynamic} \ Index: b/src/gcc/config/i386/gnu-user64.h =================================================================== --- a/src/gcc/config/i386/gnu-user64.h +++ b/src/gcc/config/i386/gnu-user64.h @@ -56,6 +56,7 @@ "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \ %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ + --hash-style=both \ %{shared:-shared} \ %{!shared: \ %{!static: \ Index: b/src/gcc/config/aarch64/aarch64-linux.h =================================================================== --- a/src/gcc/config/aarch64/aarch64-linux.h +++ b/src/gcc/config/aarch64/aarch64-linux.h @@ -24,6 +24,7 @@ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" #define LINUX_TARGET_LINK_SPEC "%{h*} \ + --hash-style=both \ %{static:-Bstatic} \ %{shared:-shared} \ %{symbolic:-Bsymbolic} \