https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120567
--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <[email protected]>: https://gcc.gnu.org/g:4046caad61a0406e42cae0c38a6aa26f5975a197 commit r16-7357-g4046caad61a0406e42cae0c38a6aa26f5975a197 Author: Jonathan Wakely <[email protected]> Date: Tue Dec 9 21:02:56 2025 +0000 libstdc++: Prevent std::stacktrace from using atomics on arm-eabi [PR120567] The conftest.cc in GLIBCXX_ENABLE_BACKTRACE checks if calls to __atomic_load and __atomic_store result in libatomic calls. For arm-eabi those expand to normal loads with a call to __sync_synchronize to ensure correct ordering. That means the generated assembly does not match the grep pattern "__atomic_" and so configure incorrectly assumes we can use atomics in libbacktrace. The fix is to grep for "__atomic_|__sync_" instead of just "__atomic_". As explained in the bug comments, the similar grep for "__atomic_" in the GLIBCXX_ENABLE_ATOMIC_BUILTINS macro doesn't need the same change. That conftest.cc program does emit a call to a libatomic function that matches the grep pattern "__atomic_" so the test gives the right answer for arm-eabi. libstdc++-v3/ChangeLog: PR libstdc++/120567 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Include "__sync_" in grep command to check for extern calls to libatomic. * configure: Regenerate. Reviewed-by: Tomasz KamiÅski <[email protected]>
