Skip to content

Commit 4c2e3e9

Browse files
authored
Merge pull request #61864 from mhjacobson/freebsd-use-lld-not-gold
2 parents 7944635 + 028fcd0 commit 4c2e3e9

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

lib/Driver/Driver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ Driver::buildToolChain(const llvm::opt::InputArgList &ArgList) {
357357
return std::make_unique<toolchains::Android>(*this, target);
358358
return std::make_unique<toolchains::GenericUnix>(*this, target);
359359
case llvm::Triple::FreeBSD:
360-
return std::make_unique<toolchains::GenericUnix>(*this, target);
360+
return std::make_unique<toolchains::FreeBSD>(*this, target);
361361
case llvm::Triple::OpenBSD:
362362
return std::make_unique<toolchains::OpenBSD>(*this, target);
363363
case llvm::Triple::Win32:

lib/Driver/ToolChains.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,16 @@ class LLVM_LIBRARY_VISIBILITY OpenBSD : public GenericUnix {
194194
~OpenBSD() = default;
195195
};
196196

197+
class LLVM_LIBRARY_VISIBILITY FreeBSD : public GenericUnix {
198+
protected:
199+
std::string getDefaultLinker() const override;
200+
201+
public:
202+
FreeBSD(const Driver &D, const llvm::Triple &Triple)
203+
: GenericUnix(D, Triple) {}
204+
~FreeBSD() = default;
205+
};
206+
197207
} // end namespace toolchains
198208
} // end namespace driver
199209
} // end namespace swift

lib/Driver/UnixToolChains.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,3 +429,7 @@ std::string toolchains::Cygwin::getDefaultLinker() const {
429429
std::string toolchains::OpenBSD::getDefaultLinker() const {
430430
return "lld";
431431
}
432+
433+
std::string toolchains::FreeBSD::getDefaultLinker() const {
434+
return "lld";
435+
}

0 commit comments

Comments
 (0)