diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-04-21 02:29:33 +0000 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-04-21 02:29:33 +0000 |
commit | 6b93a26bbafbfe94f22b895c0677f3e532393fcb (patch) | |
tree | 7130614f17c57345c12f3b475aa66fbacb0c6d49 /user/llvm8/more-secure-plt.patch | |
parent | 187dc661d66da6fb33295a37aa6f84ca4f9af90d (diff) | |
download | packages-6b93a26bbafbfe94f22b895c0677f3e532393fcb.tar.gz packages-6b93a26bbafbfe94f22b895c0677f3e532393fcb.tar.bz2 packages-6b93a26bbafbfe94f22b895c0677f3e532393fcb.tar.xz packages-6b93a26bbafbfe94f22b895c0677f3e532393fcb.zip |
user/llvm8: bump to 8.0.0
Diffstat (limited to 'user/llvm8/more-secure-plt.patch')
-rw-r--r-- | user/llvm8/more-secure-plt.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/user/llvm8/more-secure-plt.patch b/user/llvm8/more-secure-plt.patch new file mode 100644 index 000000000..6728e2765 --- /dev/null +++ b/user/llvm8/more-secure-plt.patch @@ -0,0 +1,28 @@ +--- a/lib/Target/PowerPC/PPCSubtarget.cpp ++++ b/lib/Target/PowerPC/PPCSubtarget.cpp +@@ -138,6 +138,10 @@ + if (isDarwin()) + HasLazyResolverStubs = true; + ++ // Set up musl-specific properties. ++ if (TargetTriple.getEnvironment() == Triple::Musl) ++ 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/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp +index c583fba8cab..6a9eedf89c5 100644 +--- a/lib/Target/PowerPC/PPCTargetMachine.cpp ++++ b/lib/Target/PowerPC/PPCTargetMachine.cpp +@@ -222,6 +222,10 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT, + if (TT.getArch() == Triple::ppc64) + return Reloc::PIC_; + ++ // musl needs SecurePlt, which depends on PIC. ++ if (TT.getEnvironment() == Triple::Musl) ++ return Reloc::PIC_; ++ + // Rest are static by default. + return Reloc::Static; + } |