aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/assembly.js
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@jrtc27.com>2021-04-01 14:34:07 +0100
committerGitHub <noreply@github.com>2021-04-01 08:34:07 -0500
commitaf686e81f7a8d06c12b44272aa67c73d1ebb069b (patch)
treea4572b0c70bc42b20c0cca4d4edba71f2bec3119 /lib/compilers/assembly.js
parent1e3da6eefdc2a6bfaca14af340971a8159557105 (diff)
downloadcompiler-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.js17
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);
}
}