[llvm-commits] [compiler-rt] r154803 - /compiler-rt/trunk/lib/asan/asan_interceptors.cc
Alexander Potapenko
glider at google.com
Mon Apr 16 01:33:01 PDT 2012
Author: glider
Date: Mon Apr 16 03:33:01 2012
New Revision: 154803
URL: http://llvm.org/viewvc/llvm-project?rev=154803&view=rev
Log:
Partially revert r154390 (http://llvm.org/viewvc/llvm-project?view=rev&revision=154390)
Until we work out the solution for http://code.google.com/p/address-sanitizer/issues/detail?id=65 we'd better not allow
the clients to override AddressSanitizer's signal handler.
The second part of r154390 (removing the sighandler-related tests) is not reverted, because those tests were broken
and didn't test anything.
Modified:
compiler-rt/trunk/lib/asan/asan_interceptors.cc
Modified: compiler-rt/trunk/lib/asan/asan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=154803&r1=154802&r2=154803&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_interceptors.cc Mon Apr 16 03:33:01 2012
@@ -339,21 +339,19 @@
#endif // !_WIN32
#if ASAN_INTERCEPT_SIGNAL_AND_SIGACTION
-const char kOverrideSighandlerWarning[] =
- "Warning: client program overrides the handler for signal %d.\n";
INTERCEPTOR(void*, signal, int signum, void *handler) {
- if (AsanInterceptsSignal(signum)) {
- Report(kOverrideSighandlerWarning, signum);
+ if (!AsanInterceptsSignal(signum)) {
+ return REAL(signal)(signum, handler);
}
- return REAL(signal)(signum, handler);
+ return NULL;
}
INTERCEPTOR(int, sigaction, int signum, const struct sigaction *act,
struct sigaction *oldact) {
- if (AsanInterceptsSignal(signum)) {
- Report(kOverrideSighandlerWarning, signum);
+ if (!AsanInterceptsSignal(signum)) {
+ return REAL(sigaction)(signum, act, oldact);
}
- return REAL(sigaction)(signum, act, oldact);
+ return 0;
}
#elif ASAN_POSIX
// We need to have defined REAL(sigaction) on posix systems.
More information about the llvm-commits
mailing list