Adjust default CPU for OpenBSD/arm and set proper ABI.
from Brad (maintainer)
This commit is contained in:
parent
422b6e6b4a
commit
dd092f3f2c
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.119 2016/09/18 07:46:32 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.120 2016/09/24 12:35:38 ajacoutot Exp $
|
||||
|
||||
# XXX: Remember to bump MODCLANG_VERSION in lang/clang/clang.port.mk when
|
||||
# updating this port.
|
||||
@ -9,7 +9,7 @@ DPB_PROPERTIES = parallel
|
||||
COMMENT = modular, fast C/C++/ObjC compiler, static analyzer and tools
|
||||
|
||||
LLVM_V = 3.8.1
|
||||
REVISION = 2
|
||||
REVISION = 3
|
||||
DISTNAME = llvm-${LLVM_V}.src
|
||||
PKGNAME = llvm-${LLVM_V}
|
||||
CATEGORIES = devel
|
||||
|
14
devel/llvm/patches/patch-lib_Support_Triple_cpp
Normal file
14
devel/llvm/patches/patch-lib_Support_Triple_cpp
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-lib_Support_Triple_cpp,v 1.3 2016/09/24 12:35:38 ajacoutot Exp $
|
||||
|
||||
Set default CPU for OpenBSD/arm to Cortex-A8
|
||||
|
||||
--- lib/Support/Triple.cpp.orig Mon Sep 19 20:57:02 2016
|
||||
+++ lib/Support/Triple.cpp Mon Sep 19 20:57:28 2016
|
||||
@@ -1426,6 +1426,7 @@ StringRef Triple::getARMCPUForArch(StringRef MArch) co
|
||||
return "strongarm";
|
||||
}
|
||||
case llvm::Triple::NaCl:
|
||||
+ case llvm::Triple::OpenBSD:
|
||||
return "cortex-a8";
|
||||
default:
|
||||
switch (getEnvironment()) {
|
@ -1,9 +1,10 @@
|
||||
$OpenBSD: patch-tools_clang_lib_Basic_Targets_cpp,v 1.15 2016/09/18 07:46:32 ajacoutot Exp $
|
||||
$OpenBSD: patch-tools_clang_lib_Basic_Targets_cpp,v 1.16 2016/09/24 12:35:38 ajacoutot Exp $
|
||||
|
||||
fix clang types on arm
|
||||
- [OpenBSD] Add type sign information for OpenBSD
|
||||
- Set ABI for ARM
|
||||
|
||||
--- tools/clang/lib/Basic/Targets.cpp.orig Sat Sep 17 13:20:27 2016
|
||||
+++ tools/clang/lib/Basic/Targets.cpp Sat Sep 17 13:22:32 2016
|
||||
--- tools/clang/lib/Basic/Targets.cpp.orig Tue May 24 15:36:54 2016
|
||||
+++ tools/clang/lib/Basic/Targets.cpp Mon Sep 19 20:59:16 2016
|
||||
@@ -4275,8 +4275,10 @@ class ARMTargetInfo : public TargetInfo {
|
||||
DoubleAlign = LongLongAlign = LongDoubleAlign = SuitableAlign = 64;
|
||||
const llvm::Triple &T = getTriple();
|
||||
@ -32,3 +33,12 @@ fix clang types on arm
|
||||
PtrDiffType = SignedLong;
|
||||
break;
|
||||
default:
|
||||
@@ -4525,6 +4529,8 @@ class ARMTargetInfo : public TargetInfo {
|
||||
default:
|
||||
if (Triple.getOS() == llvm::Triple::NetBSD)
|
||||
setABI("apcs-gnu");
|
||||
+ else if (Triple.getOS() == llvm::Triple::OpenBSD)
|
||||
+ setABI("aapcs-linux");
|
||||
else
|
||||
setABI("aapcs");
|
||||
break;
|
||||
|
@ -1,9 +1,9 @@
|
||||
$OpenBSD: patch-tools_clang_lib_Driver_ToolChains_cpp,v 1.7 2016/05/15 07:07:52 ajacoutot Exp $
|
||||
$OpenBSD: patch-tools_clang_lib_Driver_ToolChains_cpp,v 1.8 2016/09/24 12:35:38 ajacoutot Exp $
|
||||
|
||||
Use the integrated assembler by default on Sparc and Mips64.
|
||||
|
||||
--- tools/clang/lib/Driver/ToolChains.cpp.orig Tue Feb 16 14:56:48 2016
|
||||
+++ tools/clang/lib/Driver/ToolChains.cpp Sat May 14 20:34:32 2016
|
||||
+++ tools/clang/lib/Driver/ToolChains.cpp Sun Sep 18 19:00:06 2016
|
||||
@@ -2378,6 +2378,10 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const
|
||||
case llvm::Triple::ppc64:
|
||||
case llvm::Triple::ppc64le:
|
||||
|
@ -1,12 +1,13 @@
|
||||
$OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.33 2016/09/18 07:46:32 ajacoutot Exp $
|
||||
$OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.34 2016/09/24 12:35:38 ajacoutot Exp $
|
||||
|
||||
- Select proper SPARCv9 variant for the external assembler
|
||||
- For now, force soft-float on ARM
|
||||
- Set ABI for ARM
|
||||
- Produce EH frame header for all binaries
|
||||
- Link static PIEs with the correct C runtime (rcrt0.o)
|
||||
|
||||
--- tools/clang/lib/Driver/Tools.cpp.orig Fri Feb 12 17:51:41 2016
|
||||
+++ tools/clang/lib/Driver/Tools.cpp Sat Sep 17 18:37:22 2016
|
||||
+++ tools/clang/lib/Driver/Tools.cpp Mon Sep 19 20:58:33 2016
|
||||
@@ -78,7 +78,7 @@ static const char *getSparcAsmModeForCPU(StringRef Nam
|
||||
.Case("niagara2", "-Av9b")
|
||||
.Case("niagara3", "-Av9d")
|
||||
@ -27,7 +28,16 @@ $OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.33 2016/09/18 07:46:32 ajac
|
||||
default:
|
||||
switch (Triple.getEnvironment()) {
|
||||
case llvm::Triple::GNUEABIHF:
|
||||
@@ -7570,12 +7574,13 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
@@ -977,6 +981,8 @@ void Clang::AddARMTargetArgs(const llvm::Triple &Tripl
|
||||
default:
|
||||
if (Triple.getOS() == llvm::Triple::NetBSD)
|
||||
ABIName = "apcs-gnu";
|
||||
+ else if (Triple.getOS() == llvm::Triple::OpenBSD)
|
||||
+ ABIName = "aapcs-linux";
|
||||
else
|
||||
ABIName = "aapcs";
|
||||
break;
|
||||
@@ -7570,12 +7576,13 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
CmdArgs.push_back("__start");
|
||||
}
|
||||
|
||||
@ -42,7 +52,7 @@ $OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.33 2016/09/18 07:46:32 ajac
|
||||
CmdArgs.push_back("-Bdynamic");
|
||||
if (Args.hasArg(options::OPT_shared)) {
|
||||
CmdArgs.push_back("-shared");
|
||||
@@ -7600,6 +7605,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
@@ -7600,6 +7607,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
|
||||
@ -53,7 +63,7 @@ $OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.33 2016/09/18 07:46:32 ajac
|
||||
else
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
|
||||
@@ -7611,15 +7620,17 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
@@ -7611,15 +7622,17 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user