aboutsummaryrefslogtreecommitdiff
path: root/lld/MinGW/Driver.cpp
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2024-06-20 11:20:16 +0300
committerGitHub <noreply@github.com>2024-06-20 11:20:16 +0300
commitacf675b63f9426e61aac2155e29280f7d21f9421 (patch)
tree2331d8628fbd43e1ff9bbff4d516b705e344c6fa /lld/MinGW/Driver.cpp
parentb9ad0b6875950a0e161ad31447f796562f55a83a (diff)
downloadllvm-acf675b63f9426e61aac2155e29280f7d21f9421.zip
llvm-acf675b63f9426e61aac2155e29280f7d21f9421.tar.gz
llvm-acf675b63f9426e61aac2155e29280f7d21f9421.tar.bz2
[LLD] [MinGW] Interpret an empty -entry option as no entry point (#96055)
This fixes https://github.com/llvm/llvm-project/issues/93309, and seems to match how GNU ld handles this case.
Diffstat (limited to 'lld/MinGW/Driver.cpp')
-rw-r--r--lld/MinGW/Driver.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lld/MinGW/Driver.cpp b/lld/MinGW/Driver.cpp
index 0d55d5b..35fd478 100644
--- a/lld/MinGW/Driver.cpp
+++ b/lld/MinGW/Driver.cpp
@@ -223,8 +223,10 @@ bool link(ArrayRef<const char *> argsArr, llvm::raw_ostream &stdoutOS,
StringRef s = a->getValue();
if (args.getLastArgValue(OPT_m) == "i386pe" && s.starts_with("_"))
add("-entry:" + s.substr(1));
- else
+ else if (!s.empty())
add("-entry:" + s);
+ else
+ add("-noentry");
}
if (args.hasArg(OPT_major_os_version, OPT_minor_os_version,