Use libatomic if necessary
authorBenjamin Barenblat <bbaren@google.com>
Sun, 8 Jan 2023 21:54:44 +0000 (21:54 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Sun, 8 Jan 2023 21:54:44 +0000 (21:54 +0000)
Bug-Debian: https://bugs.debian.org/973492

On some architectures, notably armel, Abseil needs symbols defined in
libatomic. Abseil does not currently have a well-developed system to
declare external library dependencies, so just have the linker determine
if anything needs libatomic and add the DT_NEEDED entry where necessary.

Gbp-Pq: Name latomic.diff

absl/copts/AbseilConfigureCopts.cmake

index 73435e999b2951855a3c586c425316d5232a90b0..0dce69feaaf75202a9ae594f1d656c31429ca8cd 100644 (file)
@@ -94,4 +94,8 @@ else()
   set(ABSL_TEST_COPTS "")
 endif()
 
+list(APPEND ABSL_DEFAULT_LINKOPTS
+    "-Wl,--push-state,--as-needed" "-latomic" "-Wl,--pop-state"
+)
+
 set(ABSL_CXX_STANDARD "${CMAKE_CXX_STANDARD}")