summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2016-01-04 20:10:00 -0500
committerChris Severance2016-01-04 20:10:00 -0500
commit55dabb5e9498f3fd45e14a52314577e0a6c80609 (patch)
tree4660e69f4357471ee9c02a0778d9efbff3357b26
downloadaur-55dabb5e9498f3fd45e14a52314577e0a6c80609.tar.gz
Initial Import
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD102
-rw-r--r--gcc-hash-style-both.patch163
-rw-r--r--gcc_pure64.patch26
4 files changed, 330 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..03d28771d6a4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,39 @@
+# Generated by mksrcinfo v8
+# Tue Jan 5 00:52:38 UTC 2016
+pkgbase = gcc45
+ pkgdesc = The GNU Compiler Collection (4.5.x)
+ pkgver = 4.5.4
+ pkgrel = 3
+ url = http://gcc.gnu.org
+ arch = i686
+ arch = x86_64
+ license = GPL
+ license = LGPL
+ license = custom
+ makedepends = flex
+ makedepends = bison
+ makedepends = setconf
+ makedepends = gcc49
+ depends = glibc
+ depends = binutils
+ depends = gmp
+ depends = mpfr
+ depends = libmpc
+ depends = ppl
+ depends = isl
+ depends = cloog
+ depends = elfutils
+ provides = gcc=4.5.4
+ conflicts = gcc45-multilib
+ options = !libtool
+ options = !buildflags
+ options = staticlibs
+ source = http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.5.4/gcc-4.5.4.tar.bz2
+ source = gcc-hash-style-both.patch
+ source = gcc_pure64.patch
+ sha256sums = eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc
+ sha256sums = a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5
+ sha256sums = 2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9
+
+pkgname = gcc45
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..48ddfbe47199
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
+# Contributor: Christian Babeux <christian.babeux@0x80.ca>
+# Contributor: Tianjiao Yin <ytj000(at)gmail(dot)(see)(oh)(em)>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+set -u
+pkgname='gcc45'
+pkgver='4.5.4'
+pkgrel='3'
+pkgdesc='The GNU Compiler Collection (4.5.x)'
+arch=('i686' 'x86_64')
+url='http://gcc.gnu.org'
+license=('GPL' 'LGPL' 'custom')
+depends=('glibc' 'binutils' 'gmp' 'mpfr' 'libmpc' 'ppl' 'isl' 'cloog' 'elfutils')
+makedepends=('flex' 'bison' 'setconf' 'gcc49') # gcc48 also works if you change -4.9 below
+provides=("gcc=${pkgver}")
+conflicts=('gcc45-multilib')
+options=('!libtool' '!buildflags' 'staticlibs')
+source=("http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2"
+ 'gcc-hash-style-both.patch'
+ 'gcc_pure64.patch')
+
+sha256sums=('eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc'
+ 'a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5'
+ '2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9')
+
+prepare() {
+ set -u
+ cd "gcc-${pkgver}"
+
+ # Do not install libiberty
+ sed -i -e 's:install_to_$(INSTALL_DEST) ::' 'libiberty/Makefile.in'
+
+ # Do not run fixincludes
+ sed -i -e 's:\./fixinc\.sh:-c true:' 'gcc/Makefile.in'
+
+ patch -Np0 -i "${srcdir}/gcc-hash-style-both.patch"
+
+ case "${CARCH}" in
+ 'x86_64') patch -Np1 -i "${srcdir}/gcc_pure64.patch"; false;;
+ esac
+
+ echo "${pkgver}" > 'gcc/BASE-VER'
+
+ setconf 'gcc/configure' 'BUILD_INFO' ''
+
+ rm -rf 'build'
+ mkdir 'build'
+ cd 'build'
+
+ ../configure \
+ --prefix='/usr' \
+ --mandir='/usr/share/man' \
+ --infodir='/usr/share/info' \
+ --libdir='/usr/lib' \
+ --libexecdir='/usr/lib' \
+ --program-suffix='-4.5' \
+ --enable-shared \
+ --enable-languages='c,c++,fortran,objc,obj-c++' \
+ --enable-__cxa_atexit \
+ --disable-libstdcxx-pch \
+ --disable-multilib \
+ --disable-libgomp \
+ --disable-libmudflap \
+ --disable-libssp \
+ --enable-clocale='gnu' \
+ --with-tune='generic' \
+ --with-cloog \
+ --with-ppl \
+ --with-system-zlib \
+ CXX='g++-4.9' CC='gcc-4.9'
+ set +u
+}
+
+build() {
+ set -u
+ cd "gcc-${pkgver}"
+ local _nproc="$(nproc)"; _nproc=$((_nproc>8?8:_nproc))
+ make -j "${_nproc}"
+ set +u
+}
+
+package() {
+ set -u
+ cd "gcc-${pkgver}/build"
+
+ make install DESTDIR="${pkgdir}"
+ rm -rf "${pkgdir}/usr/share/man/man7"
+ rm -rf "${pkgdir}/usr/share/locale"
+ mv "${pkgdir}"/usr/lib/lib* "${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/"
+
+ # Install Runtime Library Exception
+ install -Dpm644 '../COPYING.RUNTIME' \
+ "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION"
+
+ # Create links for gcc-4.5 build environment (useful for CUDA)
+ mkdir -p "${pkgdir}/opt/gcc-4.5"
+ ln -s '/usr/bin/gcc-4.5' "${pkgdir}/opt/gcc-4.5/gcc"
+ ln -s '/usr/bin/g++-4.5' "${pkgdir}/opt/gcc-4.5/g++"
+ set +u
+}
+set +u
diff --git a/gcc-hash-style-both.patch b/gcc-hash-style-both.patch
new file mode 100644
index 000000000000..fbb21059896b
--- /dev/null
+++ b/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,%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 "}}}"
+
diff --git a/gcc_pure64.patch b/gcc_pure64.patch
new file mode 100644
index 000000000000..8c0baf8e2c0e
--- /dev/null
+++ b/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