rts/RtsSymbols: Add AArch64 outline atomic operations
Fixes #22012 by adding the symbols described in https://github.com/llvm/llvm-project/blob/main/llvm/docs/Atomics.rst#libcalls-atomic. Ultimately this would be better addressed by #22011, but this is a first step in the right direction and fixes the immediate symptom. Note that we dropped the `__arch64_cas16` operations as these provided by all platforms's compilers. Also, we don't link directly against the libgcc/compiler-rt definitions but rather provide our own wrappers to work around broken toolchains (e.g. https://bugs.gentoo.org/868018). Generated via $5733.
Showing
- configure.ac 4 additions, 0 deletionsconfigure.ac
- m4/fp_armv8_outline_atomics.m4 30 additions, 0 deletionsm4/fp_armv8_outline_atomics.m4
- rts/ARMOutlineAtomicsSymbols.h 710 additions, 0 deletionsrts/ARMOutlineAtomicsSymbols.h
- rts/RtsSymbols.c 9 additions, 0 deletionsrts/RtsSymbols.c
- testsuite/tests/rts/T22012.hs 7 additions, 0 deletionstestsuite/tests/rts/T22012.hs
Loading
Please register or sign in to comment