aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtesting/gcc/build64
-rw-r--r--testing/gcc/checksums5
-rw-r--r--testing/gcc/depends4
-rwxr-xr-xtesting/gcc/files/c992
-rw-r--r--testing/gcc/sources5
-rw-r--r--testing/gcc/version1
6 files changed, 81 insertions, 0 deletions
diff --git a/testing/gcc/build b/testing/gcc/build
new file mode 100755
index 00000000..e8a8c315
--- /dev/null
+++ b/testing/gcc/build
@@ -0,0 +1,64 @@
+#!/bin/sh -e
+
+# Make sure gmp is built with generic options.
+cp gcc/gmp/configfsf.guess gcc/gmp/config.guess
+cp gcc/gmp/configfsf.sub gcc/gmp/config.sub
+
+# Use lib not lib64 by default.
+sed -i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64
+sed -i 's/lib64/lib/' gcc/gcc/config/i386/linux64.h
+
+# Build must happen outside of gcc source.
+mkdir -p gcc-build
+cd gcc-build
+
+export libat_cv_have_ifunc=no
+
+../gcc/configure \
+ --prefix=/usr \
+ --disable-multilib \
+ --disable-symvers \
+ --disable-libmpx \
+ --disable-libmudflap \
+ --disable-libsanitizer \
+ --disable-werror \
+ --disable-fixed-point \
+ --disable-libstdcxx-pch \
+ --disable-nls \
+ --without-included-gettext \
+ --enable-checking=release \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-system-zlib \
+ --enable-__cxa_atexit \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --enable-shared \
+ --enable-threads \
+ --enable-tls \
+ --enable-languages=c,c++ \
+ --build=x86_64-pc-linux-musl \
+ --disable-bootstrap
+
+make
+make DESTDIR="$1" install
+
+# Save 35MB.
+find "$1" -name libgtkpeer.a -delete
+find "$1" -name libgjsmalsa.a -delete
+find "$1" -name libgij.a -delete
+
+# Some legacy programs will expect cc
+ln -s gcc "$1/usr/bin/cc"
+
+# POSIX compliance.
+install -Dm755 ../c99 "$1/usr/bin/c99"
+
+# Symlink for LTO.
+{
+ mkdir -p "$1/usr/lib/bfd-plugins"
+
+ ln -s /usr/libexec/gcc/x86_64-pc-linux-musl/9.2.0/liblto_plugin.so \
+ "$1/usr/lib/bfd-plugins/liblto_plugin.so"
+}
+
diff --git a/testing/gcc/checksums b/testing/gcc/checksums
new file mode 100644
index 00000000..31e5fbd3
--- /dev/null
+++ b/testing/gcc/checksums
@@ -0,0 +1,5 @@
+b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2 gcc-10.1.0.tar.xz
+258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526 gmp-6.2.0.tar.xz
+1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a mpfr-4.0.2.tar.xz
+6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e mpc-1.1.0.tar.gz
+765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c c99
diff --git a/testing/gcc/depends b/testing/gcc/depends
new file mode 100644
index 00000000..ca8b7e57
--- /dev/null
+++ b/testing/gcc/depends
@@ -0,0 +1,4 @@
+binutils
+bison make
+flex make
+zlib
diff --git a/testing/gcc/files/c99 b/testing/gcc/files/c99
new file mode 100755
index 00000000..692f0924
--- /dev/null
+++ b/testing/gcc/files/c99
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec cc -std=c99 "$@"
diff --git a/testing/gcc/sources b/testing/gcc/sources
new file mode 100644
index 00000000..6eb83031
--- /dev/null
+++ b/testing/gcc/sources
@@ -0,0 +1,5 @@
+https://gcc.gnu.org/pub/gcc/releases/gcc-10.1.0/gcc-10.1.0.tar.xz gcc
+https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz gcc/gmp
+https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz gcc/mpfr
+https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz gcc/mpc
+files/c99
diff --git a/testing/gcc/version b/testing/gcc/version
new file mode 100644
index 00000000..3d0f48ce
--- /dev/null
+++ b/testing/gcc/version
@@ -0,0 +1 @@
+10.1.0 1