summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp')
-rw-r--r--lld/lib/ReaderWriter/MachO/MachOTargetInfo.cpp22
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";
OpenPOWER on IntegriCloud