diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 7b1ee7946017..806846e77cdf 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -321,6 +321,7 @@ template void LinkerDriver::link(opt::InputArgList &Args) { InitializeAllTargets(); InitializeAllTargetMCs(); InitializeAllAsmPrinters(); + InitializeAllAsmParsers(); SymbolTable Symtab; std::unique_ptr TI(createTarget()); diff --git a/lld/test/ELF/lto/inline-asm.ll b/lld/test/ELF/lto/inline-asm.ll new file mode 100644 index 000000000000..b6af6a5a5cbb --- /dev/null +++ b/lld/test/ELF/lto/inline-asm.ll @@ -0,0 +1,11 @@ +; REQUIRES: x86 +; RUN: llvm-as %s -o %t.o +; RUN: ld.lld -m elf_x86_64 %t.o -o %t.so -shared + +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +define void @foo() { + call void asm "nop", ""() + ret void +}