Skip to content
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

Workaround for ARMC6 Windows 7 assembler issue #10182

Merged
merged 1 commit into from
Mar 27, 2019

Conversation

lrusinowicz
Copy link
Contributor

@lrusinowicz lrusinowicz commented Mar 21, 2019

Description

On Windows 7 using --preproc option in ARMC6 assembler doesn't work when -MD option is also specified. Compiler creates incorrect filename for dependency file and compilation files.
To workaround this issue, this change returns to using a temporary file and separately calling preprocessor and assembler (as in a case of ARMC5).

I have done only a limited testing, because I have only access to ARMC6 compiler on a Windows 7 machine.

Pull request type

[x] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@theotherjimmy

Release Notes

@ciarmcom ciarmcom requested review from theotherjimmy and a team March 21, 2019 12:00
@ciarmcom
Copy link
Member

@lrusinowicz, thank you for your changes.
@theotherjimmy @ARMmbed/mbed-os-tools @ARMmbed/mbed-os-maintainers please review.

Copy link
Contributor

@theotherjimmy theotherjimmy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we just put the .E.s files next to the objects? I don't think there's any harm, and the code will be simpler.

@theotherjimmy
Copy link
Contributor

@lrusinowicz I moved your Description header above the description.

@lrusinowicz lrusinowicz force-pushed the armc6_assembler_win7_workaround branch from 689b07e to da090fa Compare March 21, 2019 16:13
@lrusinowicz
Copy link
Contributor Author

Could we just put the .E.s files next to the objects? I don't think there's any harm, and the code will be simpler.

I've done this while also changing temporary file extension to just .E. Still shouldn't do any harm, but now it has additional advantage, that dependencies should also work for assembler files.

Copy link
Contributor

@theotherjimmy theotherjimmy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, this will break many exporters... Could you avoid deleting the for_asm part of get_compile_options? instead, just pass false in assemble.

On Windows 7 using --preproc option in ARMC6 assembler doesn't work
when -MD option is also specified. Compiler creates incorrect filename for
dependency file and compilation files.
To workaround this issue, this change returns to using a temporary file and
separately calling preprocessor and assembler (as in a case of ARMC5).
@lrusinowicz lrusinowicz force-pushed the armc6_assembler_win7_workaround branch from da090fa to 8d8cf1a Compare March 21, 2019 22:05
@cmonr
Copy link
Contributor

cmonr commented Mar 26, 2019

CI started

@mbed-ci
Copy link

mbed-ci commented Mar 26, 2019

Test run: SUCCESS

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

cmonr pushed a commit to cmonr/mbed-os that referenced this pull request Mar 26, 2019
…7_workaround

Workaround for ARMC6 Windows 7 assembler issue
@cmonr cmonr merged commit cfdb72b into ARMmbed:master Mar 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants