guix/gnu/packages/patches/clang-runtime-esan-build-fixes.patch

20 lines
1,000 B
Diff
Raw Normal View History

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;