about summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch
diff options
context:
space:
mode:
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.patch65
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
-