Merge pull request #10182 from lrusinowicz/armc6_assembler_win7_workaround

Workaround for ARMC6 Windows 7 assembler issue
pull/9904/head
Cruz Monrreal 2019-03-27 00:23:05 -05:00 committed by GitHub
commit cfdb72b94f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 4 deletions

View File

@ -638,11 +638,21 @@ class ARMC6(ARM_STD):
return opts return opts
def assemble(self, source, object, includes): def assemble(self, source, object, includes):
cmd_pre = copy(self.asm) # Preprocess first, then assemble
root, _ = splitext(object)
tempfile = root + '.E'
# Build preprocess assemble command
cmd_pre = copy(self.cc)
cmd_pre.extend(self.get_compile_options( cmd_pre.extend(self.get_compile_options(
self.get_symbols(True), includes, for_asm=True)) self.get_symbols(True), includes, for_asm=False))
cmd_pre.extend(["-o", object, source]) cmd_pre.extend(["-E", "-MT", object, "-o", tempfile, source])
return [cmd_pre]
# Build main assemble command
cmd = self.asm + ["-o", object, tempfile]
# Return command array, don't execute
return [cmd_pre, cmd]
def compile(self, cc, source, object, includes): def compile(self, cc, source, object, includes):
cmd = copy(cc) cmd = copy(cc)