From eed7437a9290dbee98da9fee6e41eb44389e9177 Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Wed, 5 Sep 2018 22:46:19 +0000 Subject: [hwasan] Don't handle signals on Android. Sigtrap is used for error reporting, but all other signals are better left for the platform. In particular, sanitizer signal handlers do not dump registers or memory which makes debugging harder for no good reason. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@341500 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/hwasan/hwasan.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/hwasan/hwasan.cc b/lib/hwasan/hwasan.cc index ed9d3f72b..37be710b2 100644 --- a/lib/hwasan/hwasan.cc +++ b/lib/hwasan/hwasan.cc @@ -87,7 +87,18 @@ static void InitializeFlags() { cf.check_printf = false; cf.intercept_tls_get_addr = true; cf.exitcode = 99; + // Sigtrap is used in error reporting. cf.handle_sigtrap = kHandleSignalExclusive; + +#if SANITIZER_ANDROID + // Let platform handle other signals. It is better at reporting them then we + // are. + cf.handle_segv = kHandleSignalNo; + cf.handle_sigbus = kHandleSignalNo; + cf.handle_abort = kHandleSignalNo; + cf.handle_sigill = kHandleSignalNo; + cf.handle_sigfpe = kHandleSignalNo; +#endif OverrideCommonFlags(cf); } -- cgit v1.2.1