summaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains/NetBSD.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Driver/ToolChains/NetBSD.cpp')
-rw-r--r--lib/Driver/ToolChains/NetBSD.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/Driver/ToolChains/NetBSD.cpp b/lib/Driver/ToolChains/NetBSD.cpp
index 02caafda1657d..b1321cacaf7a3 100644
--- a/lib/Driver/ToolChains/NetBSD.cpp
+++ b/lib/Driver/ToolChains/NetBSD.cpp
@@ -164,7 +164,7 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
break;
case llvm::Triple::armeb:
case llvm::Triple::thumbeb:
- arm::appendEBLinkFlags(Args, CmdArgs, ToolChain.getEffectiveTriple());
+ arm::appendBE8LinkFlag(Args, CmdArgs, ToolChain.getEffectiveTriple());
CmdArgs.push_back("-m");
switch (ToolChain.getTriple().getEnvironment()) {
case llvm::Triple::EABI:
@@ -448,12 +448,24 @@ SanitizerMask NetBSD::getSupportedSanitizers() const {
Res |= SanitizerKind::Vptr;
}
if (IsX86_64) {
+ Res |= SanitizerKind::DataFlow;
Res |= SanitizerKind::Efficiency;
Res |= SanitizerKind::Fuzzer;
Res |= SanitizerKind::FuzzerNoLink;
+ Res |= SanitizerKind::HWAddress;
Res |= SanitizerKind::KernelAddress;
+ Res |= SanitizerKind::KernelHWAddress;
+ Res |= SanitizerKind::KernelMemory;
Res |= SanitizerKind::Memory;
Res |= SanitizerKind::Thread;
}
return Res;
}
+
+void NetBSD::addClangTargetOptions(const ArgList &,
+ ArgStringList &CC1Args,
+ Action::OffloadKind) const {
+ const SanitizerArgs &SanArgs = getSanitizerArgs();
+ if (SanArgs.hasAnySanitizer())
+ CC1Args.push_back("-D_REENTRANT");
+}