-
Notifications
You must be signed in to change notification settings - Fork 1.5k
libs: Add support for latest LLVM LIBCXX and LIBCXXABI version 21.1.8 #17826
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
Closed
Barto22
wants to merge
17
commits into
apache:master
from
Barto22:feature/add-support-for-latest-libcxx-and-libcxxabi
Closed
libs: Add support for latest LLVM LIBCXX and LIBCXXABI version 21.1.8 #17826
Barto22
wants to merge
17
commits into
apache:master
from
Barto22:feature/add-support-for-latest-libcxx-and-libcxxabi
Conversation
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
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>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Arch: arm
Issues related to ARM (32-bit) architecture
Arch: arm64
Issues related to ARM64 (64-bit) architecture
Arch: avr
Issues related to all AVR(8-bit or 32-bit) architectures
Arch: risc-v
Issues related to the RISC-V (32-bit or 64-bit) architecture
Arch: simulator
Issues related to the SIMulator
Arch: sparc
Issues related to the SPARC architecture
Arch: tricore
Issues related to the TriCore architecture from Infineon
Arch: x86_64
Issues related to the x86_64 architecture
Arch: xtensa
Issues related to the Xtensa architecture
Area: Build system
Area: CI
Area: Crypto
Area: Documentation
Improvements or additions to documentation
Area: Drivers
Drivers issues
Area: File System
File System issues
Area: Networking
Effects networking subsystem
Area: OS Components
OS Components issues
Area: PCI
Area: Sensors
Sensors issues
Area: Tooling
Board: arm
Board: arm64
Board: risc-v
Board: simulator
Size: L
The size of the change in this PR is large
Size: XL
The size of the change in this PR is very large. Consider breaking down the PR into smaller pieces.
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.