summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2020-11-16 14:54:04 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2020-11-16 15:02:48 +0100
commitf2c6375449d085393eb538240200840ff242a743 (patch)
tree97694ea5dfca9c4a6ee6126783ff914c44bd0fce
parent455daf46adadf47582f57ff2ec8898b927913793 (diff)
downloadguix-patches-f2c6375449d085393eb538240200840ff242a743.tar
guix-patches-f2c6375449d085393eb538240200840ff242a743.tar.gz
gnu: gcc-vc4: Update to commit 0fe4b83897341742f9df65797474cb0feab4b377.
* gnu/packages/patches/gcc-6-fix-buffer-size.patch: New file. * gnu/packages/patches/gcc-6-fix-isl-includes.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/embedded.scm (gcc-vc4): Update to commit 0fe4b83897341742f9df65797474cb0feab4b377. [source]: Add the patches from above.
-rw-r--r--gnu/local.mk2
-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
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;