Make clang build working binaries by linking against rcrt0 when
building static PIE binaries. This is also what Bitrig does ok tobiasu@ sthen@
This commit is contained in:
parent
1d3ba41251
commit
82a7713f75
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.114 2016/05/24 07:53:23 ajacoutot Exp $
|
||||
# $OpenBSD: Makefile,v 1.115 2016/07/06 16:33:35 stefan Exp $
|
||||
|
||||
# XXX: Remember to bump MODCLANG_VERSION in lang/clang/clang.port.mk when
|
||||
# updating this port.
|
||||
@ -11,7 +11,7 @@ COMMENT = modular, fast C/C++/ObjC compiler, static analyzer and tools
|
||||
LLVM_V = 3.8.0
|
||||
DISTNAME = llvm-${LLVM_V}.src
|
||||
PKGNAME = llvm-${LLVM_V}
|
||||
REVISION = 1
|
||||
REVISION = 2
|
||||
CATEGORIES = devel
|
||||
DISTFILES = llvm-${LLVM_V}.src${EXTRACT_SUFX} \
|
||||
cfe-${LLVM_V}.src${EXTRACT_SUFX}
|
||||
|
@ -1,6 +1,5 @@
|
||||
$OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.30 2016/05/24 07:53:23 ajacoutot Exp $
|
||||
--- tools/clang/lib/Driver/Tools.cpp.orig Fri Feb 12 17:51:41 2016
|
||||
+++ tools/clang/lib/Driver/Tools.cpp Tue May 17 14:45:22 2016
|
||||
--- tools/clang/lib/Driver/Tools.cpp.orig Fri Feb 12 23:51:41 2016
|
||||
+++ tools/clang/lib/Driver/Tools.cpp Sun Jun 26 20:24:44 2016
|
||||
@@ -78,7 +78,7 @@ static const char *getSparcAsmModeForCPU(StringRef Nam
|
||||
.Case("niagara2", "-Av9b")
|
||||
.Case("niagara3", "-Av9d")
|
||||
@ -10,7 +9,18 @@ $OpenBSD: patch-tools_clang_lib_Driver_Tools_cpp,v 1.30 2016/05/24 07:53:23 ajac
|
||||
} else {
|
||||
return llvm::StringSwitch<const char *>(Name)
|
||||
.Case("v8", "-Av8")
|
||||
@@ -7611,15 +7611,17 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
@@ -7600,6 +7600,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
|
||||
+ else if (Args.hasArg(options::OPT_static) &&
|
||||
+ !Args.hasArg(options::OPT_nopie))
|
||||
+ CmdArgs.push_back(
|
||||
+ Args.MakeArgString(getToolChain().GetFilePath("rcrt0.o")));
|
||||
else
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
|
||||
@@ -7611,15 +7615,17 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user