Skip to content

M2351: Support GCC #12366

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

Merged
merged 2 commits into from
Feb 5, 2020
Merged

M2351: Support GCC #12366

merged 2 commits into from
Feb 5, 2020

Conversation

ccli8
Copy link
Contributor

@ccli8 ccli8 commented Feb 5, 2020

Summary of changes

This PR adds support for GCC on M2351 targets:

  1. Enable GCC support on non-secure targets
  2. Disable GCC support on secure targets becasue of GCC bug (as of 9-2019-q4-major): In non-secure entry function, callee-saved registers must be restored, but they are incorrectly cleared at optimization level Os.

Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

ccli8 added 2 commits February 5, 2020 10:11
1.  Enable GCC support on non-secure targets
2.  Disable GCC support on secure targets becasue of GCC bug (as of 9-2019-q4-major): In non-secure entry function, callee-saved registers must be restored, but they are incorrectly cleared at optimization level "Os".
1.  Re-organize to make clear for all targets/toolchains support in single startup file
2.  Inline assembly syntax is limited, esp. on IAR. Try paving the way for accessing external symbols still in inline assembly instead of re-write in assembly.
@ciarmcom ciarmcom requested review from Ronny-Liu and a team February 5, 2020 04:00
@ciarmcom
Copy link
Member

ciarmcom commented Feb 5, 2020

@ccli8, thank you for your changes.
@Ronny-Liu @ARMmbed/mbed-os-maintainers please review.

@mergify mergify bot added needs: CI and removed needs: review labels Feb 5, 2020
@0xc0170 0xc0170 added the release-version: 6.0.0-alpha-2 Second pre-release version of 6.0.0 label Feb 5, 2020
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 5, 2020

CI started

@mbed-ci
Copy link

mbed-ci commented Feb 5, 2020

Test run: SUCCESS

Summary: 11 of 11 test jobs passed
Build number : 1
Build artifacts

@0xc0170 0xc0170 merged commit edb39c6 into ARMmbed:master Feb 5, 2020
@mergify mergify bot removed the ready for merge label Feb 5, 2020
@ccli8 ccli8 deleted the nuvoton_m2351_gcc branch February 6, 2020 01:05
@ccli8 ccli8 restored the nuvoton_m2351_gcc branch September 17, 2020 05:34
@ccli8 ccli8 deleted the nuvoton_m2351_gcc branch March 16, 2021 01:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-version: 6.0.0-alpha-2 Second pre-release version of 6.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants