diff options
Diffstat (limited to 'lib/compilers/pascal.js')
-rw-r--r-- | lib/compilers/pascal.js | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/compilers/pascal.js b/lib/compilers/pascal.js index d9f027749..28d178917 100644 --- a/lib/compilers/pascal.js +++ b/lib/compilers/pascal.js @@ -96,18 +96,20 @@ class FPCCompiler extends BaseCompiler { } objdump(outputFilename, result, maxSize, intelAsm, demangle) { - outputFilename = this.getExecutableFilename(path.dirname(outputFilename)); + const dirPath = path.dirname(outputFilename); + outputFilename = this.getExecutableFilename(dirPath); let args = ["-d", outputFilename, "-l", "--insn-width=16"]; if (demangle) args = args.concat(["-C"]); if (intelAsm) args = args.concat(["-M", "intel"]); - return this.exec(this.compiler.objdumper, args, {maxOutput: maxSize}).then(objResult => { - if (objResult.code !== 0) { - result.asm = "<No output: objdump returned " + objResult.code + ">"; - } else { - result.asm = FPCCompiler.preProcessBinaryAsm(objResult.stdout); - } - return result; - }); + return this.exec(this.compiler.objdumper, args, {maxOutput: maxSize, customCwd: dirPath}) + .then(objResult => { + if (objResult.code !== 0) { + result.asm = "<No output: objdump returned " + objResult.code + ">"; + } else { + result.asm = FPCCompiler.preProcessBinaryAsm(objResult.stdout); + } + return result; + }); } saveDummyProjectFile(filename) { |