20 lines
1000 B
Diff
20 lines
1000 B
Diff
|
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;
|