diff options
Diffstat (limited to 'abs/core-testing/gcc-libs')
| -rw-r--r-- | abs/core-testing/gcc-libs/PKGBUILD | 65 | ||||
| -rw-r--r-- | abs/core-testing/gcc-libs/gcc-hash-style-both.patch | 163 | ||||
| -rw-r--r-- | abs/core-testing/gcc-libs/gcc_pure64.patch | 26 | 
3 files changed, 254 insertions, 0 deletions
diff --git a/abs/core-testing/gcc-libs/PKGBUILD b/abs/core-testing/gcc-libs/PKGBUILD new file mode 100644 index 0000000..7bca5de --- /dev/null +++ b/abs/core-testing/gcc-libs/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 6599 2008-07-25 17:11:14Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +pkgname=gcc-libs +pkgver=4.3.1 +pkgrel=12 +_snapshot=4.3-20080724 +pkgdesc="Runtime libraries shipped by GCC for C and C++ languages" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +groups=('base') +url="http://gcc.gnu.org" +depends=('glibc>=2.8-2') +makedepends=('binutils>=2.18-8' 'gcc>=4.3.1' 'mpfr>=2.3.1' 'texinfo') +conflicts=('gcc-fortran' 'gcc-objc') +provides=("gcc-objc=${pkgver}") +options=('!libtool' '!emptydirs') +source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc}-${pkgver}.tar.bz2 +	ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc}-${_snapshot}.tar.bz2 +	gcc_pure64.patch +	gcc-hash-style-both.patch) +md5sums=('99ce6170e379779fe9c0971f9e27c704' +         'e39db43584ec603b314348405c753bd5' +         '76b9d6a71eb2cd778cd6ad3e9d576c64' +         '2b2456702ca6362b01583160e888be14' +         '4030ee1c08dd1e843c0225b772360e76' +         'bb420bc84b1104455b7230b1cd4b96c2') + +build() { +  if ! locale -a | grep ^de_DE; then +    echo "You need the de_DE locale to build gcc." +    return 1 +  fi +   +  #cd ${srcdir}/gcc-${pkgver} +  cd ${srcdir}/gcc-${_snapshot} +  # Don't install libiberty +  sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in + +  if [ "${CARCH}" = "x86_64" ]; then +    patch -Np1 -i ../gcc_pure64.patch || return 1 +  fi +  patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1 + +  # Don't run fixincludes +  sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + +  echo ${pkgver} > gcc/BASE-VER + +  mkdir build +  cd build +  ../configure --prefix=/usr --enable-shared \ +      --enable-languages=c,c++,fortran,objc,obj-c++,treelang --enable-threads=posix \ +      --enable-__cxa_atexit  --disable-multilib --libdir=/usr/lib \ +      --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \ +      --with-tune=generic +  make || return 1 +  make -j1 DESTDIR=${pkgdir} install-target-libstdc++-v3 install-target-libmudflap install-target-libgomp install-target-libssp install-target-libgfortran install-target-libobjc install-target-libgcc || return 1 + +  # Cleanup, libgomp installs the whole compiler it seems... +  rm -rf ${pkgdir}/usr/include +  rm -rf ${pkgdir}/usr/lib/gcc +  rm -rf ${pkgdir}/usr/bin +  rm -rf ${pkgdir}/usr{,share}/man +  find ${pkgdir} -name gcc.mo -delete +} diff --git a/abs/core-testing/gcc-libs/gcc-hash-style-both.patch b/abs/core-testing/gcc-libs/gcc-hash-style-both.patch new file mode 100644 index 0000000..8fea758 --- /dev/null +++ b/abs/core-testing/gcc-libs/gcc-hash-style-both.patch @@ -0,0 +1,163 @@ +#! /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,/usr/lib %{shared:-shared} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ +   %{!shared: \ +     %{!ibcs: \ +       %{!static: \ +@@ -175,7 +175,7 @@ +         %{static:-static}}} \ + " +  +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/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,/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/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 "}}}" +  diff --git a/abs/core-testing/gcc-libs/gcc_pure64.patch b/abs/core-testing/gcc-libs/gcc_pure64.patch new file mode 100644 index 0000000..8c0baf8 --- /dev/null +++ b/abs/core-testing/gcc-libs/gcc_pure64.patch @@ -0,0 +1,26 @@ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h +--- gcc-4.2.0.orig/gcc/config/i386/linux64.h	2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/linux64.h	2007-05-18 17:04:05.000000000 -0400 +@@ -49,8 +49,8 @@ +    When the -shared link option is used a final link is not being +    done.  */ +  +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" +  + #undef	LINK_SPEC + #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64 +--- gcc-4.2.0.orig/gcc/config/i386/t-linux64	2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/t-linux64	2007-05-18 17:04:36.000000000 -0400 +@@ -6,7 +6,7 @@ +  + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32  +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = ../lib ../lib32 +  + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib  | 
