-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Change SIM boards that uses libcxx to use Clang. #17850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Change SIM boards that uses libcxx to use Clang. #17850
Conversation
This commit will change toolchain in SIM boards that uses Libcxx to use clang because GCC < 15 have lack of features needed for latest LLVM libcxx and libcxxabi. Signed-off-by: Bartosz <bartol2205@gmail.com>
raiden00pl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this way you break the test env for all users who have gcc-15 support on their hosts and don't use clang which I think is the default behavior for nuttx users. If you want to fix errors in CI, you should change the compiler in tools/ci/testlist/sim-XX.dat like its done for example here:
nuttx/tools/ci/testlist/arm-04.dat
Line 11 in a938926
| /arm/lpc54xx,CONFIG_ARM_TOOLCHAIN_CLANG |
This commit will add clang toolchain only for CI builds. Signed-off-by: Bartosz <bartol2205@gmail.com>
Done |
Revert changes in scripts. Signed-off-by: Bartosz <bartol2205@gmail.com>
Revert formatting. Signed-off-by: Bartosz <bartol2205@gmail.com>
|
@Barto22 please sqaush your intermediate patch. |
Style fixes. Signed-off-by: Bartosz <bartol2205@gmail.com>
Revert formatting. Signed-off-by: Bartosz <bartol2205@gmail.com>
Signed-off-by: Bartosz <bartol2205@gmail.com>
Revert formatting. Signed-off-by: Bartosz <bartol2205@gmail.com>
This commit switches SIM board builds from GCC to Clang and migrates
the C++ runtime to LLVM's libc++ and libc++abi. This PR is related to: #17826 and #17849
Summary
Recent C++ code additions require features provided by modern C++ runtimes
and standard libraries. The GNU toolchain versions currently available in CI
and common Linux distributions (GCC < 15) lack several required C++ standard
library capabilities needed by the latest libc++/libc++abi.
To ensure continued progress on C++ support in NuttX, this change:
This brings the SIM toolchain in line with modern C++ requirements and avoids
blocking future features on GCC version availability.
Impact
locally may need Clang + libc++ installed
Testing
Test matrix executed across Linux CI:
ostestexecuted successfully under the SIM targetHost: GitHub Actions CI (Ubuntu Linux)
Compiler: Clang
21(LLVM libc++21.1.8)Prior GCC versions tested (< 15) confirmed incompatibility with modern libc++
No regressions observed in SIM functionality.