From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:46808) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQePa-0003Ha-4z for guix-patches@gnu.org; Mon, 20 Apr 2020 17:57:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQePX-0008Kb-SM for guix-patches@gnu.org; Mon, 20 Apr 2020 17:57:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37049) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQePW-0008JF-CU for guix-patches@gnu.org; Mon, 20 Apr 2020 17:57:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jQePW-0007qm-Ae for guix-patches@gnu.org; Mon, 20 Apr 2020 17:57:02 -0400 Subject: [bug#40739] [PATCH 1/5] gnu: llvm-for-extempore: Update to 3.8. References: In-Reply-To: Resent-Message-ID: From: Giacomo Leidi Date: Mon, 20 Apr 2020 23:56:13 +0200 Message-Id: <20200420215617.12194-1-goodoldpaul@autistici.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 40739@debbugs.gnu.org Cc: Giacomo Leidi * gnu/packages/llvm.scm (llvm-for-extempore): Update to 3.8. [source]: Use upstream patched source. * gnu/packages/patches/llvm-for-extempore.patch: Delete due to source being already patched. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/llvm.scm | 11 +- gnu/packages/patches/llvm-for-extempore.patch | 118 ------------------ 3 files changed, 8 insertions(+), 122 deletions(-) delete mode 100644 gnu/packages/patches/llvm-for-extempore.patch diff --git a/gnu/local.mk b/gnu/local.mk index fb0454fd45..196ccc8800 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1176,7 +1176,6 @@ dist_patch_DATA = \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ - %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 7236567a5e..3af39ea256 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Arm Ltd ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2020 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -601,12 +602,16 @@ output), and Binutils.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-for-extempore - (package (inherit llvm-3.7) + (package (inherit llvm-3.8) (name "llvm-for-extempore") (source (origin - (inherit (package-source llvm-3.7)) - (patches (list (search-patch "llvm-for-extempore.patch"))))) + (method url-fetch) + (uri (string-append "http://extempore.moso.com.au/extras/" + "llvm-3.8.0.src-patched-for-extempore.tar.xz")) + (sha256 + (base32 + "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))) ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")))) diff --git a/gnu/packages/patches/llvm-for-extempore.patch b/gnu/packages/patches/llvm-for-extempore.patch deleted file mode 100644 index 614682c6cb..0000000000 --- a/gnu/packages/patches/llvm-for-extempore.patch +++ /dev/null @@ -1,118 +0,0 @@ -This patch to LLVM is required by the developers of the Extempore language. -The following explanation was posted to the extemporelang@googlegroups.com -mailing list: - -"There is an assumption in the parser that all definitions occur within the -same compilation unit - i.e. the parser has local state about what has been -parsed in this unit of work. Extempore obviously does lots of little units -rather than one big unit and this causes problems for named types that were -defined in another unit - which they always are. The patch simply checks the -current module to see if the type has been previously defined, and intervenes -appropriately if it has." - -Message-ID: - ---- llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-04-11 12:11:45.000000000 +1000 -+++ llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-09-14 09:22:56.000000000 +1000 -@@ -16,7 +16,6 @@ - - #include "llvm/ADT/StringRef.h" - #include "llvm/MC/MCSection.h" --#include "llvm/Support/COFF.h" - - namespace llvm { - class MCSymbol; - ---- llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-07-11 20:30:36.000000000 +1000 -+++ llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-09-14 09:20:57.000000000 +1000 -@@ -1754,8 +1754,14 @@ - // If the type hasn't been defined yet, create a forward definition and - // remember where that forward def'n was seen (in case it never is defined). - if (!Entry.first) { -- Entry.first = StructType::create(Context, Lex.getStrVal()); -- Entry.second = Lex.getLoc(); -+ // this here for extempore -+ if (M->getTypeByName(Lex.getStrVal())) { -+ Entry.first = M->getTypeByName(Lex.getStrVal()); -+ Entry.second = SMLoc(); -+ } else { -+ Entry.first = StructType::create(Context, Lex.getStrVal()); -+ Entry.second = Lex.getLoc(); -+ } - } - Result = Entry.first; - Lex.Lex(); - ---- llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-07-01 05:10:31.000000000 +1000 -+++ llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-09-14 09:23:40.000000000 +1000 -@@ -32,6 +32,7 @@ - #include "llvm/MC/MCStreamer.h" - #include "llvm/MC/MCSymbolELF.h" - #include "llvm/MC/MCValue.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/Dwarf.h" - #include "llvm/Support/ELF.h" - #include "llvm/Support/ErrorHandling.h" - ---- llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-07-31 02:31:16.000000000 +1000 -+++ llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-09-14 09:21:28.000000000 +1000 -@@ -524,6 +524,17 @@ - rv.IntVal = APInt(32, PF(ArgValues[0].IntVal.getZExtValue())); - return rv; - } -+ if (FTy->getNumParams() == 1 && -+ RetTy->isVoidTy() && -+ FTy->getParamType(0)->isPointerTy()) { -+ GenericValue rv; -+ //void (*PF)(char *) = (void(*)(char *))(intptr_t)FPtr; -+ //printf("are symbols available: %d\n",isSymbolSearchingDisabled()); -+ void (*PF)(char *) = (void(*)(char *))FPtr; -+ char* mzone = (char*) GVTOP(ArgValues[0]); -+ PF(mzone); -+ return rv; -+ } - break; - } - } - ---- llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-06-23 21:31:32.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-09-14 09:24:01.000000000 +1000 -@@ -23,6 +23,7 @@ - #include "llvm/MC/MCSymbolCOFF.h" - #include "llvm/MC/MCSymbolELF.h" - #include "llvm/MC/MCSymbolMachO.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/ELF.h" - #include "llvm/Support/ErrorHandling.h" - #include "llvm/Support/FileSystem.h" - ---- llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-06-25 10:28:42.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-09-14 09:24:17.000000000 +1000 -@@ -16,6 +16,7 @@ - #include "llvm/MC/MCSectionCOFF.h" - #include "llvm/MC/MCSectionELF.h" - #include "llvm/MC/MCSectionMachO.h" -+#include "llvm/Support/COFF.h" - using namespace llvm; - - static bool useCompactUnwind(const Triple &T) { - ---- llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-06-09 10:31:39.000000000 +1000 -+++ llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-09-14 09:24:25.000000000 +1000 -@@ -11,6 +11,7 @@ - #include "llvm/MC/MCAsmInfo.h" - #include "llvm/MC/MCContext.h" - #include "llvm/MC/MCSymbol.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/raw_ostream.h" - using namespace llvm; - ---- llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-06-27 04:55:48.000000000 +1000 -+++ llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-09-14 09:25:03.000000000 +1000 -@@ -16,6 +16,7 @@ - #include "llvm/MC/MCSectionCOFF.h" - #include "llvm/MC/MCSectionELF.h" - #include "llvm/MC/MCValue.h" -+#include "llvm/Support/COFF.h" - #include "llvm/Support/Dwarf.h" - #include "llvm/Target/TargetLowering.h" -- 2.26.1