diff options
author | Jessica Clarke <jrtc27@jrtc27.com> | 2021-04-01 14:34:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-01 08:34:07 -0500 |
commit | af686e81f7a8d06c12b44272aa67c73d1ebb069b (patch) | |
tree | a4572b0c70bc42b20c0cca4d4edba71f2bec3119 /lib/compilers/assembly.js | |
parent | 1e3da6eefdc2a6bfaca14af340971a8159557105 (diff) | |
download | compiler-explorer-af686e81f7a8d06c12b44272aa67c73d1ebb069b.tar.gz compiler-explorer-af686e81f7a8d06c12b44272aa67c73d1ebb069b.zip |
Support ELF Tool Chain and LLVM objdump (#2538)
* Remove redundant implementations of objdump function
* Add support for ELF Tool Chain and LLVM objdump
Only binutils supports --insn-width and LLVM uses --x86-asm-syntax=intel
rather than -M intel. The default remains binutils.
Diffstat (limited to 'lib/compilers/assembly.js')
-rw-r--r-- | lib/compilers/assembly.js | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/lib/compilers/assembly.js b/lib/compilers/assembly.js index f684b1ba6..a81cb472f 100644 --- a/lib/compilers/assembly.js +++ b/lib/compilers/assembly.js @@ -87,20 +87,7 @@ export class AssemblyCompiler extends BaseCompiler { return this.postProcess(asmResult, outputFilename, filters); } - async objdump(outputFilename, result, maxSize, intelAsm, demangle) { - const realOutputFilename = this.getGeneratedOutputFilename(outputFilename); - const dirPath = path.dirname(realOutputFilename); - let args = ['-d', realOutputFilename, '-l', '--insn-width=16']; - if (demangle) args = args.concat('-C'); - if (intelAsm) args = args.concat(['-M', 'intel']); - const objResult = await this.exec( - this.compiler.objdumper, args, {maxOutput: maxSize, customCwd: dirPath}); - result.asm = objResult.stdout; - if (objResult.code !== 0) { - result.asm = '<No output: objdump returned ' + objResult.code + '>'; - } else { - result.objdumpTime = objResult.execTime; - } - return result; + getObjdumpOutputFilename(defaultOutputFilename) { + return this.getGeneratedOutputFilename(defaultOutputFilename); } } |