summaryrefslogtreecommitdiff
path: root/user/llvm8/more-secure-plt.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-04-21 02:29:33 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-04-21 02:29:33 +0000
commit6b93a26bbafbfe94f22b895c0677f3e532393fcb (patch)
tree7130614f17c57345c12f3b475aa66fbacb0c6d49 /user/llvm8/more-secure-plt.patch
parent187dc661d66da6fb33295a37aa6f84ca4f9af90d (diff)
downloadpackages-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.patch28
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;
+ }