Closed
Conversation
VELAPLATFO-62486 1. cmake natively supports armclang, and by default it will use the set CMAKE_LINKER link. To adapt to NX's cmake, you need to modify it to use armclang as the linker. 2. Using set(CMAKE_AR armar -rcs) will make cmake recognize the parameter as armar;-rcs, resulting in a compiler error 3. The CPP setting of armclang needs to include --target, otherwise a compilation error will occur and a suitable target cannot be found 4. armclang link cannot use -nostdlib 5. Add --undefined to force linking of the __start symbol, otherwise it will not be referenced and armclang will not be able to find the symbol 6. Fix armclang config 7. armclang cancel the search for libgcc Change-Id: I652f3d1f6ad91e7780729bb255ff649f72d65dd3 Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
…uting detection code VELAPLATFO-62486 Using some compilers that CMake supports detection, such as armclang, will cause some warnings to appear Change-Id: I21ab8ed8f3c23fab4dc898bb3c3188484dd14620 Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
VELAPLATFO-62486 Not only the executable file generated by tasking will be added with a suffix, but armclang will also Change-Id: I507abd01929a6f81f37572d87e2e12f6403f036f Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
VELAPLATFO-62486 1. Support ARM64 armclang Makefile and CMake compilation 2. Modify some CONFIG reference errors 3. Add some option judgments to filter out options that armclang does not support Change-Id: I4ad49a288e5ab5b13f3befa099dbd57d044f4ef9 Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
VELAPLATFO-62486 Change-Id: I9b727436945135fe34dc4776b1859defef77d19a Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
linguini1
requested changes
Jan 30, 2026
Contributor
linguini1
left a comment
There was a problem hiding this comment.
Please update the PR title to the same format as the commit messages.
Also, could please show some logs from a a local build using the new tool chain? I don't think our CI will be able to test that one.
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.
Note: Please adhere to Contributing Guidelines.
Summary
Impact
1, Enables NuttX/NX to use armclang for CMake/Makefile builds on ARM64, reducing noise warnings from CMake compiler probes.
2, Improves the stability of armclang builds (linker selection, ar parameter parsing, CPP --target, -nostdlib, --undefined __start, libgcc handling, etc.).
3. Expands target coverage for the ARM Cortex-M series (adding cortex-m85), with no expected behavior changes to existing GCC/Clang targets.
Testing
ci test