guix/gnu/packages/patches/clang-runtime-esan-build-fixes.patch
Ludovic Courtès 6b26f9152c
gnu: clang-runtime: Fix build issues against glibc 2.26.
* gnu/packages/patches/clang-runtime-asan-build-fixes.patch,
gnu/packages/patches/clang-runtime-esan-build-fixes.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/llvm.scm (clang-runtime-from-llvm): Add 'patches'
parameter and honor it.
(clang-runtime): Pass patch list.
(clang-runtime-3.9.1, clang-runtime-3.7, clang-runtime-3.6)
(clang-runtime-3.5): Likewise.
2018-01-18 00:09:11 +01:00

19 lines
1,000 B
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Fix esan compilation against glibc 2.26:
/tmp/guix-build-clang-runtime-3.9.1.drv-0/compiler-rt-3.9.1.src/lib/esan/esan_sideline_linux.cpp: In static member function static int __esan::SidelineThread::runSideline(void*):
/tmp/guix-build-clang-runtime-3.9.1.drv-0/compiler-rt-3.9.1.src/lib/esan/esan_sideline_linux.cpp:73:22: error: aggregate __esan::SidelineThread::runSideline(void*)::sigaltstack SigAltStack has incomplete type and cannot be defined
Patch from <https://github.com/google/sanitizers/issues/822>.
index d04f5909d..bc272dfe4 100644
--- a/lib/esan/esan_sideline_linux.cpp
+++ b/lib/esan/esan_sideline_linux.cpp
@@ -70,7 +70,7 @@ int SidelineThread::runSideline(void *Arg) {
// Set up a signal handler on an alternate stack for safety.
InternalScopedBuffer<char> StackMap(SigAltStackSize);
- struct sigaltstack SigAltStack;
+ stack_t SigAltStack;
SigAltStack.ss_sp = StackMap.data();
SigAltStack.ss_size = SigAltStackSize;
SigAltStack.ss_flags = 0;