summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/embedded.scm9
-rw-r--r--gnu/packages/patches/gcc-6-fix-buffer-size.patch15
-rw-r--r--gnu/packages/patches/gcc-6-fix-isl-includes.patch16
3 files changed, 37 insertions, 3 deletions
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;