Skip to content

Commit

Permalink
Merge bitcoin#29177: build: Fix check whether -latomic needed
Browse files Browse the repository at this point in the history
f8ca135 build: Fix check whether `-latomic` needed (Hennadii Stepanov)

Pull request description:

  Clang >=15 still might need linking against `libatomic`.

  We use `std::atomic<std::chrono::seconds>::compare_exchange_strong` in `net_processing.cpp`.

  Addresses the bitcoin#29165 (comment).

ACKs for top commit:
  maflcko:
    lgtm ACK f8ca135
  fanquake:
    ACK f8ca135

Tree-SHA512: ba8b6a88fd3471a206d068e8a000a053c99cb46d26bd04624418ddb066b3b9664a569ec8a1569af67c96b3e27f13dccbd5e24f985290ac072b6d74c92524e35d
  • Loading branch information
fanquake authored and PastaPastaPasta committed Oct 24, 2024
1 parent f670118 commit c75a0d4
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion build-aux/m4/l_atomic.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dnl permitted in any medium without royalty provided the copyright notice
dnl and this notice are preserved. This file is offered as-is, without any
dnl warranty.

# Clang prior to version 15, when building for 32-bit,
# Clang, when building for 32-bit,
# and linking against libstdc++, requires linking with
# -latomic if using the C++ atomic library.
# Can be tested with: clang++ test.cpp -m32
Expand All @@ -24,6 +24,8 @@ m4_define([_CHECK_ATOMIC_testbody], [[
std::atomic<std::chrono::seconds> t{0s};
t.store(2s);
auto t1 = t.load();
t.compare_exchange_strong(t1, 3s);
std::atomic<int64_t> a{};
Expand Down

0 comments on commit c75a0d4

Please sign in to comment.