diff --git a/pkgs/development/compilers/llvm/18/mlir/mlir-add-include-cstdint.patch b/pkgs/development/compilers/llvm/18/mlir/mlir-add-include-cstdint.patch new file mode 100644 index 000000000000..181d53c54184 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/mlir/mlir-add-include-cstdint.patch @@ -0,0 +1,28 @@ +Rebase of 2 upstream commits: +https://github.com/llvm/llvm-project/commit/41eb186fbb024898bacc2577fa3b88db0510ba1f +https://github.com/llvm/llvm-project/commit/101109fc5460d5bb9bb597c6ec77f998093a6687 + +diff --git a/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h b/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h +index 451c466fa0c95..642e99d963ef6 100644 +--- a/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h ++++ b/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h +@@ -10,6 +10,7 @@ + #define MLIR_DIALECT_AFFINE_IR_VALUEBOUNDSOPINTERFACEIMPL_H + + #include "mlir/Support/LogicalResult.h" ++#include + + namespace mlir { + class DialectRegistry; +diff --git a/include/mlir/Target/SPIRV/Deserialization.h b/include/mlir/Target/SPIRV/Deserialization.h +index e39258beeaac8..a346a7fd1e5f7 100644 +--- a/include/mlir/Target/SPIRV/Deserialization.h ++++ b/include/mlir/Target/SPIRV/Deserialization.h +@@ -15,6 +15,7 @@ + + #include "mlir/IR/OwningOpRef.h" + #include "mlir/Support/LLVM.h" ++#include + + namespace mlir { + class MLIRContext; diff --git a/pkgs/development/compilers/llvm/19/mlir/mlir-add-include-cstdint.patch b/pkgs/development/compilers/llvm/19/mlir/mlir-add-include-cstdint.patch new file mode 100644 index 000000000000..3e1ff09bc3ef --- /dev/null +++ b/pkgs/development/compilers/llvm/19/mlir/mlir-add-include-cstdint.patch @@ -0,0 +1,29 @@ +Rebase of 2 upstream commits: +https://github.com/llvm/llvm-project/commit/41eb186fbb024898bacc2577fa3b88db0510ba1f +https://github.com/llvm/llvm-project/commit/101109fc5460d5bb9bb597c6ec77f998093a6687 + +diff --git a/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h b/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h +index 451c466fa0c95..642e99d963ef6 100644 +--- a/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h ++++ b/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h +@@ -10,6 +10,7 @@ + #define MLIR_DIALECT_AFFINE_IR_VALUEBOUNDSOPINTERFACEIMPL_H + + #include "mlir/Support/LLVM.h" ++#include + + namespace mlir { + class DialectRegistry; +diff --git a/include/mlir/Target/SPIRV/Deserialization.h b/include/mlir/Target/SPIRV/Deserialization.h +index e39258beeaac8..a346a7fd1e5f7 100644 +--- a/include/mlir/Target/SPIRV/Deserialization.h ++++ b/include/mlir/Target/SPIRV/Deserialization.h +@@ -15,6 +15,7 @@ + + #include "mlir/IR/OwningOpRef.h" + #include "mlir/Support/LLVM.h" ++#include + + namespace mlir { + class MLIRContext; + diff --git a/pkgs/development/compilers/llvm/common/lldb/default.nix b/pkgs/development/compilers/llvm/common/lldb/default.nix index f67da5042667..ac4c4fbacd7f 100644 --- a/pkgs/development/compilers/llvm/common/lldb/default.nix +++ b/pkgs/development/compilers/llvm/common/lldb/default.nix @@ -70,7 +70,14 @@ stdenv.mkDerivation ( sourceRoot = "${finalAttrs.src.name}/lldb"; - patches = [ ./gnu-install-dirs.patch ]; + patches = [ + ./gnu-install-dirs.patch + ] + ++ lib.optional (lib.versions.major release_version == "18") [ + # Fix build with gcc15 + # https://github.com/llvm/llvm-project/commit/bb59f04e7e75dcbe39f1bf952304a157f0035314 + ./lldb-add-include-cstdint.patch + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/development/compilers/llvm/common/lldb/lldb-add-include-cstdint.patch b/pkgs/development/compilers/llvm/common/lldb/lldb-add-include-cstdint.patch new file mode 100644 index 000000000000..2ca0b9a3eb38 --- /dev/null +++ b/pkgs/development/compilers/llvm/common/lldb/lldb-add-include-cstdint.patch @@ -0,0 +1,16 @@ +Rebase of upstream commit: +https://github.com/llvm/llvm-project/commit/bb59f04e7e75dcbe39f1bf952304a157f0035314 + +diff --git a/include/lldb/Utility/AddressableBits.h b/include/lldb/Utility/AddressableBits.h +index 0d27c3561ec27..8c7a1ec5f52c0 100644 +--- a/include/lldb/Utility/AddressableBits.h ++++ b/include/lldb/Utility/AddressableBits.h +@@ -12,6 +12,8 @@ + #include "lldb/lldb-forward.h" + ++#include ++ + namespace lldb_private { + + /// \class AddressableBits AddressableBits.h "lldb/Core/AddressableBits.h" + diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index a7821a0d976a..00171a97068e 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -193,6 +193,10 @@ stdenv.mkDerivation ( stripLen = 1; hash = "sha256-fqw5gTSEOGs3kAguR4tINFG7Xja1RAje+q67HJt2nGg="; }) + # Fix build with gcc15 + # https://github.com/llvm/llvm-project/commit/8f39502b85d34998752193e85f36c408d3c99248 + # https://github.com/llvm/llvm-project/commit/7abf44069aec61eee147ca67a6333fc34583b524 + ./llvm-add-include-cstdint.patch ] ++ lib.optionals (lib.versionOlder release_version "19") [ # Fixes test-suite on glibc 2.40 (https://github.com/llvm/llvm-project/pull/100804) diff --git a/pkgs/development/compilers/llvm/common/llvm/llvm-add-include-cstdint.patch b/pkgs/development/compilers/llvm/common/llvm/llvm-add-include-cstdint.patch new file mode 100644 index 000000000000..d1e327668bc5 --- /dev/null +++ b/pkgs/development/compilers/llvm/common/llvm/llvm-add-include-cstdint.patch @@ -0,0 +1,27 @@ +Rebase of 2 upstream commits: +https://github.com/llvm/llvm-project/commit/8f39502b85d34998752193e85f36c408d3c99248 +https://github.com/llvm/llvm-project/commit/7abf44069aec61eee147ca67a6333fc34583b524 + +diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +index 3ef00f75735b0..879dbe1b279b1 100644 +--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h ++++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +@@ -15,6 +15,7 @@ + #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + ++#include + #include + + namespace llvm { +diff --git a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +index e166b68668d9b..0e0e13e896aea 100644 +--- a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h ++++ b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +@@ -14,6 +14,7 @@ + #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H + ++#include + #include + #include + diff --git a/pkgs/development/compilers/llvm/common/mlir/default.nix b/pkgs/development/compilers/llvm/common/mlir/default.nix index ec4944c34aaf..c68f6a9b0b68 100644 --- a/pkgs/development/compilers/llvm/common/mlir/default.nix +++ b/pkgs/development/compilers/llvm/common/mlir/default.nix @@ -12,6 +12,7 @@ libllvm, version, devExtraCmakeFlags ? [ ], + getVersionFile, }: stdenv.mkDerivation (finalAttrs: { @@ -38,6 +39,12 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./gnu-install-dirs.patch + ] + ++ lib.optional (lib.versionOlder release_version "20") [ + # Fix build with gcc15 + # https://github.com/llvm/llvm-project/commit/41eb186fbb024898bacc2577fa3b88db0510ba1f + # https://github.com/llvm/llvm-project/commit/101109fc5460d5bb9bb597c6ec77f998093a6687 + (getVersionFile "mlir/mlir-add-include-cstdint.patch") ]; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/llvm/common/patches.nix b/pkgs/development/compilers/llvm/common/patches.nix index b97f8af6eae2..d8cd207f70f1 100644 --- a/pkgs/development/compilers/llvm/common/patches.nix +++ b/pkgs/development/compilers/llvm/common/patches.nix @@ -116,4 +116,16 @@ path = ../21; } ]; + "mlir/mlir-add-include-cstdint.patch" = [ + { + after = "18"; + before = "19"; + path = ../18; + } + { + after = "19"; + before = "20"; + path = ../19; + } + ]; }