diff --git a/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-003-sigaltstack.patch b/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-003-sigaltstack.patch new file mode 100644 index 00000000000..1be89c2ea2f --- /dev/null +++ b/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-003-sigaltstack.patch @@ -0,0 +1,46 @@ +--- compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2016-10-14 00:34:13.000000000 +0200 ++++ compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-08-13 14:11:31.999995107 +0200 +@@ -275,7 +275,7 @@ + + // Alternate stack for signal handling. + InternalScopedBuffer handler_stack_memory(kHandlerStackSize); +- struct sigaltstack handler_stack; ++ stack_t handler_stack; + internal_memset(&handler_stack, 0, sizeof(handler_stack)); + handler_stack.ss_sp = handler_stack_memory.data(); + handler_stack.ss_size = kHandlerStackSize; +--- compiler-rt/lib/sanitizer_common/sanitizer_linux.h 2016-10-06 11:58:11.000000000 +0200 ++++ compiler-rt/lib/sanitizer_common/sanitizer_linux.h 2017-08-13 14:12:42.510168195 +0200 +@@ -30,8 +30,7 @@ + + // Syscall wrappers. + uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); +-uptr internal_sigaltstack(const struct sigaltstack* ss, +- struct sigaltstack* oss); ++uptr internal_sigaltstack(const void* ss, void* oss); + uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, + __sanitizer_sigset_t *oldset); + +--- compiler-rt/lib/sanitizer_common/sanitizer_linux.cc 2017-01-06 21:57:47.000000000 +0100 ++++ compiler-rt/lib/sanitizer_common/sanitizer_linux.cc 2017-08-13 14:12:26.765130389 +0200 +@@ -607,8 +607,7 @@ + } + #endif + +-uptr internal_sigaltstack(const struct sigaltstack *ss, +- struct sigaltstack *oss) { ++uptr internal_sigaltstack(const void *ss, void *oss) { + return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); + } + +--- compiler-rt/lib/esan/esan_sideline_linux.cpp 2016-07-19 07:03:38.000000000 +0200 ++++ compiler-rt/lib/esan/esan_sideline_linux.cpp 2017-08-13 14:18:04.702933687 +0200 +@@ -70,7 +70,7 @@ + + // Set up a signal handler on an alternate stack for safety. + InternalScopedBuffer StackMap(SigAltStackSize); +- struct sigaltstack SigAltStack; ++ stack_t SigAltStack; + SigAltStack.ss_sp = StackMap.data(); + SigAltStack.ss_size = SigAltStackSize; + SigAltStack.ss_flags = 0; diff --git a/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-004-__res_state.patch b/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-004-__res_state.patch new file mode 100644 index 00000000000..afa9d77ae75 --- /dev/null +++ b/srcpkgs/llvm/files/patches/compiler-rt/compiler-rt-004-__res_state.patch @@ -0,0 +1,13 @@ +--- compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc ++++ compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc +@@ -287,7 +287,7 @@ void InitializePlatform() { + int ExtractResolvFDs(void *state, int *fds, int nfd) { + #if SANITIZER_LINUX && !SANITIZER_ANDROID + int cnt = 0; +- __res_state *statp = (__res_state*)state; ++ struct __res_state *statp = (struct __res_state*)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { + if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) + fds[cnt++] = statp->_u._ext.nssocks[i]; + +