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