diff options
author | Leonard Chan <leonardchan@google.com> | 2022-12-07 23:09:53 +0000 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2022-12-07 23:09:53 +0000 |
commit | bcc4470bade15dbafa879973828a03c7e5194399 (patch) | |
tree | 110dd4c31ff0bfc54aab26d671538bf9744a6170 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | f6e3a89cc0b3b31de30ce68a4fcae44aa15daaa2 (diff) | |
download | llvm-bcc4470bade15dbafa879973828a03c7e5194399.zip llvm-bcc4470bade15dbafa879973828a03c7e5194399.tar.gz llvm-bcc4470bade15dbafa879973828a03c7e5194399.tar.bz2 |
[compiler-rt][hwasan] Let CheckAddressSized eventually call HandleTagMismatch on Fuchsia
Any hwasan tag checking done through runtime calls like __hwasan_mem* or
__hwasan_load/store* currently raise a sigtrap on a tag mismatch. Hwasan
dumps as much information it knows on the tag mismatch by placing
important values in specific registers before the brk and encoding the
access information in the optional argument supplied to the brk. If the
platform hwasan runs on uses signal handlers, then users can see the
typical pretty hwasan error report, but Fuchsia doesn't use signal
handlers, so it's left up to the platform exception handler to print all
this encoded information.
This patch attempts to enter the regular error reporting path via
HandleTagMismatch if a new macro CAN_GET_REGISTERS is set. For now this
is only defined for Fuchsia + aarch64, but can be expanded for other
platforms.
Differential Revision: https://reviews.llvm.org/D139377
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions