On Mon, 12 May 2025 at 09:52, Thomas Schwinge <tschwi...@baylibre.com> wrote: > > Hi! > > On 2025-04-29T21:09:17+0100, Jonathan Wakely <jwak...@redhat.com> wrote: > > The GLIBCXX_ENABLE_BACKTRACE macro currently uses the > > glibcxx_ac_atomic_int macro defined by the checks that this commit > > removes from GLIBCXX_ENABLE_ATOMIC_BUILTINS. That wasn't a good check > > anyway, because libbacktrace actually depends on atomic loads+stores for > > pointers as well as int, and for atomic stores for size_t. This commit > > replaces the glibcxx_ac_atomic_int check with a proper test for all the > > required atomic operations on all three of int, void* and size_t. This > > ensures that the libbacktrace code used for std::stacktrace will either > > use native atomics, or implement those loads and stores only in terms of > > __sync_bool_compare_and_swap (possibly requiring that to come from > > libatomic or elsewhere). > > > Tested x86_64-linux, no changes to the c++config.h results. > > I need to do more testing on other targets. > > Hmm... ;-P > > Pushed to trunk branch commit 4589ccbed5cad42296d4d1810b61e8dec0dadf79 > "libstdc++: Rewrite atomic builtin checks: Fix up 'GLIBCXX_ENABLE_BACKTRACE' > check with 'size_t' [PR119667]", > see attached.
Oops, thanks.