diff options
Diffstat (limited to 'pkgs/development/compilers/gcc/patches/default.nix')
-rw-r--r-- | pkgs/development/compilers/gcc/patches/default.nix | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index 0afc6586511..c4b0dbf91b6 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -63,8 +63,8 @@ in ++ optionals (noSysDirs) ( [(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++ ({ - "13" = [ ./13/no-sys-dirs-riscv.patch ]; - "12" = [ ./no-sys-dirs-riscv.patch ]; + "13" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch ]; + "12" = [ ./no-sys-dirs-riscv.patch ./12/mangle-NIX_STORE-in-__FILE__.patch ]; "11" = [ ./no-sys-dirs-riscv.patch ]; "10" = [ ./no-sys-dirs-riscv.patch ]; "9" = [ ./no-sys-dirs-riscv-gcc9.patch ]; @@ -178,6 +178,9 @@ in # https://github.com/osx-cross/homebrew-avr/issues/280#issuecomment-1272381808 ++ optional (is11 && stdenv.isDarwin && targetPlatform.isAvr) ./avr-gcc-11.3-darwin.patch +# libgcc’s `configure` script misdetects aarch64-darwin, resulting in an invalid deployment target. +++ optional (is11 && stdenv.isDarwin && stdenv.isAarch64) ./11/libgcc-aarch64-darwin-detection.patch + # openjdk build fails without this on -march=opteron; is upstream in gcc12 ++ optionals (is11) [ ./11/gcc-issue-103910.patch ] @@ -191,12 +194,19 @@ in sha256 = "sha256-XtykrPd5h/tsnjY1wGjzSOJ+AyyNLsfnjuOZ5Ryq9vA="; }) +# Fix undefined symbol errors when building older versions with clang +++ optional (!atLeast11 && stdenv.cc.isClang && stdenv.hostPlatform.isDarwin) ./clang-genconditions.patch + ## gcc 9.0 and older ############################################################################## ++ optional (majorVersion == "9") ./9/fix-struct-redefinition-on-glibc-2.36.patch ++ optional (atLeast7 && !atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch +# Make Darwin bootstrap respect whether the assembler supports `--gstabs`, +# which is not supported by the clang integrated assembler used by default on Darwin. +++ optional (is9 && hostPlatform.isDarwin) ./9/gcc9-darwin-as-gstabs.patch + ## gcc 8.0 and older ############################################################################## @@ -204,6 +214,10 @@ in ++ optional (atLeast49 && !is49 && !atLeast9) ./libsanitizer-no-cyclades-9.patch ++ optional (is7 || is8) ./9/fix-struct-redefinition-on-glibc-2.36.patch +# Make Darwin bootstrap respect whether the assembler supports `--gstabs`, +# which is not supported by the clang integrated assembler used by default on Darwin. +++ optional (is8 && hostPlatform.isDarwin) ./8/gcc8-darwin-as-gstabs.patch + ## gcc 7.0 and older ############################################################################## @@ -240,6 +254,12 @@ in ./6/gnat-glibc234.patch ] +# The clang-based assembler used in darwin.cctools-llvm (LLVM >11) does not support piping input. +# Fortunately, it does not exhibit the problem GCC has with the cctools assembler. +# This patch can be dropped should darwin.cctools-llvm ever implement support. +++ optional (!atLeast7 && hostPlatform.isDarwin && lib.versionAtLeast (lib.getVersion stdenv.cc) "12") ./4.9/darwin-clang-as.patch + + ## gcc 4.9 and older ############################################################################## ++ optional (!atLeast6) ./parallel-bconfig.patch |