gnu: gcc-vc4: Update to commit 0fe4b83897341742f9df65797474cb0feab4b377.
authorDanny Milosavljevic <dannym@scratchpost.org>
Mon, 16 Nov 2020 13:54:04 +0000 (14:54 +0100)
committerDanny Milosavljevic <dannym@scratchpost.org>
Mon, 16 Nov 2020 14:02:48 +0000 (15:02 +0100)
* 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.

gnu/local.mk
gnu/packages/embedded.scm
gnu/packages/patches/gcc-6-fix-buffer-size.patch [new file with mode: 0644]
gnu/packages/patches/gcc-6-fix-isl-includes.patch [new file with mode: 0644]

index bc60307..d2c3a47 100644 (file)
@@ -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                        \
index 3a64c75..89d4aaf 100644 (file)
@@ -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 (file)
index 0000000..5fcd769
--- /dev/null
@@ -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 (file)
index 0000000..ab3c563
--- /dev/null
@@ -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;