forked from OSchip/llvm-project
067650fd12
As discussed in D118021 <https://reviews.llvm.org/D118021>, `clang -m32` on Solaris/sparcv9 currently incorrectly doesn't inline atomics on 8-byte operands, unlike `gcc`. With the workaround in that patch in place, we're left with may undefined references to `__sync_val_compare_and_swap_8`, which isn't provided by `libatomic`. This reference is due to the use of `__sync_val_compare_and_swap` in `sanitizer_atomic_clang.h`'s `atomic_compare_exchange_strong`. As is already done in `scudo/standalone/atomic_helpers.h`, using `__atomic_compare_exchange` instead avoids this problem. Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D118024 |
||
---|---|---|
.. | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
unittests | ||
utils | ||
www | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
README.txt |
README.txt
Compiler-RT ================================ This directory and its subdirectories contain source code for the compiler support routines. Compiler-RT is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. ================================