nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

llvmPackages_20: 20.1.0-rc1 -> 20.1.0-rc2

authored by

Tristan Ross and committed by
Alyssa Ross
51c0eeb4 3efe0a9b

+12 -74
-53
pkgs/development/compilers/llvm/20/llvm/orcjit.patch
··· 1 - From 03d6f704d07aa3650a2f59be6f7802a8735460c3 Mon Sep 17 00:00:00 2001 2 - From: Lang Hames <lhames@gmail.com> 3 - Date: Wed, 29 Jan 2025 03:58:29 +0000 4 - Subject: [PATCH] [ORC][LLI] Remove redundant eh-frame registration plugin 5 - construction from lli. 6 - 7 - As of d0052ebbe2e the setUpGenericLLVMIRPlatform function will automatically 8 - add an instance of the EHFrameRegistrationPlugin (for LLJIT instances whose 9 - object linking layers are ObjectLinkingLayers, not RTDyldObjectLinkingLayers). 10 - 11 - This commit removes the redundant plugin creation in the object linking 12 - layer constructor function in lli.cpp to prevent duplicate registration of 13 - eh-frames, which is likely the cause of recent bot failures, e.g. 14 - https://lab.llvm.org/buildbot/#/builders/108/builds/8685. 15 - 16 - (cherry picked from commit 9052b37ab1aa67a039b34356f37236fecc42bac2) 17 - --- 18 - llvm/tools/lli/lli.cpp | 14 ++++---------- 19 - 1 file changed, 4 insertions(+), 10 deletions(-) 20 - 21 - diff --git a/llvm/tools/lli/lli.cpp b/tools/lli/lli.cpp 22 - index 448660a539a0b0..19246f03941673 100644 23 - --- a/llvm/tools/lli/lli.cpp 24 - +++ b/tools/lli/lli.cpp 25 - @@ -27,9 +27,7 @@ 26 - #include "llvm/ExecutionEngine/Orc/AbsoluteSymbols.h" 27 - #include "llvm/ExecutionEngine/Orc/DebugUtils.h" 28 - #include "llvm/ExecutionEngine/Orc/Debugging/DebuggerSupport.h" 29 - -#include "llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h" 30 - #include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" 31 - -#include "llvm/ExecutionEngine/Orc/EPCEHFrameRegistrar.h" 32 - #include "llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h" 33 - #include "llvm/ExecutionEngine/Orc/ExecutionUtils.h" 34 - #include "llvm/ExecutionEngine/Orc/IRPartitionLayer.h" 35 - @@ -1033,14 +1031,10 @@ int runOrcJIT(const char *ProgName) { 36 - Builder.getJITTargetMachineBuilder() 37 - ->setRelocationModel(Reloc::PIC_) 38 - .setCodeModel(CodeModel::Small); 39 - - Builder.setObjectLinkingLayerCreator([&P](orc::ExecutionSession &ES, 40 - - const Triple &TT) { 41 - - auto L = std::make_unique<orc::ObjectLinkingLayer>(ES); 42 - - if (P != LLJITPlatform::ExecutorNative) 43 - - L->addPlugin(std::make_unique<orc::EHFrameRegistrationPlugin>( 44 - - ES, ExitOnErr(orc::EPCEHFrameRegistrar::Create(ES)))); 45 - - return L; 46 - - }); 47 - + Builder.setObjectLinkingLayerCreator( 48 - + [&](orc::ExecutionSession &ES, const Triple &TT) { 49 - + return std::make_unique<orc::ObjectLinkingLayer>(ES); 50 - + }); 51 - } 52 - 53 - auto J = ExitOnErr(Builder.create());
+10 -4
pkgs/development/compilers/llvm/common/default.nix
··· 501 501 }) 502 502 ] 503 503 ++ 504 - lib.optional (lib.versions.major metadata.release_version == "20") 505 - # Fix OrcJIT 506 - # PR: https://github.com/llvm/llvm-project/pull/125431 507 - (metadata.getVersionFile "llvm/orcjit.patch"); 504 + lib.optional (lib.versionAtLeast metadata.release_version "20") 505 + # Fix OrcJIT tests with page sizes > 16k 506 + # PR: https://github.com/llvm/llvm-project/pull/127115 507 + ( 508 + fetchpatch { 509 + url = "https://github.com/llvm/llvm-project/commit/415607e10b56d0e6c4661ff1ec5b9b46bf433cba.patch"; 510 + stripLen = 1; 511 + hash = "sha256-vBbuduJB+NnNE9qtR93k64XKrwvc7w3vowjL/aT+iEA="; 512 + } 513 + ); 508 514 pollyPatches = 509 515 [ (metadata.getVersionFile "llvm/gnu-install-dirs-polly.patch") ] 510 516 ++ lib.optional (lib.versionAtLeast metadata.release_version "15")
+1 -16
pkgs/development/compilers/llvm/common/libc/default.nix
··· 14 14 ninja, 15 15 isFullBuild ? true, 16 16 linuxHeaders, 17 - fetchpatch, 18 17 }: 19 18 let 20 19 pname = "libc"; ··· 27 28 ''); 28 29 in 29 30 stdenv.mkDerivation (finalAttrs: { 30 - inherit pname version; 31 + inherit pname version patches; 31 32 32 33 src = src'; 33 34 34 35 sourceRoot = "${finalAttrs.src.name}/runtimes"; 35 - 36 - patches = 37 - lib.optional (lib.versions.major version == "20") 38 - # Removes invalid token from the LLVM version being placed in the namespace. 39 - # Can be removed when LLVM 20 bumps to rc2. 40 - # PR: https://github.com/llvm/llvm-project/pull/126284 41 - ( 42 - fetchpatch { 43 - url = "https://github.com/llvm/llvm-project/commit/3a3a3230d171e11842a9940b6da0f72022b1c5b3.patch"; 44 - stripLen = 1; 45 - hash = "sha256-QiU1cWp+027ZZNVdvfGVwbIoRd9jqtSbftGsmaW1gig="; 46 - } 47 - ) 48 - ++ patches; 49 36 50 37 nativeBuildInputs = 51 38 [
+1 -1
pkgs/development/compilers/llvm/default.nix
··· 30 30 "17.0.6".officialRelease.sha256 = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag="; 31 31 "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE="; 32 32 "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; 33 - "20.1.0-rc1".officialRelease.sha256 = "sha256-yOczbperlR20+iLoao9g0CR+Ml2mjTCx1cqP/9WOhME="; 33 + "20.1.0-rc2".officialRelease.sha256 = "sha256-lBx+MWfYBM6XSJozacALMGlo0DUUWqnsBQyO8lDljSo="; 34 34 "21.0.0-git".gitRelease = { 35 35 rev = "c9f1d2cbf18990311ea1287cc154e3784a10a3b0"; 36 36 rev-version = "21.0.0-unstable-2025-02-10";