diff options
Diffstat (limited to 'pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch')
-rw-r--r-- | pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch b/pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch deleted file mode 100644 index 13b67eb2a41c..000000000000 --- a/pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch +++ /dev/null @@ -1,65 +0,0 @@ -From a56bb19a9dc303a50ef12d83cd24c2395bf81076 Mon Sep 17 00:00:00 2001 -From: Ben Wolsieffer <benwolsieffer@gmail.com> -Date: Wed, 7 Dec 2022 21:25:46 -0500 -Subject: [PATCH] [scudo][standalone] Use CheckAtomic to decide to link to - libatomic - -Standalone scudo uses the atomic operation builtin functions, which require -linking to libatomic on some platforms. Currently, this is done in an ad-hoc -manner. MIPS platforms always link to libatomic, and the tests are always linked -to it as well. libatomic is required on base ARMv6 (but not ARMv6K), but it is -currently not linked, causing the build to fail. - -This patch replaces this ad-hoc logic with the CheckAtomic CMake module already -used in other parts of LLVM. The CheckAtomic module checks whether std::atomic -requires libatomic, which is not strictly the same as checking the atomic -builtins, but should have the same results as far as I know. If this is -problematic, a custom version of CheckAtomic could be used to specifically test -the builtins. ---- - compiler-rt/lib/scudo/standalone/CMakeLists.txt | 7 +++++++ - compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt | 4 +--- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/lib/scudo/standalone/CMakeLists.txt b/lib/scudo/standalone/CMakeLists.txt -index ae5c354768c8..eb27374ca520 100644 ---- a/lib/scudo/standalone/CMakeLists.txt -+++ b/lib/scudo/standalone/CMakeLists.txt -@@ -1,5 +1,8 @@ - add_compiler_rt_component(scudo_standalone) - -+include(DetermineGCCCompatible) -+include(CheckAtomic) -+ - include_directories(../.. include) - - set(SCUDO_CFLAGS) -@@ -34,6 +37,10 @@ list(APPEND SCUDO_LINK_FLAGS -Wl,-z,defs,-z,now,-z,relro) - - list(APPEND SCUDO_LINK_FLAGS -ffunction-sections -fdata-sections -Wl,--gc-sections) - -+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) -+ list(APPEND SCUDO_LINK_FLAGS -latomic) -+endif() -+ - # We don't use the C++ standard library, so avoid including it by mistake. - append_list_if(COMPILER_RT_HAS_NOSTDLIBXX_FLAG -nostdlib++ SCUDO_LINK_FLAGS) - -diff --git a/lib/scudo/standalone/tests/CMakeLists.txt b/lib/scudo/standalone/tests/CMakeLists.txt -index 6d0936cbb5c1..70a5a7e959c1 100644 ---- a/lib/scudo/standalone/tests/CMakeLists.txt -+++ b/lib/scudo/standalone/tests/CMakeLists.txt -@@ -38,9 +38,7 @@ set(LINK_FLAGS - ${SANITIZER_TEST_CXX_LIBRARIES} - ) - list(APPEND LINK_FLAGS -pthread) --# Linking against libatomic is required with some compilers --check_library_exists(atomic __atomic_load_8 "" COMPILER_RT_HAS_LIBATOMIC) --if (COMPILER_RT_HAS_LIBATOMIC) -+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) - list(APPEND LINK_FLAGS -latomic) - endif() - --- -2.38.1 - |