mirror of https://github.com/ARMmbed/mbed-os.git
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).pull/10182/head
parent
014a5ec487
commit
8d8cf1acc3
|
@ -583,11 +583,21 @@ class ARMC6(ARM_STD):
|
|||
return opts
|
||||
|
||||
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(
|
||||
self.get_symbols(True), includes, for_asm=True))
|
||||
cmd_pre.extend(["-o", object, source])
|
||||
return [cmd_pre]
|
||||
self.get_symbols(True), includes, for_asm=False))
|
||||
cmd_pre.extend(["-E", "-MT", object, "-o", tempfile, source])
|
||||
|
||||
# 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):
|
||||
cmd = copy(cc)
|
||||
|
|
Loading…
Reference in New Issue