-
Notifications
You must be signed in to change notification settings - Fork 3k
Make ARMC6 as the default ARM toolchain for MTB targets #9860
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
Make ARMC6 as the default ARM toolchain for MTB targets #9860
Conversation
@SenRamakri, thank you for your changes. |
Just to make sure, a reason for this is? |
@SenRamakri I only see two targets updated in targets.json? |
@cmonr - Actually USI_WM_BN_BM_22 is inherited by both MTB_ADV_WISE_1530 and MTB_USI_WM_BN_BM_22, so that makes it 3. |
@ARMmbed/mbed-os-maintainers - Looks like continuous-integration/travis-ci/pr job failed due to some infrastructure issues. We may have to restart test on this. |
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 fine to me.
@SenRamakri The results will posted shortly, but it looks like build-ARMC6 did have some build issues. I suspect CI continued because of an earlier config request to have the pipeline continue even on a build failure. |
@cmonr - Yes, there are some failures. I looked into the failure logs and I guess those targets(which failed the builds) were tried to compile on machines without ARMC6 installed and thus failed as below: [OS ERROR] Command: armclang -c --target=arm-arm-none-eabi -mthumb -Os -Wno-armcc-pragma-push-pop -Wno-armcc-pragma-anon-unions -DMULADDC_ ....I have seen in the past that the [OS ERROR] usually happens when the executables are not available. |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
@ARMmbed/mbed-os-maintainers - As a sanity check, I tried compiling each of the failing targets with ARMC6 locally and they are all passing successfully. |
@SenRamakri has more information, and needs to sync up with @ARMmbed/mbed-os-test-team |
@SenRamakri there was some old exceptions in CI scripts. Fixed and retriggered the test |
Test run: FAILEDSummary: 2 of 4 test jobs failed Failed test jobs:
|
tools/build_api.py
Outdated
@@ -283,7 +291,7 @@ def get_mbed_official_release(version): | |||
[ | |||
TARGET_MAP[target].name, | |||
tuple(transform_release_toolchains( | |||
TARGET_MAP[target].supported_toolchains, version)) | |||
TARGET_MAP[target].supported_toolchains, version, target)) |
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.
I'm pretty sure that this is passing in the target string, and not the target object. Since transform_release_toolchains
is only ever called here, how about changing the function to take target, version
instead of supported_toolchain_list, version, target
? That way we don't have to do lookup 3(!) times.
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.
Is there a reason for not using TARGET_MAP[target].supported_toolchains
, as in #9878?
Does targets.json only define mbed2 supported toolchains?
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.
@alekla01 - Please see my changes in this file to take care of previous tools version as well.
But you asked great question on why we are not using
supported toolchains. I would like to investigate why we are not just return
supported toolchain. The current attempt is to keep the behavior same as before as it might impact online compiler.
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Test run: SUCCESSSummary: 4 of 4 test jobs passed |
@ARMmbed/mbed-os-maintainers - Looks like the tests passed. Can we please go ahead merge this? I'm waiting on this to create the merge PR to master. |
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.
I'm fine with this for now, but will want to do a deeper scrub when the PR to master is opened.
Have let the other maintainers know this is ready. Too sleepy to trust myself with the merge button. |
Description
This PR is to make ARMC6 as the default ARM toolchain for MTB targets below:
MTB_ADV_WISE_1530
MTB_MXCHIP_EMW3166
MTB_USI_WM_BN_BM_22
Pull request type
Reviewers
@cmonr @0xc0170 @SeppoTakalo