llvm-project/compiler-rt/test
Reid Kleckner b5af5787b3 [WinASan] Improve exception reporting accuracy
Previously, ASan would produce reports like this:
ERROR: AddressSanitizer: breakpoint on unknown address 0x000000000000 (pc 0x7fffdd7c5e86 ...)

This is unhelpful, because the developer may think this is a null
pointer dereference, and not a breakpoint exception on some PC.

The cause was that SignalContext::GetAddress would read the
ExceptionInformation array to retreive an address for any kind of
exception. That data is only available for access violation exceptions.
This changes it to be conditional on the exception type, and to use the
PC otherwise.

I added a variety of tests for common exception types:
- int div zero
- breakpoint
- ud2a / illegal instruction
- SSE misalignment

I also tightened up IsMemoryAccess and GetWriteFlag to check the
ExceptionCode rather than looking at ExceptionInformation[1] directly.

Differential Revision: https://reviews.llvm.org/D92344
2020-11-30 16:39:22 -08:00
..
BlocksRuntime Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan [WinASan] Improve exception reporting accuracy 2020-11-30 16:39:22 -08:00
builtins Revert builtins fp16 support: tests do not pass on Mac 2020-11-25 16:12:49 -08:00
cfi [cfi][test] cross-dso/stats.cpp: don't assume the order of static constructors 2020-01-08 15:50:51 -08:00
crt These compiler-rt tests should be UNSUPPORTED instead of XFAIL. 2020-10-23 20:57:18 +04:00
dfsan [sanitizer] Disable ASLR for release_shadow_space 2020-10-29 16:09:03 -03:00
fuzzer [fuzzer] Disable uncaught-exception on non-Win+undo bad fix 2020-11-16 09:35:35 -08:00
gwp_asan [GWP-ASan] Split the unwinder into segv/non-segv. 2020-07-21 08:25:37 -07:00
hwasan [hwasan] Fix tests when vm.overcommit_memory=1. 2020-11-23 16:05:56 -08:00
interception [compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.* 2019-06-27 20:56:04 +00:00
lsan [sanitizer] Disable use_tls_dynamic on on-Android x86 Linux. 2020-11-30 11:45:36 -05:00
memprof [MemProf] Add interface to dump profile 2020-11-19 10:21:53 -08:00
msan [msan] unpoison_file from fclose and fflash 2020-11-20 13:09:01 -08:00
profile Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
safestack compiler-rt: Remove .cc from all lit config files 2019-08-05 19:25:35 +00:00
sanitizer_common [sanitizers][test] Test sanitizer_common and ubsan_minimal on Solaris 2020-11-20 14:06:25 +01:00
scudo [compiler-rt][scudo][LIT] Use target_suffix instead of target-arch 2020-05-20 03:34:50 +00:00
shadowcallstack compiler-rt: Remove .cc from all lit config files 2019-08-05 19:25:35 +00:00
tsan [tsan] Add pthread_cond_clockwait interceptor 2020-11-18 14:39:19 -08:00
ubsan [NFC][UBSAN] Replace "count 0" with FileCheck 2020-11-04 02:36:13 -08:00
ubsan_minimal [sanitizers][test] Test sanitizer_common and ubsan_minimal on Solaris 2020-11-20 14:06:25 +01:00
xray [xray] Option to omit the function index 2020-06-17 13:49:01 -04:00
.clang-format [compiler-rt] Use "ColumnLimit: 0" instead of "clang-format off" in tests 2018-12-01 01:24:29 +00:00
.clang-tidy [NFC][compiler-rt] Refine .clang-tidy checks 2020-09-05 15:42:15 -07:00
CMakeLists.txt [MemProf] Memory profiling runtime support 2020-10-16 09:47:02 -07:00
lit.common.cfg.py [tsan] Add pthread_cond_clockwait interceptor 2020-11-18 14:39:19 -08:00
lit.common.configured.in [sanitizer] Fix Android API level parsing on arm 2020-11-14 01:54:45 -08:00