gnu: gcc@4.8: Fix libsanitizer cross-compilation.

This patch is modified from the original patch targeting gcc@5.

* gnu/packages/patches/gcc-asan-missing-include.patch: New file.
* gnu/packages/gcc.scm (gcc@4.8)[source](patches): Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
master
Ludovic Courtès 2017-06-08 00:26:10 +02:00 committed by Efraim Flashner
parent 7bbc708a4e
commit 8e7ec29df4
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
3 changed files with 22 additions and 0 deletions

View File

@ -647,6 +647,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-missing-include.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-fix-texi2pod.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \

View File

@ -363,6 +363,7 @@ Go. It also includes runtime support libraries for these languages.")
(base32
"08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2"))
(patches (search-patches "gcc-arm-link-spec-fix.patch"
"gcc-asan-missing-include.patch"
"gcc-fix-texi2pod.patch"))
(modules '((guix build utils)))
;; This is required for building with glibc-2.26.

View File

@ -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>