diff options
author | 2020-10-12 14:52:08 +0000 | |
---|---|---|
committer | 2020-10-12 14:52:08 +0000 | |
commit | e836804d54a63f0716bc1d6fcada314151129a64 (patch) | |
tree | bd1ee249ed1bb97b006689a9b0219eb78db72f10 /gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp | |
parent | Accommodate POSIX basename(3) that takes a non-const parameter and (diff) | |
download | wireguard-openbsd-e836804d54a63f0716bc1d6fcada314151129a64.tar.xz wireguard-openbsd-e836804d54a63f0716bc1d6fcada314151129a64.zip |
Add RETGUARD implementation for powerpc and powerpc64.
ok deraadt@ kettenis@
Diffstat (limited to 'gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp')
-rw-r--r-- | gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp b/gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp index 41d486c7046..c8e4003875a 100644 --- a/gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp +++ b/gnu/llvm/clang/lib/Driver/ToolChains/Clang.cpp @@ -5213,10 +5213,14 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, else if (A->getOption().matches(options::OPT_fret_protector)) RetProtector = 1; } + if (RetProtector && ((getToolChain().getArch() == llvm::Triple::x86_64) || (getToolChain().getArch() == llvm::Triple::mips64) || (getToolChain().getArch() == llvm::Triple::mips64el) || + (getToolChain().getArch() == llvm::Triple::ppc) || + (getToolChain().getArch() == llvm::Triple::ppc64) || + (getToolChain().getArch() == llvm::Triple::ppc64le) || (getToolChain().getArch() == llvm::Triple::aarch64)) && !Args.hasArg(options::OPT_fno_stack_protector) && !Args.hasArg(options::OPT_pg)) { |