diff options
-rw-r--r-- | lld/ELF/Driver.cpp | 2 | ||||
-rw-r--r-- | lld/test/ELF/linkerscript/linkerscript.s | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index a2c96b87f34..67f067847c0 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -570,7 +570,6 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { Config->SortSection = getSortKind(Args); Config->Target2 = getTarget2Option(Args); Config->UnresolvedSymbols = getUnresolvedSymbolOption(Args); - Config->WarnMissingEntry = (Args.hasArg(OPT_entry) || !Config->Shared); // --omagic is an option to create old-fashioned executables in which // .text segments are writable. Today, the option is still in use to @@ -779,6 +778,7 @@ template <class ELFT> void LinkerDriver::link(opt::InputArgList &Args) { // Use default entry point name if no name was given via the command // line nor linker scripts. For some reason, MIPS entry point name is // different from others. + Config->WarnMissingEntry = (!Config->Entry.empty() || !Config->Shared); if (Config->Entry.empty() && !Config->Relocatable) Config->Entry = (Config->EMachine == EM_MIPS) ? "__start" : "_start"; diff --git a/lld/test/ELF/linkerscript/linkerscript.s b/lld/test/ELF/linkerscript/linkerscript.s index 718e1d2d35d..2b7ad8e46cb 100644 --- a/lld/test/ELF/linkerscript/linkerscript.s +++ b/lld/test/ELF/linkerscript/linkerscript.s @@ -83,6 +83,12 @@ # ENTRY-SCRIPT: Entry: 0x1 +# RUN: echo "ENTRY(no_such_symbol);" > %t.script +# RUN: ld.lld -o %t2 %t.script %t 2>&1 | \ +# RUN: FileCheck -check-prefix=ENTRY-MISSING %s + +# ENTRY-MISSING: warning: cannot find entry symbol no_such_symbol + # RUN: echo "OUTPUT_FORMAT(elf64-x86-64) /*/*/ GROUP(\"%t\" )" > %t.script # RUN: ld.lld -o %t2 %t.script # RUN: llvm-readobj %t2 > /dev/null |