From cbb02a6e7ff30688705041453b633a187675c43f Mon Sep 17 00:00:00 2001 From: jca Date: Sun, 8 Sep 2019 10:40:39 +0000 Subject: [PATCH] Update to llvm-8.0.1 Similar diff from Brad; bulk build by ajacoutot@ --- devel/include-what-you-use/Makefile | 5 +++-- devel/llvm/Makefile | 8 +++----- devel/llvm/distinfo | 16 ++++++++-------- ...et_Mips_MCTargetDesc_MipsTargetStreamer_cpp | 18 +++++++++--------- .../patch-lib_Target_X86_X86TargetMachine_cpp | 4 ++-- ...tools_clang_lib_Driver_ToolChains_Clang_cpp | 10 +++++----- .../patch-tools_lld_ELF_SyntheticSections_cpp | 4 ++-- .../patches/patch-tools_lld_ELF_Writer_cpp | 8 ++++---- lang/clang/clang.port.mk | 4 ++-- 9 files changed, 38 insertions(+), 39 deletions(-) diff --git a/devel/include-what-you-use/Makefile b/devel/include-what-you-use/Makefile index 0e1636f6cc7..16f9615efb8 100644 --- a/devel/include-what-you-use/Makefile +++ b/devel/include-what-you-use/Makefile @@ -1,9 +1,10 @@ -# $OpenBSD: Makefile,v 1.17 2019/07/06 15:07:55 jca Exp $ +# $OpenBSD: Makefile,v 1.18 2019/09/08 10:40:39 jca Exp $ COMMENT= tool to analyse \#includes in C and C++ source files CATEGORIES= devel DISTNAME= include-what-you-use-0.12.src PKGNAME= ${DISTNAME:.src=} +REVISION= 0 HOMEPAGE= https://include-what-you-use.org MASTER_SITES= ${HOMEPAGE}/downloads/ @@ -15,7 +16,7 @@ MAINTAINER= Jonathan Gray PERMIT_PACKAGE= Yes WANTLIB= ${COMPILER_LIBCXX} c m pthread -LLVM_V= 8.0.0 +LLVM_V= 8.0.1 BUILD_DEPENDS= devel/llvm>=${LLVM_V} RUN_DEPENDS= devel/llvm>=${LLVM_V} diff --git a/devel/llvm/Makefile b/devel/llvm/Makefile index 02d4693122e..faafbd0eb64 100644 --- a/devel/llvm/Makefile +++ b/devel/llvm/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.232 2019/08/10 19:41:07 naddy Exp $ +# $OpenBSD: Makefile,v 1.233 2019/09/08 10:40:39 jca Exp $ # XXX If broken on an architecture, remove the arch from LLVM_ARCHS. ONLY_FOR_ARCHS = ${LLVM_ARCHS} @@ -11,15 +11,13 @@ COMMENT-python = Python bindings for Clang # XXX: Remember to bump MODCLANG_VERSION in lang/clang/clang.port.mk when # updating this port. -LLVM_V = 8.0.0 +LLVM_V = 8.0.1 DISTNAME = llvm-${LLVM_V}.src PKGNAME = llvm-${LLVM_V} PKGSPEC-main = llvm-=${LLVM_V} PKGNAME-main = llvm-${LLVM_V} PKGNAME-python = py-llvm-${LLVM_V} PKGNAME-lldb = lldb-${LLVM_V} -REVISION = 1 -REVISION-main = 3 CATEGORIES = devel @@ -36,7 +34,7 @@ MAINTAINER= Jeremie Courreges-Anglas # BSD PERMIT_PACKAGE = Yes -MASTER_SITES = https://releases.llvm.org/${LLVM_V}/ +MASTER_SITES = https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_V}/ EXTRACT_SUFX = .tar.xz DISTFILES = llvm-${LLVM_V}.src${EXTRACT_SUFX} \ cfe-${LLVM_V}.src${EXTRACT_SUFX} \ diff --git a/devel/llvm/distinfo b/devel/llvm/distinfo index 8cfc3c3e850..2c7b4742d52 100644 --- a/devel/llvm/distinfo +++ b/devel/llvm/distinfo @@ -1,8 +1,8 @@ -SHA256 (cfe-8.0.0.src.tar.xz) = CEwRWqsAhOY7I+7owjOrtnOcOZ4plm6uzPxuCI4Lc2s= -SHA256 (lld-8.0.0.src.tar.xz) = nK7I7JIuMv+hMPD7COTFokLX5oznV2MeQl6eui4abjc= -SHA256 (lldb-8.0.0.src.tar.xz) = SZGLnwmBZVSiCsRMX4WjLcCnoAdZsyWeeAZNZ06sA3M= -SHA256 (llvm-8.0.0.src.tar.xz) = iHK+GxLGFFDKzIKz0VPqsCviVG7zT6NYDtFBN7smIkw= -SIZE (cfe-8.0.0.src.tar.xz) = 12868468 -SIZE (lld-8.0.0.src.tar.xz) = 999864 -SIZE (lldb-8.0.0.src.tar.xz) = 19602332 -SIZE (llvm-8.0.0.src.tar.xz) = 30503732 +SHA256 (cfe-8.0.1.src.tar.xz) = cO/9afeoqySfZrCmirqLCK9Sqiq3EN+4oPuhAmhbFkY= +SHA256 (lld-8.0.1.src.tar.xz) = n7oelCSb15E+imw6rcswi3bIw9g8XONsmcPzTXOHPYg= +SHA256 (lldb-8.0.1.src.tar.xz) = 6Kebqm0R3QZQq0obR59pnfrYKvYny7zUn6by3BThMdc= +SHA256 (llvm-8.0.1.src.tar.xz) = RHh6bQL3FA8UXiJQ1WyfhJM04R+a43mCdRDtcvErdec= +SIZE (cfe-8.0.1.src.tar.xz) = 12810056 +SIZE (lld-8.0.1.src.tar.xz) = 996440 +SIZE (lldb-8.0.1.src.tar.xz) = 19586288 +SIZE (llvm-8.0.1.src.tar.xz) = 30477608 diff --git a/devel/llvm/patches/patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp b/devel/llvm/patches/patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp index 190c4441296..cec2738274e 100644 --- a/devel/llvm/patches/patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp +++ b/devel/llvm/patches/patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp @@ -1,4 +1,4 @@ -$OpenBSD: patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp,v 1.1 2019/07/09 13:21:37 jca Exp $ +$OpenBSD: patch-lib_Target_Mips_MCTargetDesc_MipsTargetStreamer_cpp,v 1.2 2019/09/08 10:40:39 jca Exp $ - Implement .cplocal directive. Needed when building libcrypto. @@ -23,7 +23,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp } /// Emit a store instruction with an immediate offset. -@@ -1133,7 +1133,7 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign +@@ -1136,7 +1136,7 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign MCInst TmpInst; TmpInst.setOpcode(Mips::LUi); @@ -32,7 +32,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp const MCExpr *HiSym = MipsMCExpr::create( MipsMCExpr::MEK_HI, MCSymbolRefExpr::create("_gp_disp", MCSymbolRefExpr::VK_None, -@@ -1145,8 +1145,8 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign +@@ -1148,8 +1148,8 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign TmpInst.clear(); TmpInst.setOpcode(Mips::ADDiu); @@ -43,7 +43,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp const MCExpr *LoSym = MipsMCExpr::create( MipsMCExpr::MEK_LO, MCSymbolRefExpr::create("_gp_disp", MCSymbolRefExpr::VK_None, -@@ -1158,8 +1158,8 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign +@@ -1161,8 +1161,8 @@ void MipsTargetELFStreamer::emitDirectiveCpLoad(unsign TmpInst.clear(); TmpInst.setOpcode(Mips::ADDu); @@ -54,7 +54,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp TmpInst.addOperand(MCOperand::createReg(RegNo)); getStreamer().EmitInstruction(TmpInst, STI); -@@ -1182,7 +1182,7 @@ bool MipsTargetELFStreamer::emitDirectiveCpRestore( +@@ -1185,7 +1185,7 @@ bool MipsTargetELFStreamer::emitDirectiveCpRestore( return true; // Store the $gp on the stack. @@ -63,7 +63,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp STI); return true; } -@@ -1203,10 +1203,10 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig +@@ -1206,10 +1206,10 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig // Either store the old $gp in a register or on the stack if (IsReg) { // move $save, $gpreg @@ -76,7 +76,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp } if (getABI().IsN32()) { -@@ -1219,10 +1219,10 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig +@@ -1222,10 +1222,10 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig MCA.getContext()); // lui $gp, %hi(__gnu_local_gp) @@ -89,7 +89,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp SMLoc(), &STI); return; -@@ -1236,14 +1236,14 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig +@@ -1239,14 +1239,14 @@ void MipsTargetELFStreamer::emitDirectiveCpsetup(unsig MCA.getContext()); // lui $gp, %hi(%neg(%gp_rel(funcSym))) @@ -107,7 +107,7 @@ Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp } void MipsTargetELFStreamer::emitDirectiveCpreturn(unsigned SaveLocation, -@@ -1256,12 +1256,12 @@ void MipsTargetELFStreamer::emitDirectiveCpreturn(unsi +@@ -1259,12 +1259,12 @@ void MipsTargetELFStreamer::emitDirectiveCpreturn(unsi // Either restore the old $gp from a register or on the stack if (SaveLocationIsRegister) { Inst.setOpcode(Mips::OR); diff --git a/devel/llvm/patches/patch-lib_Target_X86_X86TargetMachine_cpp b/devel/llvm/patches/patch-lib_Target_X86_X86TargetMachine_cpp index 4eba8f0c464..dcef19a8303 100644 --- a/devel/llvm/patches/patch-lib_Target_X86_X86TargetMachine_cpp +++ b/devel/llvm/patches/patch-lib_Target_X86_X86TargetMachine_cpp @@ -1,4 +1,4 @@ -$OpenBSD: patch-lib_Target_X86_X86TargetMachine_cpp,v 1.3 2019/07/06 15:06:36 jca Exp $ +$OpenBSD: patch-lib_Target_X86_X86TargetMachine_cpp,v 1.4 2019/09/08 10:40:39 jca Exp $ Add a clang pass that identifies potential ROP gadgets and replaces ROP friendly instructions with safe alternatives. This initial commit fixes @@ -9,7 +9,7 @@ this framework. Index: lib/Target/X86/X86TargetMachine.cpp --- lib/Target/X86/X86TargetMachine.cpp.orig +++ lib/Target/X86/X86TargetMachine.cpp -@@ -504,6 +504,7 @@ void X86PassConfig::addPreEmitPass() { +@@ -505,6 +505,7 @@ void X86PassConfig::addPreEmitPass() { } addPass(createX86DiscriminateMemOpsPass()); addPass(createX86InsertPrefetchPass()); diff --git a/devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_Clang_cpp b/devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_Clang_cpp index 718b793ee98..c62e1c5587c 100644 --- a/devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_Clang_cpp +++ b/devel/llvm/patches/patch-tools_clang_lib_Driver_ToolChains_Clang_cpp @@ -1,4 +1,4 @@ -$OpenBSD: patch-tools_clang_lib_Driver_ToolChains_Clang_cpp,v 1.9 2019/07/06 15:06:36 jca Exp $ +$OpenBSD: patch-tools_clang_lib_Driver_ToolChains_Clang_cpp,v 1.10 2019/09/08 10:40:39 jca Exp $ - Make LLVM create strict aligned code for OpenBSD/arm64. - Disable -fstrict-aliasing per default on OpenBSD. @@ -32,7 +32,7 @@ $OpenBSD: patch-tools_clang_lib_Driver_ToolChains_Clang_cpp,v 1.9 2019/07/06 15: Index: tools/clang/lib/Driver/ToolChains/Clang.cpp --- tools/clang/lib/Driver/ToolChains/Clang.cpp.orig +++ tools/clang/lib/Driver/ToolChains/Clang.cpp -@@ -3893,9 +3893,12 @@ void Clang::ConstructJob(Compilation &C, const JobActi +@@ -3899,9 +3899,12 @@ void Clang::ConstructJob(Compilation &C, const JobActi OFastEnabled ? options::OPT_Ofast : options::OPT_fstrict_aliasing; // We turn strict aliasing off by default if we're in CL mode, since MSVC // doesn't do any TBAA. @@ -47,7 +47,7 @@ Index: tools/clang/lib/Driver/ToolChains/Clang.cpp CmdArgs.push_back("-relaxed-aliasing"); if (!Args.hasFlag(options::OPT_fstruct_path_tbaa, options::OPT_fno_struct_path_tbaa)) -@@ -4521,7 +4524,8 @@ void Clang::ConstructJob(Compilation &C, const JobActi +@@ -4527,7 +4530,8 @@ void Clang::ConstructJob(Compilation &C, const JobActi options::OPT_fno_strict_overflow)) { if (A->getOption().matches(options::OPT_fno_strict_overflow)) CmdArgs.push_back("-fwrapv"); @@ -57,7 +57,7 @@ Index: tools/clang/lib/Driver/ToolChains/Clang.cpp if (Arg *A = Args.getLastArg(options::OPT_freroll_loops, options::OPT_fno_reroll_loops)) -@@ -4538,9 +4542,44 @@ void Clang::ConstructJob(Compilation &C, const JobActi +@@ -4544,9 +4548,44 @@ void Clang::ConstructJob(Compilation &C, const JobActi false)) CmdArgs.push_back(Args.MakeArgString("-mspeculative-load-hardening")); @@ -103,7 +103,7 @@ Index: tools/clang/lib/Driver/ToolChains/Clang.cpp // Translate -mstackrealign if (Args.hasFlag(options::OPT_mstackrealign, options::OPT_mno_stackrealign, false)) -@@ -5023,6 +5062,18 @@ void Clang::ConstructJob(Compilation &C, const JobActi +@@ -5029,6 +5068,18 @@ void Clang::ConstructJob(Compilation &C, const JobActi options::OPT_fno_rewrite_imports, false); if (RewriteImports) CmdArgs.push_back("-frewrite-imports"); diff --git a/devel/llvm/patches/patch-tools_lld_ELF_SyntheticSections_cpp b/devel/llvm/patches/patch-tools_lld_ELF_SyntheticSections_cpp index 8aa18258d24..2ea3d8affd8 100644 --- a/devel/llvm/patches/patch-tools_lld_ELF_SyntheticSections_cpp +++ b/devel/llvm/patches/patch-tools_lld_ELF_SyntheticSections_cpp @@ -1,4 +1,4 @@ -$OpenBSD: patch-tools_lld_ELF_SyntheticSections_cpp,v 1.12 2019/07/09 13:21:37 jca Exp $ +$OpenBSD: patch-tools_lld_ELF_SyntheticSections_cpp,v 1.13 2019/09/08 10:40:39 jca Exp $ - When merging sections into the output, lld tries to adjust the alignment of the section to be at least as large as the entry size of the section. @@ -10,7 +10,7 @@ $OpenBSD: patch-tools_lld_ELF_SyntheticSections_cpp,v 1.12 2019/07/09 13:21:37 j Index: tools/lld/ELF/SyntheticSections.cpp --- tools/lld/ELF/SyntheticSections.cpp.orig +++ tools/lld/ELF/SyntheticSections.cpp -@@ -2996,7 +2996,9 @@ void elf::mergeSections() { +@@ -3001,7 +3001,9 @@ void elf::mergeSections() { } StringRef OutsecName = getOutputSectionName(MS); diff --git a/devel/llvm/patches/patch-tools_lld_ELF_Writer_cpp b/devel/llvm/patches/patch-tools_lld_ELF_Writer_cpp index da70828fea2..390ea8ab63d 100644 --- a/devel/llvm/patches/patch-tools_lld_ELF_Writer_cpp +++ b/devel/llvm/patches/patch-tools_lld_ELF_Writer_cpp @@ -1,4 +1,4 @@ -$OpenBSD: patch-tools_lld_ELF_Writer_cpp,v 1.11 2019/07/06 15:06:36 jca Exp $ +$OpenBSD: patch-tools_lld_ELF_Writer_cpp,v 1.12 2019/09/08 10:40:39 jca Exp $ - Merge '.openbsd.randomdata.*' sections into a single '.openbsd.randomdata' section when linking, as we do when using ld from binutils. @@ -28,7 +28,7 @@ Index: tools/lld/ELF/Writer.cpp ElfSym::End1 = Add("end", -1); ElfSym::End2 = Add("_end", -1); ElfSym::Etext1 = Add("etext", -1); -@@ -703,7 +705,11 @@ static bool isRelroSection(const OutputSection *Sec) { +@@ -708,7 +710,11 @@ static bool isRelroSection(const OutputSection *Sec) { // However, if "-z now" is given, the lazy symbol resolution is // disabled, which enables us to put it into RELRO. if (Sec == In.GotPlt->getParent()) @@ -40,7 +40,7 @@ Index: tools/lld/ELF/Writer.cpp // .dynamic section contains data for the dynamic linker, and // there's no need to write to it at runtime, so it's better to put -@@ -1006,6 +1012,9 @@ template void Writer::setReservedSy +@@ -1011,6 +1017,9 @@ template void Writer::setReservedSy if (ElfSym::Bss) ElfSym::Bss->Section = findSection(".bss"); @@ -50,7 +50,7 @@ Index: tools/lld/ELF/Writer.cpp // Setup MIPS _gp_disp/__gnu_local_gp symbols which should // be equal to the _gp symbol's value. if (ElfSym::MipsGp) { -@@ -2042,6 +2051,23 @@ template void Writer::fixSectionAli +@@ -2047,6 +2056,23 @@ template void Writer::fixSectionAli return alignTo(Script->getDot(), Config->MaxPageSize); }; }; diff --git a/lang/clang/clang.port.mk b/lang/clang/clang.port.mk index 5f08d9a5f69..572431d9386 100644 --- a/lang/clang/clang.port.mk +++ b/lang/clang/clang.port.mk @@ -1,6 +1,6 @@ -# $OpenBSD: clang.port.mk,v 1.33 2019/07/06 15:06:37 jca Exp $ +# $OpenBSD: clang.port.mk,v 1.34 2019/09/08 10:40:39 jca Exp $ -MODCLANG_VERSION= 8.0.0 +MODCLANG_VERSION= 8.0.1 MODCLANG_ARCHS ?= ${LLVM_ARCHS} MODCLANG_LANGS ?=