# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64,
# DP: i386, powerpc, ppc64, riscv64, s390, sparc)

2006-07-11  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu.
	* 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  <doko@ubuntu.com>

	* config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=gnu.

2012-11-17  Matthias Klose  <doko@ubuntu.com>

	* config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=gnu.

2018-03-02  Aurelien Jarno  <aurelien@aurel32.net>

	* config/riscv/linux.h (LINK_SPEC): Add --hash-style=gnu.

---
 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(-)

--- a/src/gcc/config/alpha/linux-elf.h
+++ b/src/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.
 
 #define ELF_DYNAMIC_LINKER	GNU_USER_DYNAMIC_LINKER
 
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}		\
+#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax}	\
   %{O*:-O3} %{!O*:-O1}						\
   %{shared:-shared}						\
   %{!shared:							\
--- a/src/gcc/config/ia64/linux.h
+++ b/src/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do {						\
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
 
 #undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --hash-style=gnu \
   %{shared:-shared} \
   %{!shared: \
     %{!static: \
--- a/src/gcc/config/rs6000/linux64.h
+++ b/src/gcc/config/rs6000/linux64.h
@@ -461,13 +461,13 @@ extern int dot_symbols;
 					   " -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=gnu %{!shared: %{!static: \
   %{!static-pie: \
     %{rdynamic:-export-dynamic} \
     -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
   %(link_os_extra_spec32)"
 
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \
   %{!static-pie: \
     %{rdynamic:-export-dynamic} \
     -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
--- a/src/gcc/config/rs6000/sysv4.h
+++ b/src/gcc/config/rs6000/sysv4.h
@@ -790,7 +790,7 @@ GNU_USER_TARGET_CC1_SPEC
 #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
 #endif
 
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
   -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
 
--- a/src/gcc/config/s390/linux.h
+++ b/src/gcc/config/s390/linux.h
@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3.
 
 #undef  LINK_SPEC
 #define LINK_SPEC \
-  "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+  "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \
    %{shared:-shared} \
    %{!shared: \
       %{static:-static} \
--- a/src/gcc/config/sparc/linux.h
+++ b/src/gcc/config/sparc/linux.h
@@ -87,7 +87,7 @@ extern const char *host_detect_local_cpu
 #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=gnu %{shared:-shared} \
   %{!mno-relax:%{!r:-relax}} \
   %{!shared: \
     %{!static: \
--- a/src/gcc/config/arm/linux-elf.h
+++ b/src/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
      %{rdynamic:-export-dynamic} \
      %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
    -X \
+   --hash-style=gnu \
    %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
    SUBTARGET_EXTRA_LINK_SPEC
 
--- a/src/gcc/config/i386/gnu-user.h
+++ b/src/gcc/config/i386/gnu-user.h
@@ -74,7 +74,7 @@ along with GCC; see the file COPYING3.
   { "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=gnu %{shared:-shared} \
   %{!shared: \
     %{!static: \
       %{!static-pie: \
--- a/src/gcc/config/i386/gnu-user64.h
+++ b/src/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTI
                   "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
                    %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
                    %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+  --hash-style=gnu \
   %{shared:-shared} \
   %{!shared: \
     %{!static: \
--- a/src/gcc/config/aarch64/aarch64-linux.h
+++ b/src/gcc/config/aarch64/aarch64-linux.h
@@ -35,6 +35,7 @@
 #define CPP_SPEC "%{pthread:-D_REENTRANT}"
 
 #define LINUX_TARGET_LINK_SPEC  "%{h*}		\
+   --hash-style=gnu				\
    %{static:-Bstatic}				\
    %{shared:-shared}				\
    %{symbolic:-Bsymbolic}			\
--- a/src/gcc/config/riscv/linux.h
+++ b/src/gcc/config/riscv/linux.h
@@ -58,6 +58,7 @@ along with GCC; see the file COPYING3.
   "%{mabi=ilp32:_ilp32}"
 
 #define LINK_SPEC "\
+-hash-style=gnu \
 -melf" XLEN_SPEC "lriscv" LD_EMUL_SUFFIX " \
 %{mno-relax:--no-relax} \
 %{shared} \
