Bring in some patches from upstream..

Make sure PowerPC backend is in sync with the frontend and enable Secure PLT
support their too.


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/devel/llvm/Makefile,v
retrieving revision 1.216
diff -u -p -u -p -r1.216 Makefile
--- Makefile    9 Mar 2019 06:18:11 -0000       1.216
+++ Makefile    10 Mar 2019 21:39:41 -0000
@@ -20,7 +20,7 @@ PKGSPEC-main =        llvm-=${LLVM_V}
 PKGNAME-main = llvm-${LLVM_V}
 PKGNAME-python =       py-llvm-${LLVM_V}
 PKGNAME-lldb = lldb-${LLVM_V}
-REVISION-main =        9
+REVISION-main =        10
 REVISION-lldb =        0
 CATEGORIES =   devel
 DISTFILES =    llvm-${LLVM_V}.src${EXTRACT_SUFX} \
Index: patches/patch-lib_Target_PowerPC_PPCSubtarget_cpp
===================================================================
RCS file: patches/patch-lib_Target_PowerPC_PPCSubtarget_cpp
diff -N patches/patch-lib_Target_PowerPC_PPCSubtarget_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Target_PowerPC_PPCSubtarget_cpp   10 Mar 2019 22:12:43 
-0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Default to Secure PLT on PPC for NetBSD and OpenBSD.
+This matches the default settings of clang.
+
+Index: lib/Target/PowerPC/PPCSubtarget.cpp
+--- lib/Target/PowerPC/PPCSubtarget.cpp.orig
++++ lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -138,6 +138,9 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU
+   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))
Index: patches/patch-tools_clang_lib_Driver_ToolChains_Arch_PPC_cpp
===================================================================
RCS file: patches/patch-tools_clang_lib_Driver_ToolChains_Arch_PPC_cpp
diff -N patches/patch-tools_clang_lib_Driver_ToolChains_Arch_PPC_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_clang_lib_Driver_ToolChains_Arch_PPC_cpp        10 Mar 
2019 21:47:14 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Use Secure PLT as default on NetBSD/PowerPC.
+
+Index: tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp
+--- tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp.orig
++++ tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp
+@@ -116,7 +116,7 @@ ppc::ReadGOTPtrMode ppc::getPPCReadGOTPtrMode(const Dr
+                                               const ArgList &Args) {
+   if (Args.getLastArg(options::OPT_msecure_plt))
+     return ppc::ReadGOTPtrMode::SecurePlt;
+-  if (Triple.isOSOpenBSD())
++  if (Triple.isOSNetBSD() || Triple.isOSOpenBSD())
+     return ppc::ReadGOTPtrMode::SecurePlt;
+   else
+     return ppc::ReadGOTPtrMode::Bss;

Reply via email to