From 7050cdb205fd1b1b847c148092a8548f00a061c0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:46:10 +0200 Subject: Adding debian version 16.2.11+ds-2. Signed-off-by: Daniel Baumann --- ...-for-16-bytes-atomic-support-on-mips-also.patch | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch (limited to 'debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch') diff --git a/debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch b/debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch new file mode 100644 index 000000000..c9712311a --- /dev/null +++ b/debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch @@ -0,0 +1,29 @@ +Description: cmake: test for 16-byte atomic support on mips also + it's reported that a mips64el build host is able to pass the test of + CheckCxxAtomic without linking against libatomic, while librbd.so + fails to link due to failures like + . + /usr/bin/ld: ../../../lib/librbd.so.1.16.0: undefined reference to `__atomic_store_16' + /usr/bin/ld: ../../../lib/librbd.so.1.16.0: undefined reference to `__atomic_load_16' + /usr/bin/ld: ../../../lib/librbd.so.1.16.0: undefined reference to `__atomic_compare_exchange_16' + . + so we have to check the existence of __atomic_load_16 instruction on + mips architecture. +Author: Kefu Chai +Date: Wed, 24 Nov 2021 00:40:54 +0800 +Origin: upstream, https://github.com/ceph/ceph/commit/709a77f22010f03aee4a4c0ab930588944cb4a58 +Last-Update: 2021-11-24 + +diff --git a/cmake/modules/CheckCxxAtomic.cmake b/cmake/modules/CheckCxxAtomic.cmake +index f2d89cf3e0beb..da2be5206d634 100644 +--- a/cmake/modules/CheckCxxAtomic.cmake ++++ b/cmake/modules/CheckCxxAtomic.cmake +@@ -11,7 +11,7 @@ function(check_cxx_atomics var) + #include + #include + +-#if __s390x__ ++#if defined(__s390x__) || (defined(__mips__) && _MIPS_SIM ==_ABI64 ) + // Boost needs 16-byte atomics for tagged pointers. + // These are implemented via inline instructions on the platform + // if 16-byte alignment can be proven, and are delegated to libatomic -- cgit v1.2.3