I think this is the same issue as reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124124, that was addressed by:
commit r16-7911-g3a41229f92022bfb388911854d597721fce76714 https://gcc.gnu.org/cgit/gcc/commit/?id=3a41229f92022bfb388911854d597721fce76714 Author: Tomasz KamiÅski tkaminsk@redhat.com Date: Thu Mar 5 08:57:24 2026 +0100
libstdc++: Fix atomic/cons/zero_padding.cc test for arm-none-eabi [PR124124 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124124]
The test uses dg-require-atomic-cmpxchg-word that checks if atomic compare exchange is available for pointer sized integers, and then test types that are eight bytes in size. This causes issue for targets for which pointers are four byte and libatomic is not present, like arm-none-eabi.
This patch addresses by using short member in TailPadding and MidPadding, instead of int. This reduces the size of types to four bytes, while keeping padding bytes present.
PR libstdc++/124124 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124124
libstdc++-v3/ChangeLog:
* testsuite/29_atomics/atomic/cons/zero_padding.cc: Limit size of test types to four bytes.
On Sun, Mar 22, 2026 at 9:01 PM ci_notify@linaro.org wrote:
Dear contributor,
Our automatic CI has detected problems related to your patch(es). Please find some details below.
In arm-eabi cortex-m55 hard, after: | commit gcc-16-7434-g6b550d69fe7c | Author: Tomasz Kamiński tkaminsk@redhat.com | Date: Thu Jan 29 18:14:47 2026 +0100 | | libstdc++: Allow constant initialization of std::atomic of types with padding [PR123875] | | Currently for the types T that contains padding bits, std::atomic<T>(T) | constructor was not usable at compile-time in C++14 or later modes. This | regression caused by use of __builtin_clear_padding introduced in | ... 49 lines of the commit log omitted.
Produces 2 regressions: | | regressions.sum: | Running libstdc++:libstdc++-dg/conformance.exp ... | FAIL: 29_atomics/atomic/cons/static_zero_padding.cc -std=gnu++20 (test for excess errors) | UNRESOLVED: 29_atomics/atomic/cons/static_zero_padding.cc -std=gnu++20 compilation failed to produce executable
Used configuration : *CI config* tcwg_gnu_embed_check_gcc arm-eabi -mthumb -march=armv8.1-m.main+mve.fp+fp.dp -mtune=cortex-m55 -mfloat-abi=hard -mfpu=auto *configure and test flags:* --target arm-eabi --disable-multilib --with-mode=thumb --with-arch=armv8.1-m.main+mve.fp+fp.dp --with-float=hard --target_board=-mthumb/-march=armv8.1-m.main+mve.fp+fp.dp/-mtune=cortex-m55/-mfloat-abi=hard/-mfpu=auto qemu-cpu=cortex-m55
We track this bug report under https://linaro.atlassian.net/browse/GNU-1865. Please let us know if you have a fix.
If you have any questions regarding this report, please ask on linaro-toolchain@lists.linaro.org mailing list.
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below contains the details of the failures, and the ways to reproduce a debug environment:
You can find the failure logs in *.log.1.xz files in
https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_ea... The full lists of regressions and improvements as well as configure and make commands are in
https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_ea... The list of [ignored] baseline and flaky failures are in
https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_ea...
Current build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_ea... Reference build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-thumb_m55_hard_ea...
Instruction to reproduce the build : https://gitlab.com/LinaroLtd/tcwg/ci/interesting-commits/-/raw/master/gcc/sh...
Full commit : See in git+ssh://linaroci@gcc.gnu.org/git/gcc.git
linaro-toolchain@lists.linaro.org