|
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1 |
|
| #
1b601938 |
| 21-Sep-2024 |
Chris Apple <cja-private@pm.me> |
[rtsan][compiler-rt] Introduce __rtsan_notify_blocking_call (#109529)
# Why?
In llvm, we need to add a call to `__rtsan_notify_blocking_call()` when
a function is marked `[[clang::blocking]]`. T
[rtsan][compiler-rt] Introduce __rtsan_notify_blocking_call (#109529)
# Why?
In llvm, we need to add a call to `__rtsan_notify_blocking_call()` when
a function is marked `[[clang::blocking]]`. This will produce a
different error message than a call to an unsafe malloc etc
show more ...
|
| #
0a84f122 |
| 21-Sep-2024 |
Chris Apple <cja-private@pm.me> |
[rtsan][NFC] Rename _expect_not_realtime function (#109487)
|
|
Revision tags: llvmorg-19.1.0 |
|
| #
5d146c68 |
| 06-Sep-2024 |
Chris Apple <cja-private@pm.me> |
[compiler-rt][rtsan] Introduce rtsan_interface.h and ScopedDisabler (#106736)
|
|
Revision tags: llvmorg-19.1.0-rc4 |
|
| #
a919588d |
| 30-Aug-2024 |
Chris Apple <cja-private@pm.me> |
[compiler-rt][rtsan] NFC: Rename rtsan_on->rtsan_enable rtsan_off->rtsan_disable (#106727)
This better matches lsan_enable and disable, which we are trying to
emulate.
|
| #
fee48365 |
| 28-Aug-2024 |
Chris Apple <cja-private@pm.me> |
[compiler-rt][rtsan] NFC: Introduce __rtsan_expect_not_realtime helper (#106314)
We are extracting this function into the C API so we can eventually
install it when a user marks a function [[clang:
[compiler-rt][rtsan] NFC: Introduce __rtsan_expect_not_realtime helper (#106314)
We are extracting this function into the C API so we can eventually
install it when a user marks a function [[clang::blocking]].
show more ...
|
|
Revision tags: llvmorg-19.1.0-rc3 |
|
| #
0a2a319e |
| 11-Aug-2024 |
Chris Apple <cja-private@pm.me> |
[rtsan] Make sure rtsan gets initialized on mac (#100188)
Intermittently on my mac I was getting the same nullptr crash in dlsym.
We need to make sure rtsan gets initialized on mac between when t
[rtsan] Make sure rtsan gets initialized on mac (#100188)
Intermittently on my mac I was getting the same nullptr crash in dlsym.
We need to make sure rtsan gets initialized on mac between when the
binary starts running, and the first intercepted function is called.
Until that point we should use the DlsymAllocator.
show more ...
|
|
Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
| #
b177ac4a |
| 22-Jul-2024 |
davidtrevelyan <davidtrevelyan@users.noreply.github.com> |
[compiler-rt][rtsan] Use sanitizer internal allocator during rtsan init to avoid segfault in dlsym (#98679)
Follows https://github.com/llvm/llvm-project/pull/98268 with a fix for a
segfault during
[compiler-rt][rtsan] Use sanitizer internal allocator during rtsan init to avoid segfault in dlsym (#98679)
Follows https://github.com/llvm/llvm-project/pull/98268 with a fix for a
segfault during preinit on `ubuntu:20.04` environments. Previously,
`rtsan` was not handling the situation where `dlsym` calls `calloc`
during the interceptors initialization, resulting in a call to a
function at a null address.
@cjappl and I took inspiration from the solution in `nsan`, but we
re-used the sanitizer internal allocator instead of our own static
buffer. This PR also re-enables the existing non-instrumented `rtsan`
tests for `x86_64` and `arm64` architectures.
---------
Co-authored-by: Chris Apple <cja-private@pm.me>
show more ...
|
| #
1adb55b1 |
| 09-Jul-2024 |
Chris Apple <cja-private@pm.me> |
[compiler-rt] Realtime Sanitizer: Introduce Realtime Sanitizer (RTSan) backend (#92460)
Introducing the main runtime of realtime sanitizer. For more
information, please see the [discourse
thread](
[compiler-rt] Realtime Sanitizer: Introduce Realtime Sanitizer (RTSan) backend (#92460)
Introducing the main runtime of realtime sanitizer. For more
information, please see the [discourse
thread](https://discourse.llvm.org/t/rfc-nolock-and-noalloc-attributes/76837).
We have also put together a [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
to show what our intention is.
This review introduces the sanitizer backend. This includes:
* CMake build files (largely adapted from asan).
* Main RTSan architecture (the external API, thread local context,
stack).
* Interceptors.
* Many unit tests.
Please see the [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
for what our next steps are. We are moving in lockstep with this PR
#84983 for the codegen coming up next.
Note to reviewers: If you see support documentation mention "RADSan",
this was the "old acronym" for the realtime sanitizer, they refer to the
same thing. If you see it let us know and we can correct it (especially
in the llvm codebase)
---------
Co-authored-by: David Trevelyan <david.trevelyan@gmail.com>
show more ...
|