From: Thomas Schwinge Date: Mon, 12 May 2025 08:35:11 +0000 (+0200) Subject: libstdc++: Rewrite atomic builtin checks: Fix up 'GLIBCXX_ENABLE_BACKTRACE' check... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4589ccbed5cad42296d4d1810b61e8dec0dadf79;p=thirdparty%2Fgcc.git libstdc++: Rewrite atomic builtin checks: Fix up 'GLIBCXX_ENABLE_BACKTRACE' check with 'size_t' [PR119667] 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 ''; this is probably fixable by adding '#include ' 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. --- diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 204bed5b27b..d1ecb1ad956 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -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 diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 0529ff5708f..d6891e544cf 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -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