~ruther/guix-local

a8fc8c9ef071ccacbc2cfdf42a855b8870b07614 — Ludovic Courtès 8 years ago c67d587
gnu: gcc: Fix libsanitizer cross-compilation to powerpc-linux-gnu.

* gnu/packages/patches/gcc-asan-powerpc-missing-include.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source](patches): Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
M gnu/local.mk => gnu/local.mk +1 -0
@@ 600,6 600,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/gawk-shell.patch				\
  %D%/packages/patches/gcc-arm-bug-71399.patch			\
  %D%/packages/patches/gcc-arm-link-spec-fix.patch		\
  %D%/packages/patches/gcc-asan-powerpc-missing-include.patch	\
  %D%/packages/patches/gcc-cross-environment-variables.patch	\
  %D%/packages/patches/gcc-libvtv-runpath.patch			\
  %D%/packages/patches/gcc-strmov-store-file-names.patch	\

M gnu/packages/gcc.scm => gnu/packages/gcc.scm +1 -0
@@ 382,6 382,7 @@ Go.  It also includes runtime support libraries for these languages.")
                "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0"))
              (patches (search-patches "gcc-arm-bug-71399.patch"
                                       "gcc-strmov-store-file-names.patch"
                                       "gcc-asan-powerpc-missing-include.patch"
                                       "gcc-5.0-libvtv-runpath.patch"
                                       "gcc-5-source-date-epoch-1.patch"
                                       "gcc-5-source-date-epoch-2.patch"))))))

A gnu/packages/patches/gcc-asan-powerpc-missing-include.patch => gnu/packages/patches/gcc-asan-powerpc-missing-include.patch +20 -0
@@ 0,0 1,20 @@
Add missing include that triggers a build failure on PowerPC:

  ../../../../gcc-5.4.0/libsanitizer/asan/asan_linux.cc: In function ‘bool __asan::AsanInterceptsSignal(int)’:
  ../../../../gcc-5.4.0/libsanitizer/asan/asan_linux.cc:222:20: error: ‘SIGSEGV’ was not declared in this scope
     return signum == SIGSEGV && common_flags()->handle_segv;
		      ^
From <https://patchwork.ozlabs.org/patch/725596/>.

diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc
index c504168..59087b9 100644
--- a/libsanitizer/asan/asan_linux.cc
+++ b/libsanitizer/asan/asan_linux.cc
@@ -29,6 +29,7 @@
 #include <dlfcn.h>
 #include <fcntl.h>
 #include <pthread.h>
+#include <signal.h>
 #include <stdio.h>
 #include <unistd.h>
 #include <unwind.h>