From: Ashley Gay Date: Fri, 8 Mar 2024 11:30:35 +0000 (+0000) Subject: Ensure use of gcc's version of stdatomic.h in gthr-vxworks X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce46ebb26ba20ec5ae10f9e9845427f8e3a324e7;p=thirdparty%2Fgcc.git Ensure use of gcc's version of stdatomic.h in gthr-vxworks VxWorks provides its own version of the standard stdatomic.h, possibly relying on non-gcc builtins, and our implementation of the gthr API resorts to VxWorks specific functions for atomicity features. When compiling libgcc (with gcc), make sure gcc's version of stdatomic.h is used: #include it here, first, then define the macro used to guard the system version so it doesn't get expanded when included indirectly by other system headers. 2025-10-20 Olivier Hainque Ashley Gay libgcc/ * config/gthr-vxworks.h: Include stdatomic.h and prevent indirect inclusion of contents from the system version of that header. --- diff --git a/libgcc/config/gthr-vxworks.h b/libgcc/config/gthr-vxworks.h index 2f5a2ca0a14..3918790145a 100644 --- a/libgcc/config/gthr-vxworks.h +++ b/libgcc/config/gthr-vxworks.h @@ -34,6 +34,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #else +/* VxWorks provides its own version of the standard stdatomic.h, possibly + relying on non-gcc builtins, and our implementation of the gthr API resorts + to VxWorks specific functions for atomicity features. + + When compiling libgcc (with gcc), make sure gcc's version of stdatomic.h + is used: #include it here, first, then define the macro used to guard the + system version so it doesn't get expanded when included indirectly by + other system headers. */ +#if defined(IN_LIBGCC2) +#include <../include/stdatomic.h> +#define __INCstdatomich +#endif + #include #include <_vxworks-versions.h>