diff options
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/embedded.scm | 9 | ||||
-rw-r--r-- | gnu/packages/patches/gcc-6-fix-buffer-size.patch | 15 | ||||
-rw-r--r-- | gnu/packages/patches/gcc-6-fix-isl-includes.patch | 16 |
4 files changed, 39 insertions, 3 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index bc60307094..d2c3a471e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1013,6 +1013,8 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch \ + %D%/packages/patches/gcc-6-fix-isl-includes.patch \ + %D%/packages/patches/gcc-6-fix-buffer-size.patch \ %D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 3a64c75109..89d4aaf97e 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1024,8 +1024,8 @@ the Raspberry Pi chip.") (home-page "https://github.com/puppeh/vc4-toolchain/")))) (define-public gcc-vc4 - (let ((commit "165f6d0e11d2e76ee799533bb45bd5c92bf60dc2") - (xgcc (cross-gcc "vc4-elf" #:xbinutils binutils-vc4))) + (let ((commit "0fe4b83897341742f9df65797474cb0feab4b377") + (xgcc (cross-gcc "vc4-elf" #:xgcc gcc-6 #:xbinutils binutils-vc4))) (package (inherit xgcc) (name "gcc-vc4") (source (origin @@ -1039,7 +1039,10 @@ the Raspberry Pi chip.") "-checkout")) (sha256 (base32 - "13h30qjcwnlz6lfma1d82nnvfmjnhh7abkagip4vly6vm5fpnvf2")))) + "0kvaq4s0assvinmmicwqp07d0wwldcw0fv6f4k13whp3q5909jnr")) + (patches + (search-patches "gcc-6-fix-buffer-size.patch" + "gcc-6-fix-isl-includes.patch")))) (native-inputs `(("flex" ,flex) ,@(package-native-inputs xgcc))) diff --git a/gnu/packages/patches/gcc-6-fix-buffer-size.patch b/gnu/packages/patches/gcc-6-fix-buffer-size.patch new file mode 100644 index 0000000000..5fcd769d45 --- /dev/null +++ b/gnu/packages/patches/gcc-6-fix-buffer-size.patch @@ -0,0 +1,15 @@ +Fixes a possible buffer overflow. (There are others) +Author: Danny Milosavljevic <dannym@scratchpost.org> +Date: 2020-11-16 + +--- a/gcc/gimplify.c.orig 2020-10-29 08:45:11.532479774 +0100 ++++ b/gcc/gimplify.c 2020-10-29 08:45:49.584637018 +0100 +@@ -5229,7 +5229,7 @@ + flexibility, split it into separate input and output + operands. */ + tree input; +- char buf[10]; ++ char buf[12]; + + /* Turn the in/out constraint into an output constraint. */ + char *p = xstrdup (constraint); diff --git a/gnu/packages/patches/gcc-6-fix-isl-includes.patch b/gnu/packages/patches/gcc-6-fix-isl-includes.patch new file mode 100644 index 0000000000..ab3c5634ea --- /dev/null +++ b/gnu/packages/patches/gcc-6-fix-isl-includes.patch @@ -0,0 +1,16 @@ +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 +Author: Rainer Jung +Date: 2018-07-29 + +isl 0.20 stopped including other unused header files in their header files. +Therefore,now it's necessary to include the stuff ourselves. +--- .../gcc/graphite.h 2018-01-03 11:03:58.000000000 +0000 ++++ .../gcc/graphite.h 2018-07-29 17:42:55.836121000 +0000 +@@ -37,6 +37,8 @@ + #include <isl/schedule.h> + #include <isl/ast_build.h> + #include <isl/schedule_node.h> ++#include <isl/id.h> ++#include <isl/space.h> + + typedef struct poly_dr *poly_dr_p; |