Unverified Commit 4e420e3f authored by Alexander Bantyev's avatar Alexander Bantyev Committed by GitHub
Browse files

llvmPackages: add comments for all patches in LLVM and CLang (#402816)

parents 58072cb5 bc2b4e77
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ stdenv.mkDerivation (
    patches =
      [
        (getVersionFile "clang/purity.patch")
        # Remove extraneous ".a" suffix from baremetal clang_rt.builtins when compiling for baremetal.
        # https://reviews.llvm.org/D51899
        (getVersionFile "clang/gnu-install-dirs.patch")
      ]
@@ -76,6 +77,7 @@ stdenv.mkDerivation (
        else
          ./ignore-nostd-link-13.diff
      )
      # Pass the correct path to libllvm
      ++ [
        (replaceVars
          (
@@ -112,6 +114,8 @@ stdenv.mkDerivation (
            stripLen = 1;
            hash = "sha256-Vs32kql7N6qtLqc12FtZHURcbenA7+N3E/nRRX3jdig=";
          })
      # Fixes a bunch of lambda-related crashes
      # https://github.com/llvm/llvm-project/pull/93206
      ++ lib.optional (lib.versions.major release_version == "18") (fetchpatch {
        name = "tweak-tryCaptureVariable-for-unevaluated-lambdas.patch";
        url = "https://github.com/llvm/llvm-project/commit/3d361b225fe89ce1d8c93639f27d689082bd8dad.patch";
+13 −2
Original line number Diff line number Diff line
@@ -123,8 +123,14 @@ stdenv.mkDerivation (
    ];

    patches =
      lib.optional (lib.versionOlder release_version "14") ./llvm-config-link-static.patch
      lib.optional (lib.versionOlder release_version "14")
        # When cross-compiling we configure llvm-config-native with an approximation
        # of the flags used for the normal LLVM build. To avoid the need for building
        # a native libLLVM.so (which would fail) we force llvm-config to be linked
        # statically against the necessary LLVM components always.
        ./llvm-config-link-static.patch
      ++ lib.optionals (lib.versions.major release_version == "12") [
        # Fix llvm being miscompiled by some gccs. See https://github.com/llvm/llvm-project/issues/49955
        (getVersionFile "llvm/fix-llvm-issue-49955.patch")

        # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
@@ -135,6 +141,9 @@ stdenv.mkDerivation (
          stripLen = 1;
        })
      ]
      # Support custom installation dirs
      # Originally based off https://reviews.llvm.org/D99484
      # Latest state: https://github.com/llvm/llvm-project/pull/125376
      ++ [ (getVersionFile "llvm/gnu-install-dirs.patch") ]
      ++ lib.optionals (lib.versionAtLeast release_version "15") [
        # Running the tests involves invoking binaries (like `opt`) that depend on
@@ -241,7 +250,8 @@ stdenv.mkDerivation (
          ]
      ++
        lib.optional (lib.versions.major release_version == "17")
          # resolves https://github.com/llvm/llvm-project/issues/75168
          # Fixes a crash with -fzero-call-used-regs=used-gpr
          # See also https://github.com/llvm/llvm-project/issues/75168
          (
            fetchpatch {
              name = "fix-fzero-call-used-regs.patch";
@@ -278,6 +288,7 @@ stdenv.mkDerivation (
            })
          ]
      ++ lib.optionals enablePolly [
        # Just like the `gnu-install-dirs` patch, but for `polly`.
        (getVersionFile "llvm/gnu-install-dirs-polly.patch")
      ]
      ++