diff options
author | PiJoules <6019989+PiJoules@users.noreply.github.com> | 2024-04-09 15:39:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-09 15:39:05 -0700 |
commit | 4a04fca9e2f936264bccba58081893c6703de7ec (patch) | |
tree | 09bfd60b04f16dab52d63726a4178b59f69d328a /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | f04452de1986e4e01296a80231efb212d6c84c42 (diff) | |
download | llvm-4a04fca9e2f936264bccba58081893c6703de7ec.zip llvm-4a04fca9e2f936264bccba58081893c6703de7ec.tar.gz llvm-4a04fca9e2f936264bccba58081893c6703de7ec.tar.bz2 |
[compiler-rt][asan] Fix for flaky asan check (#88177)
This fixes https://github.com/llvm/llvm-project/issues/87324.
We haven't been able to come up with a minimal reproducer but we can
reliabely avoid this failure with the following fix. Prior to the
GetGlobalLowLevelAllocator change, the old LowLevelAllocator aquired a
lock associated with it preventing that specific allocator from being
accessed at the same time by many threads. With the
GetGlobalLowLevelAllocator change, I had accidentally replaced it but
not taken into account the lock, so we can have a data race if the
allocator is used at any point while a thread is being created. The
global allocator can be used for flag parsing or registering asan
globals.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions