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

Projects
None yet
5 participants
@lrusinowicz
Copy link
Contributor

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 ARMmbed/mbed-os-maintainers Mar 21, 2019

@ciarmcom

This comment has been minimized.

Copy link
Member

commented Mar 21, 2019

@theotherjimmy
Copy link
Contributor

left a comment

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

This comment has been minimized.

Copy link
Contributor

commented Mar 21, 2019

@lrusinowicz I moved your Description header above the description.

@lrusinowicz lrusinowicz force-pushed the lrusinowicz:armc6_assembler_win7_workaround branch from 689b07e to da090fa Mar 21, 2019

@lrusinowicz

This comment has been minimized.

Copy link
Contributor Author

commented Mar 21, 2019

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.

@theotherjimmy
Copy link
Contributor

left a comment

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

Workaround for ARMC6 Windows 7 assembler issue
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 lrusinowicz:armc6_assembler_win7_workaround branch from da090fa to 8d8cf1a Mar 21, 2019

@cmonr

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2019

CI started

@mbed-ci

This comment has been minimized.

Copy link

commented Mar 26, 2019

Test run: SUCCESS

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

@cmonr cmonr added ready for merge and removed needs: review labels Mar 26, 2019

@cmonr

cmonr approved these changes Mar 26, 2019

cmonr added a commit to cmonr/mbed-os that referenced this pull request Mar 26, 2019

Merge pull request ARMmbed#10182 from lrusinowicz/armc6_assembler_win…
…7_workaround

Workaround for ARMC6 Windows 7 assembler issue

@cmonr cmonr merged commit cfdb72b into ARMmbed:master Mar 27, 2019

28 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/build-ARMC5 Success
Details
jenkins-ci/build-ARMC6 Success
Details
jenkins-ci/build-GCC_ARM Success
Details
jenkins-ci/build-IAR8 Success
Details
jenkins-ci/cloud-client-test Success
Details
jenkins-ci/dynamic-memory-usage RTOS ROM(+0 bytes) RAM(+0 bytes)
Details
jenkins-ci/exporter Success
Details
jenkins-ci/greentea-test Success
Details
jenkins-ci/mbed2-build-ARMC5 Success
Details
jenkins-ci/mbed2-build-ARMC6 Success
Details
jenkins-ci/mbed2-build-GCC_ARM Success
Details
jenkins-ci/mbed2-build-IAR8 Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Local astyle testing has passed
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/doxy-spellcheck Local doxy-spellcheck testing has passed
Details
travis-ci/events Passed, runtime is 9169 cycles (-1203 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/include_check Local include_check testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8408B (+0.00%)
Details
travis-ci/psa-autogen Local psa-autogen testing has passed
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
travis-ci/tools-py3.5 Local tools-py3.5 testing has passed
Details
travis-ci/tools-py3.6 Local tools-py3.6 testing has passed
Details
travis-ci/tools-py3.7 Local tools-py3.7 testing has passed
Details

@cmonr cmonr removed the ready for merge label Mar 27, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.