diff options
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp b/lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp index d24680a7b91..f37496612fa 100644 --- a/lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp +++ b/lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp @@ -41,7 +41,25 @@ uint32_t MachOTargetInfo::getCPUSubType() const { } } -class GenericMachOTargetInfo final : public MachOTargetInfo { +bool MachOTargetInfo::addEntryPointLoadCommand() const { + switch (_options._outputKind) { + case OutputKind::Executable: + return true; + default: + return false; + } +} + +bool MachOTargetInfo::addUnixThreadLoadCommand() const { + switch (_options._outputKind) { + case OutputKind::Executable: + return true; + default: + return false; + } +} + +class GenericMachOTargetInfo LLVM_FINAL : public MachOTargetInfo { public: GenericMachOTargetInfo(const LinkerOptions &lo) : MachOTargetInfo(lo) {} @@ -49,6 +67,8 @@ public: virtual uint64_t getPageZeroSize() const { return getPageSize(); } virtual StringRef getEntry() const { + if (_options._outputKind != OutputKind::Executable) + return ""; if (!_options._entrySymbol.empty()) return _options._entrySymbol; return "_main"; |