]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Rewrite atomic builtin checks: Fix up 'GLIBCXX_ENABLE_BACKTRACE' check...
authorThomas Schwinge <tschwinge@baylibre.com>
Mon, 12 May 2025 08:35:11 +0000 (10:35 +0200)
committerThomas Schwinge <tschwinge@baylibre.com>
Mon, 12 May 2025 08:47:33 +0000 (10:47 +0200)
Fix-up for commit 86627faec10da53d7532805019e5296fcf15ac09
"libstdc++: Rewrite atomic builtin checks [PR70560]", which, for example, for
x86_64-pc-linux-gnu lost '-DHAVE_ATOMIC_FUNCTIONS=1' from 'BACKTRACE_CPPFLAGS'
due to:

    configure:53554: checking for atomic builtins for libbacktrace
    configure:53587:  [...]/./gcc/xgcc -shared-libgcc -B[...]/./gcc -nostdinc++ -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/src -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -B/x86_64-pc-linux-gnu/bin/ -B/x86_64-pc-linux-gnu/lib/ -isystem /x86_64-pc-linux-gnu/include -isystem /x86_64-pc-linux-gnu/sys-include    -o conftest -O0   conftest.cpp  >&5
    conftest.cpp: In function 'int main()':
    conftest.cpp:265:13: error: 'size_t' was not declared in this scope
      265 |             size_t s = 0;
          |             ^~~~~~
    conftest.cpp:1:1: note: 'size_t' is defined in header '<cstddef>'; this is probably fixable by adding '#include <cstddef>'
        1 | /* confdefs.h */
    conftest.cpp:273:31: error: 's' was not declared in this scope
      273 |             __atomic_store_n(&s, s, __ATOMIC_RELEASE);
          |                               ^
    configure:53587: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    [...]
    | int
    | main ()
    | {
    |[...]
    |          size_t s = 0;
    |[...]
    |          // backtrace_atomic_store_size_t
    |          __atomic_store_n(&s, s, __ATOMIC_RELEASE);
    |[...]
    | }
    configure:53595: result: no

PR libstdc++/70560
PR libstdc++/119667
libstdc++-v3/
* acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Use '__SIZE_TYPE__'
instead of 'size_t'.
* configure: Regenerate.

libstdc++-v3/acinclude.m4
libstdc++-v3/configure

index 204bed5b27bef61e64af966fbac2b40d5fcae1bf..d1ecb1ad9566aa28d24236b5d175f112b3745c80 100644 (file)
@@ -5304,7 +5304,7 @@ AC_DEFUN([GLIBCXX_ENABLE_BACKTRACE], [
        [AC_TRY_LINK([], [
            int i = 0;
            int* p = &i;
-           size_t s = 0;
+           __SIZE_TYPE__ s = 0;
            // backtrace_atomic_load_pointer
            void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE);
            // backtrace_atomic_load_int
@@ -5331,7 +5331,7 @@ int main()
 {
   int i = 0;
   int* p = &i;
-  size_t s = 0;
+  __SIZE_TYPE__ s = 0;
   // backtrace_atomic_load_pointer
   void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE);
   // backtrace_atomic_load_int
index 0529ff5708f14febd11e0d8a03c180221778c697..d6891e544cfe66daaa9bea3e184e58237dca14b5 100755 (executable)
@@ -53568,7 +53568,7 @@ main ()
 
            int i = 0;
            int* p = &i;
-           size_t s = 0;
+           __SIZE_TYPE__ s = 0;
            // backtrace_atomic_load_pointer
            void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE);
            // backtrace_atomic_load_int
@@ -53607,7 +53607,7 @@ int main()
 {
   int i = 0;
   int* p = &i;
-  size_t s = 0;
+  __SIZE_TYPE__ s = 0;
   // backtrace_atomic_load_pointer
   void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE);
   // backtrace_atomic_load_int