[compiler-rt] [sanitizer] Add cloak_sanitizer_signal_handlers runtime option (PR #162746)
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 10 17:13:03 PDT 2025
================
@@ -24,6 +24,9 @@ namespace __sanitizer {
const char *SanitizerToolName = "SanitizerTool";
+const int MaxSignals = 64;
+bool signal_handler_is_from_sanitizer[MaxSignals] = {0};
----------------
vitalybuka wrote:
you still need "Is" but you can set atomically
```
if (act) {
if (ret == 0 && SetSignalHandlerFromSanitizer(signum, false)) {
// If the user sets a signal handler, it is never cloaked, even if they
// reuse a sanitizer's signal handler.
SetSignalHandlerFromSanitizer(signum, false);
...
}
} else if (ret == 0 && IsSignalHandlerFromSanitizer) {
...
}
```
Note: check local ret before more expensive SetSignalHandlerFromSanitizer
https://github.com/llvm/llvm-project/pull/162746
More information about the llvm-commits
mailing list