diff options
author | Tom Stellard <tstellar@redhat.com> | 2019-05-16 22:49:01 +0000 |
---|---|---|
committer | Tom Stellard <tstellar@redhat.com> | 2019-05-16 22:49:01 +0000 |
commit | 9124fda0adfec205856a1ecca76d2cead11a0e2c (patch) | |
tree | ff6b6d1264494d8b78b7efd76735f84da177d575 | |
parent | 4b1712f7006ca2ef05408e46cd7b745f153870bc (diff) | |
download | llvm-llvmorg-8.0.1-rc1.zip llvm-llvmorg-8.0.1-rc1.tar.gz llvm-llvmorg-8.0.1-rc1.tar.bz2 |
Merging r355038:llvmorg-8.0.1-rc1
------------------------------------------------------------------------
r355038 | joerg | 2019-02-27 13:53:14 -0800 (Wed, 27 Feb 2019) | 3 lines
Default to Secure PLT on PPC for NetBSD and OpenBSD.
This matches the default settings of clang.
------------------------------------------------------------------------
llvm-svn: 360950
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCSubtarget.cpp | 3 | ||||
-rw-r--r-- | llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp index c0cbfd7..1fdf745 100644 --- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp +++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp @@ -138,6 +138,9 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) { if (isDarwin()) HasLazyResolverStubs = true; + if (TargetTriple.isOSNetBSD() || TargetTriple.isOSOpenBSD()) + SecurePlt = true; + if (HasSPE && IsPPC64) report_fatal_error( "SPE is only supported for 32-bit targets.\n", false); if (HasSPE && (HasAltivec || HasQPX || HasVSX || HasFPU)) diff --git a/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll b/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll index d6e491e..272138e 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll @@ -1,5 +1,9 @@ ; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -relocation-model=pic | FileCheck -check-prefix=LARGE-BSS %s ; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s +; RUN: llc < %s -mtriple=powerpc-unknown-netbsd -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s +; RUN: llc < %s -mtriple=powerpc-unknown-netbsd -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s +; RUN: llc < %s -mtriple=powerpc-unknown-openbsd -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s +; RUN: llc < %s -mtriple=powerpc-unknown-openbsd -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s @bar = common global i32 0, align 4 declare i32 @call_foo(i32, ...) |