-
Notifications
You must be signed in to change notification settings - Fork 3k
Fallback to ARMC5 when ARMC6 is not configured #10193
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
Fallback to ARMC5 when ARMC6 is not configured #10193
Conversation
@bridadan, thank you for your changes. |
Started CI to get early test run |
Test run: FAILEDSummary: 2 of 9 test jobs failed Failed test jobs:
|
Test run: FAILEDSummary: 2 of 9 test jobs failed Failed test jobs:
|
Looks like this has affect on one target and its unsupported toolchains (build failures) |
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.
Looks good. Please remember to add a link to docs to the warning.
@0xc0170 The PR is failing because the CI is attempting to build the examples for the In my opinion there are two fixes for this:
I'd prefer to go with choice 1. Any thoughts @OPpuolitaival? |
Thanks to @OPpuolitaival, I believe the last commit will fix the CI failure. |
ci started |
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.
Looks good (here's a 🍩 token that can be redeemed next time I'm around. Don't loose it though there's no replacement policy!)
6f96d01
to
bbcc25c
Compare
I'm looking into the exporter issue. Since it failed on #10131 as well I doubt my changes caused this issue. |
The exporter issue is unrelated to this change, however I've pushed a fix (hopefully) for it here: #10199 |
Test run: FAILEDSummary: 1 of 13 test jobs failed Failed test jobs:
|
Test run: FAILEDSummary: 1 of 13 test jobs failed Failed test jobs:
|
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.
Changes looks good to me, although uvision6 exporter seems to be failing.
@bridadan could you resolve the conflict please, this is the last PR needing to get through ci now ? |
The affected targets are Renesas targets, USI_WM_BN_BM_22 based targets, and the MTB_MXCHIP_EMW3166.
These functions will be used to handle some of the error state and warning messages produced when the scripts attempt to select a valid toolchain.
There are two new functions: get_valid_toolchain_names and find_valid_toolchain. These functions are used to figure out if a fallback is possible and necessary. find_valid_toolchain is expected to be used by the front-end scripts. get_toolchain_name was updated with some different logic and comments.
Some unused imports were removed as well as some general clean up.
This removes the arugment help from the output, making the error much easier to find. This solves ARMmbed#10090.
bbcc25c
to
b95732a
Compare
Rebased! |
ci started |
Test run: FAILEDSummary: 1 of 13 test jobs failed Failed test jobs:
|
exporters restarted, license server error |
Description
This PR makes it so:
-t ARM
is being supplied as the toolchainThen the tools will select
ARMC5
as the toolchain for building. Previously, this was always set toARMC6
(with a few targets being the exception).If the tools fallback to
ARMC5
, the following warning will be printed at the bottom of the log:This feature has been documented here (thanks @SenRamakri): ARMmbed/mbed-os-5-docs#1024
Normally I'd write out all the implications of the changes in this PR, however the implementation details are fairly extensive. Reading the docs above is a good place to start, probably followed by the commit history.
FYI @screamerbg
TODO
I would really prefer to bring this in with a unit test. The implementation is quite complex and the details can easily be lost if verifying manually.Most likely this will have to come in in a later release due to time constraints.Pull request type
Reviewers
@SenRamakri @theotherjimmy @bulislaw
Release Notes
The
-t ARM
argument defaults to using the Arm Compiler 6 when it is configured in a user's enviroment. However, In cases where a target supports building with both Arm Compiler 5 and Arm Compiler 6 and Arm Compiler 6 is not properly configured, the tools will fallback to compiling with Arm Compiler 5.