diff options
-rw-r--r-- | lld/ELF/Config.h | 2 | ||||
-rw-r--r-- | lld/ELF/Driver.cpp | 4 | ||||
-rw-r--r-- | lld/test/elf2/basic.s | 11 |
3 files changed, 8 insertions, 9 deletions
diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index f1ccdf301d1..0fa8d20adaa 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -18,7 +18,7 @@ namespace lld { namespace elf2 { struct Configuration { - llvm::StringRef OutputFile; + llvm::StringRef OutputFile = "a.out"; llvm::StringRef DynamicLinker; std::string RPath; std::vector<llvm::StringRef> InputSearchPaths; diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index d16db1db1df..9cee71eac88 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -99,13 +99,9 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) { // Parse command line options. opt::InputArgList Args = Parser.parse(ArgsArr); - // Handle -o if (auto *Arg = Args.getLastArg(OPT_output)) Config->OutputFile = Arg->getValue(); - if (Config->OutputFile.empty()) - error("-o must be specified."); - // Handle -dynamic-linker if (auto *Arg = Args.getLastArg(OPT_dynamic_linker)) Config->DynamicLinker = Arg->getValue(); diff --git a/lld/test/elf2/basic.s b/lld/test/elf2/basic.s index 55bc61b14b7..fa5ff09aca8 100644 --- a/lld/test/elf2/basic.s +++ b/lld/test/elf2/basic.s @@ -1,8 +1,14 @@ +# REQUIRES: x86 + # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t # RUN: lld -flavor gnu2 %t -o %t2 # RUN: llvm-readobj -file-headers -sections -program-headers -symbols %t2 \ # RUN: | FileCheck %s -# REQUIRES: x86 + +# RUN: mkdir -p %t.dir +# RUN: (cd %t.dir && lld -flavor gnu2 %t) +# RUN: llvm-readobj -file-headers -sections -program-headers -symbols \ +# RUN: %t.dir/a.out | FileCheck %s # exits with return code 42 on linux .globl _start; @@ -181,9 +187,6 @@ _start: # RUN: llvm-readobj -file-headers -sections -program-headers -symbols %t2 \ # RUN: | FileCheck %s -# RUN: not lld -flavor gnu2 %t 2>&1 | FileCheck --check-prefix=NO_O %s -# NO_O: -o must be specified. - # RUN: not lld -flavor gnu2 %t.foo -o %t2 2>&1 | \ # RUN: FileCheck --check-prefix=MISSING %s # MISSING: cannot open {{.*}}.foo: {{[Nn]}}o such file or directory |