diff options
author | Martin Storsjö <martin@martin.st> | 2024-06-20 11:20:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-20 11:20:16 +0300 |
commit | acf675b63f9426e61aac2155e29280f7d21f9421 (patch) | |
tree | 2331d8628fbd43e1ff9bbff4d516b705e344c6fa /lld/MinGW/Driver.cpp | |
parent | b9ad0b6875950a0e161ad31447f796562f55a83a (diff) | |
download | llvm-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.cpp | 4 |
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, |