diff options
Diffstat (limited to 'testing')
| -rwxr-xr-x | testing/libgccjit/build | 72 | ||||
| -rw-r--r-- | testing/libgccjit/checksums | 2 | ||||
| -rw-r--r-- | testing/libgccjit/depends | 7 | ||||
| -rw-r--r-- | testing/libgccjit/patches/gccjit-musl-fix.patch | 63 | ||||
| -rw-r--r-- | testing/libgccjit/sources | 2 | ||||
| -rw-r--r-- | testing/libgccjit/version | 1 | 
6 files changed, 147 insertions, 0 deletions
| diff --git a/testing/libgccjit/build b/testing/libgccjit/build new file mode 100755 index 00000000..3d2dc7c1 --- /dev/null +++ b/testing/libgccjit/build @@ -0,0 +1,72 @@ +#!/bin/sh -e + +# TODO Cleanup non-libgccjit items. + +sys_arch=${3:-$(uname -m)} + +sed_i() { +    for file; do :; done +    sed "$@" > _ +    cat _ > "$file"; rm -f _ +} + +if [ "${sys_arch#i*86}" ]; then +    # Do not create lib64 directories +    sed_i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64 +    sed_i 's/lib64/lib/'       gcc/gcc/config/i386/linux64.h +fi + +# FIXME: there is an offset on the diff, causing 'busybox patch' to fail. +(cd gcc; patch -p1 < ../gccjit-musl-fix.patch) + +case "$sys_arch" in +    i*86)   archopts="--build=i686-pc-linux-musl" ;; +    x86_64) archopts="--build=x86_64-pc-linux-musl" +esac + +# Build must happen outside of gcc source. +mkdir -p gcc-build +cd gcc-build + +export libat_cv_have_ifunc=no + +../gcc/configure \ +    --prefix=/usr \ +    "$archopts" \ +    --disable-bootstrap \ +    --disable-fixed-point \ +    --disable-libada \ +    --disable-libquadmath \ +    --disable-libsanitizer \ +    --disable-libssp \ +    --disable-libvtv \ +    --disable-lto \ +    --disable-multilib \ +    --disable-nls \ +    --disable-symvers \ +    --disable-werror \ +    --enable-__cxa_atexit \ +    --enable-checking=release \ +    --enable-default-pie \ +    --enable-default-ssp \ +    --enable-host-shared \ +    --enable-languages=jit \ +    --enable-shared \ +    --enable-threads \ +    --enable-tls \ +    --infodir=/usr/share/info \ +    --mandir=/usr/share/man \ +    --with-system-zlib \ +    --without-included-gettext + +make +make DESTDIR="$1" -C gcc install + +# Remove unnecessary gcc files. +rm -rf "$1/usr/bin" \ +       "$1/usr/lib/gcc" \ +       "$1/usr/libexec" \ +       "$1/usr/share/man" + +# Remove info pages other than libgccjit +find "$1/usr/share/info" -type f ! -name libgccjit.info -exec rm -f {} + diff --git a/testing/libgccjit/checksums b/testing/libgccjit/checksums new file mode 100644 index 00000000..79088732 --- /dev/null +++ b/testing/libgccjit/checksums @@ -0,0 +1,2 @@ +b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c  gcc-10.2.0.tar.xz +0485655dbccf9034ba1d2cf5fb2e7bdbfe10aee32906c9488c0ec3da69dbb44f  gccjit-musl-fix.patch diff --git a/testing/libgccjit/depends b/testing/libgccjit/depends new file mode 100644 index 00000000..7674b4f1 --- /dev/null +++ b/testing/libgccjit/depends @@ -0,0 +1,7 @@ +binutils +byacc  make +flex   make +gmp +libmpc +mpfr +zlib diff --git a/testing/libgccjit/patches/gccjit-musl-fix.patch b/testing/libgccjit/patches/gccjit-musl-fix.patch new file mode 100644 index 00000000..d2ed1692 --- /dev/null +++ b/testing/libgccjit/patches/gccjit-musl-fix.patch @@ -0,0 +1,63 @@ +diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c +index 5bccf591a..35f5e35ef 100644 +--- a/gcc/jit/jit-playback.c ++++ b/gcc/jit/jit-playback.c +@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3.  If not see + <http://www.gnu.org/licenses/>.  */ +  ++#include <pthread.h> ++ + #include "config.h" + #include "system.h" + #include "coretypes.h" +@@ -41,8 +43,6 @@ along with GCC; see the file COPYING3.  If not see + #include "diagnostic.h" + #include "stmt.h" +  +-#include <pthread.h> +- + #include "jit-playback.h" + #include "jit-result.h" + #include "jit-builtins.h" +diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c +index a237d574f..5785e3269 100644 +--- a/gcc/jit/jit-recording.c ++++ b/gcc/jit/jit-recording.c +@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3.  If not see + <http://www.gnu.org/licenses/>.  */ +  ++#include <pthread.h> ++ + #include "config.h" + #include "system.h" + #include "coretypes.h" +@@ -25,8 +27,6 @@ along with GCC; see the file COPYING3.  If not see + #include "pretty-print.h" + #include "toplev.h" +  +-#include <pthread.h> +- + #include "jit-builtins.h" + #include "jit-recording.h" + #include "jit-playback.h" +diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c +index f9c33c63c..75f21d275 100644 +--- a/gcc/jit/libgccjit.c ++++ b/gcc/jit/libgccjit.c +@@ -18,13 +18,13 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3.  If not see + <http://www.gnu.org/licenses/>.  */ +  ++#include <pthread.h> + #include "config.h" + #include "system.h" + #include "coretypes.h" + #include "timevar.h" + #include "typed-splay-tree.h" + #include "cppbuiltin.h" +-#include <pthread.h> +  + #include "libgccjit.h" + #include "jit-recording.h" diff --git a/testing/libgccjit/sources b/testing/libgccjit/sources new file mode 100644 index 00000000..d39c5e72 --- /dev/null +++ b/testing/libgccjit/sources @@ -0,0 +1,2 @@ +https://gcc.gnu.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.xz gcc +patches/gccjit-musl-fix.patch diff --git a/testing/libgccjit/version b/testing/libgccjit/version new file mode 100644 index 00000000..1564eb7c --- /dev/null +++ b/testing/libgccjit/version @@ -0,0 +1 @@ +10.2.0 1 | 
