libs: Add support for latest LLVM LIBCXX and LIBCXXABI version 21.1.8#17826
Closed
Barto22 wants to merge 17 commits intoapache:masterfrom
Closed
libs: Add support for latest LLVM LIBCXX and LIBCXXABI version 21.1.8#17826Barto22 wants to merge 17 commits intoapache:masterfrom
Barto22 wants to merge 17 commits intoapache:masterfrom
Conversation
This commit adds support for LLVM libcxx and libcxxabi version 21.1.8, including necessary patches and CMake configuration for building with NuttX. Signed-off-by: Bartosz <bartol2205@gmail.com>
Fix exception handling issues in libcxx and libcxxabi to work properly with NuttX's exception model. Signed-off-by: Bartosz <bartol2205@gmail.com>
Add necessary changes to support ESP32 RISC-V initialization with proper C++ constructor handling including code style fixes. Signed-off-by: Bartosz <bartol2205@gmail.com>
6522e0c to
0b3dd30
Compare
This commit adds support for threads using pthread support. Signed-off-by: Bartosz <bartol2205@gmail.com>
jerpelea
previously approved these changes
Jan 12, 2026
Remove flag for long-calls for arm architecture. Signed-off-by: Bartosz <bartol2205@gmail.com>
boards/sim/: Change gcc to clang This commit will update Docker file to latest Ubuntu LTS with update of GCC for ARM and RISCV. Also SIM boards with LIBCXX are build with clang because GCC < 15 have lack of some builtin features. Signed-off-by: Bartosz <bartol2205@gmail.com>
Fix cmake formatting. Signed-off-by: Bartosz <bartol2205@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before merging and running this PR, this two must be merged: #17849 and #17850
Summary
This PR updates the build environment to use the latest Ubuntu 24.04 LTS base image and upgrades the GNU toolchains to:
All SIM board configurations that enable LIBCXX are now built with clang, as GCC < 15 lacks required builtin features for C++23 and libc++.
This continues the integration effort for LLVM libc++ and libc++abi (v21.1.8) in NuttX, enabling modern C++23-compatible standard library components including new language features and exception handling.
Impact
Current status:
makeandcmakeNo impact to existing boards or applications unless enabling libc++.
Testing
Host environment:
Boards / Configurations tested:
stm32f4discovery:testlibcxxesp32c3-devkit:testlibcxxToolchains:
Procedure:
makeandcmakeStatus:
Logs and additional validation data are available on request.