Hello,

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.

We have been using this in our GCC 13 and GCC 14 based toolchains
for about 1.5 years now and I verified that a mainline build passes with
this for --target=powerpc-wrs-vxworks7r2.

Committing to mainline.

Cheers,

Olivier
--

2025-10-20  Olivier Hainque  <[email protected]>
            Ashley Gay  <[email protected]>

libgcc/
        * config/gthr-vxworks.h: Include stdatomic.h and prevent indirect
        inclusion of contents from the system version of that header.

Attachment: 0001-Ensure-use-of-gcc-s-version-of-stdatomic.h-in-gthr-v.patch
Description: Binary data

Reply via email to