#! /bin/sh -e # DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc) dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0 #cd ${dir}gcc && autoconf ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 #rm ${dir}gcc/configure ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 2006-07-11 Jakub Jelinek <jakub@redhat.com> * 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. --- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200 +++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200 @@ -39,7 +39,7 @@ #define ELF_DYNAMIC_LINKER LINUX_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: \ --- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200 +++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200 @@ -77,7 +77,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} \ --- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200 +++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200 @@ -132,7 +132,7 @@ #undef LINK_SPEC -#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ +#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ %{!mno-relax:%{!r:-relax}} \ %{!shared: \ %{!ibcs: \ --- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200 +++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200 @@ -166,7 +166,7 @@ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ { "link_arch", LINK_ARCH_SPEC }, -#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \ +#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ @@ -175,7 +175,7 @@ %{static:-static}}} \ " -#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ +#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ @@ -256,7 +256,7 @@ #else /* !SPARC_BI_ARCH */ #undef LINK_SPEC -#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ +#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ --- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200 +++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200 @@ -108,7 +108,7 @@ { "dynamic_linker", LINUX_DYNAMIC_LINKER } #undef LINK_SPEC -#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ +#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ %{!shared: \ %{!ibcs: \ %{!static: \ --- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200 +++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200 @@ -65,7 +65,7 @@ #endif #undef LINK_SPEC -#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ +#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ %{shared:-shared} \ %{!shared: \ %{!static: \ --- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100 +++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200 @@ -40,7 +40,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: \ --- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200 +++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200 @@ -901,7 +901,7 @@ #define LINUX_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:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" --- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200 +++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200 @@ -354,11 +354,11 @@ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ +#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}" -#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ +#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"