Handle OUTPUT_FORMAT arguments in quotation marks
authorGalina Kistanova <gkistanova@gmail.com>
Sat, 3 Nov 2018 05:25:49 +0000 (05:25 +0000)
committerGalina Kistanova <gkistanova@gmail.com>
Sat, 3 Nov 2018 05:25:49 +0000 (05:25 +0000)
llvm-svn: 346068

lld/ELF/ScriptParser.cpp
lld/test/ELF/format-binary.test

index 2b9de7e..b180211 100644 (file)
@@ -384,7 +384,7 @@ void ScriptParser::readOutputArch() {
 }
 
 std::pair<ELFKind, uint16_t> ScriptParser::readBfdName() {
-  StringRef S = next();
+  StringRef S = unquote(next());
   if (S == "elf32-i386")
     return {ELF32LEKind, EM_386};
   if (S == "elf32-iamcu")
index 311cd77..7c554bb 100644 (file)
@@ -61,3 +61,9 @@
 # RUN: llvm-readobj %t.out -sections -section-data -symbols | FileCheck -check-prefix=X86-64 %s
 
 # X86-64: Format: ELF64-x86-64
+
+# RUN: echo 'OUTPUT_FORMAT("elf64-x86-64")' > %t.script
+# RUN: ld.lld -b binary %t.binary -T %t.script -o %t.out
+# RUN: llvm-readobj %t.out -sections -section-data -symbols | FileCheck -check-prefix=X86-64-in-quotes %s
+
+# X86-64-in-quotes: Format: ELF64-x86-64