From ce5bcc52b22869ffdbf0e6893a1fc3d261a7d6a3 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Sun, 18 Mar 2018 16:06:13 +0000 Subject: [PATCH] add support for GCC 6.4.0 GCC 6.4.0 has one big advantage over 6.3.0: it is shipped as .tar.xz, shaving 30 MB from its download size, and also considerably speeding up the extraction process. All patches are symlinks to the GCC 6.3.0 ones, except 0004-posix_memalign.diff which was rebased to apply cleanly. 0014-ubsan-empty-string-fix.diff was removed, since it was upstreamed. --- hashes/gcc-6.4.0.tar.xz.sha1 | 1 + .../0001-linux_libc_has_function.diff | 1 + patches/gcc-6.4.0/0002-ssp_nonshared.diff | 1 + patches/gcc-6.4.0/0003-mips-unwind.diff | 1 + patches/gcc-6.4.0/0004-posix_memalign.diff | 30 +++++++++++++++++++ patches/gcc-6.4.0/0005-cilkrts.diff | 1 + .../gcc-6.4.0/0006-libatomic-test-fix.diff | 1 + patches/gcc-6.4.0/0007-libgomp-test-fix.diff | 1 + patches/gcc-6.4.0/0008-libitm-test-fix.diff | 1 + patches/gcc-6.4.0/0009-libvtv-test-fix.diff | 1 + .../gcc-6.4.0/0010-static-pie-support.diff | 1 + patches/gcc-6.4.0/0011-j2.diff | 1 + patches/gcc-6.4.0/0012-s390x-muslldso.diff | 1 + .../gcc-6.4.0/0013-microblaze-pr65649.diff | 1 + 14 files changed, 43 insertions(+) create mode 100644 hashes/gcc-6.4.0.tar.xz.sha1 create mode 120000 patches/gcc-6.4.0/0001-linux_libc_has_function.diff create mode 120000 patches/gcc-6.4.0/0002-ssp_nonshared.diff create mode 120000 patches/gcc-6.4.0/0003-mips-unwind.diff create mode 100644 patches/gcc-6.4.0/0004-posix_memalign.diff create mode 120000 patches/gcc-6.4.0/0005-cilkrts.diff create mode 120000 patches/gcc-6.4.0/0006-libatomic-test-fix.diff create mode 120000 patches/gcc-6.4.0/0007-libgomp-test-fix.diff create mode 120000 patches/gcc-6.4.0/0008-libitm-test-fix.diff create mode 120000 patches/gcc-6.4.0/0009-libvtv-test-fix.diff create mode 120000 patches/gcc-6.4.0/0010-static-pie-support.diff create mode 120000 patches/gcc-6.4.0/0011-j2.diff create mode 120000 patches/gcc-6.4.0/0012-s390x-muslldso.diff create mode 120000 patches/gcc-6.4.0/0013-microblaze-pr65649.diff diff --git a/hashes/gcc-6.4.0.tar.xz.sha1 b/hashes/gcc-6.4.0.tar.xz.sha1 new file mode 100644 index 0000000..b8af9dd --- /dev/null +++ b/hashes/gcc-6.4.0.tar.xz.sha1 @@ -0,0 +1 @@ +f237974b2d3af0f60936ce6a2f35b912a91e0239 gcc-6.4.0.tar.xz diff --git a/patches/gcc-6.4.0/0001-linux_libc_has_function.diff b/patches/gcc-6.4.0/0001-linux_libc_has_function.diff new file mode 120000 index 0000000..afe4c5f --- /dev/null +++ b/patches/gcc-6.4.0/0001-linux_libc_has_function.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0001-linux_libc_has_function.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0002-ssp_nonshared.diff b/patches/gcc-6.4.0/0002-ssp_nonshared.diff new file mode 120000 index 0000000..ea09efb --- /dev/null +++ b/patches/gcc-6.4.0/0002-ssp_nonshared.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0002-ssp_nonshared.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0003-mips-unwind.diff b/patches/gcc-6.4.0/0003-mips-unwind.diff new file mode 120000 index 0000000..8e5f941 --- /dev/null +++ b/patches/gcc-6.4.0/0003-mips-unwind.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0003-mips-unwind.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0004-posix_memalign.diff b/patches/gcc-6.4.0/0004-posix_memalign.diff new file mode 100644 index 0000000..16fefa3 --- /dev/null +++ b/patches/gcc-6.4.0/0004-posix_memalign.diff @@ -0,0 +1,30 @@ +diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h +index a9c2be4..2596a90 100644 +--- a/gcc/config/i386/pmm_malloc.h ++++ b/gcc/config/i386/pmm_malloc.h +@@ -27,12 +27,13 @@ + #include + + /* We can't depend on since the prototype of posix_memalign +- may not be visible. */ ++ may not be visible and we can't pollute the namespace either. */ + #ifndef __cplusplus +-extern int posix_memalign (void **, size_t, size_t); ++extern int _mm_posix_memalign (void **, size_t, size_t) + #else +-extern "C" int posix_memalign (void **, size_t, size_t) throw (); ++extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw () + #endif ++__asm__("posix_memalign"); + + static __inline void * + _mm_malloc (size_t __size, size_t __alignment) +@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment) + return malloc (__size); + if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4)) + __alignment = sizeof (void *); +- if (posix_memalign (&__ptr, __alignment, __size) == 0) ++ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0) + return __ptr; + else + return NULL; diff --git a/patches/gcc-6.4.0/0005-cilkrts.diff b/patches/gcc-6.4.0/0005-cilkrts.diff new file mode 120000 index 0000000..0b0e9a5 --- /dev/null +++ b/patches/gcc-6.4.0/0005-cilkrts.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0005-cilkrts.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0006-libatomic-test-fix.diff b/patches/gcc-6.4.0/0006-libatomic-test-fix.diff new file mode 120000 index 0000000..40de698 --- /dev/null +++ b/patches/gcc-6.4.0/0006-libatomic-test-fix.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0006-libatomic-test-fix.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0007-libgomp-test-fix.diff b/patches/gcc-6.4.0/0007-libgomp-test-fix.diff new file mode 120000 index 0000000..22f19bc --- /dev/null +++ b/patches/gcc-6.4.0/0007-libgomp-test-fix.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0007-libgomp-test-fix.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0008-libitm-test-fix.diff b/patches/gcc-6.4.0/0008-libitm-test-fix.diff new file mode 120000 index 0000000..2ead61a --- /dev/null +++ b/patches/gcc-6.4.0/0008-libitm-test-fix.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0008-libitm-test-fix.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0009-libvtv-test-fix.diff b/patches/gcc-6.4.0/0009-libvtv-test-fix.diff new file mode 120000 index 0000000..b33ead5 --- /dev/null +++ b/patches/gcc-6.4.0/0009-libvtv-test-fix.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0009-libvtv-test-fix.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0010-static-pie-support.diff b/patches/gcc-6.4.0/0010-static-pie-support.diff new file mode 120000 index 0000000..88e3978 --- /dev/null +++ b/patches/gcc-6.4.0/0010-static-pie-support.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0010-static-pie-support.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0011-j2.diff b/patches/gcc-6.4.0/0011-j2.diff new file mode 120000 index 0000000..2c39b0c --- /dev/null +++ b/patches/gcc-6.4.0/0011-j2.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0011-j2.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0012-s390x-muslldso.diff b/patches/gcc-6.4.0/0012-s390x-muslldso.diff new file mode 120000 index 0000000..3d8cd78 --- /dev/null +++ b/patches/gcc-6.4.0/0012-s390x-muslldso.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0012-s390x-muslldso.diff \ No newline at end of file diff --git a/patches/gcc-6.4.0/0013-microblaze-pr65649.diff b/patches/gcc-6.4.0/0013-microblaze-pr65649.diff new file mode 120000 index 0000000..2ac644c --- /dev/null +++ b/patches/gcc-6.4.0/0013-microblaze-pr65649.diff @@ -0,0 +1 @@ +../gcc-6.3.0/0013-microblaze-pr65649.diff \ No newline at end of file