diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64.c b/compiler-rt/lib/builtins/cpu_model/aarch64.c index 604051f57984d..320da769aee8e 100644 --- a/compiler-rt/lib/builtins/cpu_model/aarch64.c +++ b/compiler-rt/lib/builtins/cpu_model/aarch64.c @@ -47,7 +47,7 @@ _Bool __aarch64_have_lse_atomics = false; #elif defined(__ANDROID__) #include "aarch64/hwcap.inc" #include "aarch64/lse_atomics/android.inc" -#elif __has_include() +#elif defined(__linux__) && __has_include() #include "aarch64/hwcap.inc" #include "aarch64/lse_atomics/sysauxv.inc" #else @@ -80,7 +80,7 @@ __attribute__((__visibility__("hidden"), __nocommon__)) #elif defined(__ANDROID__) #include "aarch64/fmv/mrs.inc" #include "aarch64/fmv/android.inc" -#elif __has_include() +#elif defined(__linux__) && __has_include() #include "aarch64/fmv/mrs.inc" #include "aarch64/fmv/sysauxv.inc" #else diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp index 2be7fc90a0e75..fa1831de53729 100644 --- a/llvm/lib/CodeGen/TargetLoweringBase.cpp +++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -1961,6 +1961,9 @@ void TargetLoweringBase::insertSSPDeclarations(Module &M) const { // Currently only support "standard" __stack_chk_guard. // TODO: add LOAD_STACK_GUARD support. Value *TargetLoweringBase::getSDagStackGuard(const Module &M) const { + if (getTargetMachine().getTargetTriple().isOSOpenBSD()) { + return M.getNamedValue("__guard_local"); + } return M.getNamedValue("__stack_chk_guard"); }