From bab20c7df7025b680038b276408546ac14b7afd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Aug 2023 16:51:03 +0200 Subject: [PATCH 1/4] gcc10: 10.4.0 -> 10.5.0 This dropped file now seems unused. --- pkgs/development/compilers/gcc/10/default.nix | 5 +-- ...ix-struct-redefinition-on-glibc-2.36.patch | 41 ------------------- 2 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 pkgs/development/compilers/gcc/11/fix-struct-redefinition-on-glibc-2.36.patch diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index ff473019de77..e4444110adab 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -48,14 +48,13 @@ with lib; with builtins; let majorVersion = "10"; - version = "${majorVersion}.4.0"; + version = "${majorVersion}.5.0"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; patches = [ # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch - ../11/fix-struct-redefinition-on-glibc-2.36.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch @@ -150,7 +149,7 @@ lib.pipe ((callFile ../common/builder.nix {}) ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "1wg4xdizkksmwi66mvv2v4pk3ja8x64m7v9gzhykzd3wrmdpsaf9"; + hash = "sha256-JRCVQ/30bzl8NHtdi3osflaUpaUczkucbh6opxyjB8E="; }; inherit patches; diff --git a/pkgs/development/compilers/gcc/11/fix-struct-redefinition-on-glibc-2.36.patch b/pkgs/development/compilers/gcc/11/fix-struct-redefinition-on-glibc-2.36.patch deleted file mode 100644 index 3f5f64a3d074..000000000000 --- a/pkgs/development/compilers/gcc/11/fix-struct-redefinition-on-glibc-2.36.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d2356ebb0084a0d80dbfe33040c9afe938c15d19 Mon Sep 17 00:00:00 2001 -From: Martin Liska -Date: Mon, 11 Jul 2022 22:03:14 +0200 -Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream - -9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 - -(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe) ---- - .../sanitizer_platform_limits_posix.cpp | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -index 025e575b5bc7..5743516c0460 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -72,7 +72,9 @@ - #include - #include - #include -+#if SANITIZER_ANDROID - #include -+#endif - #include - #include - #include -@@ -828,10 +830,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT; - unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT; - #endif -- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS; -- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION; -- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS; -- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION; -+ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long); -+ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long); -+ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long); -+ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long); - unsigned IOCTL_GIO_CMAP = GIO_CMAP; - unsigned IOCTL_GIO_FONT = GIO_FONT; - unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP; From 287a5b6baafd99677c267c780c6649f920b43720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Aug 2023 17:05:11 +0200 Subject: [PATCH 2/4] gcc10: apply a patch more often As usual, just to earlier detect when it stops applying. --- pkgs/development/compilers/gcc/10/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index e4444110adab..0ab4819107f9 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -57,7 +57,7 @@ let majorVersion = "10"; ../fix-bug-80431.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch - ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch + ++ optional noSysDirs ../no-sys-dirs-riscv.patch /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; sha256 = ""; # TODO: uncomment and check hash when available. From dc1e382f94f90b0fa8559a42d034f1742a8f94c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Aug 2023 17:27:37 +0200 Subject: [PATCH 3/4] gcc13: 13.1.0 -> 13.2.0 The patch would no longer apply, as the the changed part is no longer exactly at the end of the file. There's more content now, but it suffices to just add a preserved empty line into the diff. --- pkgs/development/compilers/gcc/13/default.nix | 6 +++--- .../compilers/gcc/13/no-sys-dirs-riscv.patch | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/compilers/gcc/13/no-sys-dirs-riscv.patch diff --git a/pkgs/development/compilers/gcc/13/default.nix b/pkgs/development/compilers/gcc/13/default.nix index 82b30a0e5102..b32f8f2ece1b 100644 --- a/pkgs/development/compilers/gcc/13/default.nix +++ b/pkgs/development/compilers/gcc/13/default.nix @@ -55,7 +55,7 @@ with lib; with builtins; let majorVersion = "13"; - version = "${majorVersion}.1.0"; + version = "${majorVersion}.2.0"; disableBootstrap = !stdenv.hostPlatform.isDarwin && !profiledCompiler; inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -63,7 +63,7 @@ let majorVersion = "13"; patches = optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../gcc-12-no-sys-dirs.patch - ++ optional noSysDirs ../no-sys-dirs-riscv.patch + ++ optional noSysDirs ./no-sys-dirs-riscv.patch ++ [ ../gnat-cflags-11.patch ../gcc-12-gfortran-driving.patch @@ -201,7 +201,7 @@ lib.pipe ((callFile ../common/builder.nix {}) ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "sha256-YdaE8Kpedqxlha2ImKJCeq3ol57V5/hUkihsTfwT7oY="; + hash = "sha256-4nXnZEKmBnNBon8Exca4PYYTFEAEwEE1KIY9xrXHQ9o="; }; inherit patches; diff --git a/pkgs/development/compilers/gcc/13/no-sys-dirs-riscv.patch b/pkgs/development/compilers/gcc/13/no-sys-dirs-riscv.patch new file mode 100644 index 000000000000..add4d59b41ae --- /dev/null +++ b/pkgs/development/compilers/gcc/13/no-sys-dirs-riscv.patch @@ -0,0 +1,13 @@ +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -69,9 +69,5 @@ + + #define TARGET_ASM_FILE_END file_end_indicate_exec_stack + +-#define STARTFILE_PREFIX_SPEC \ +- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ +- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ +- "/lib/ " \ +- "/usr/lib/ " ++#define STARTFILE_PREFIX_SPEC "" + From 5ecef4a6afb7e6276e7b02abb2e5cdf5eb946e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 17 Aug 2023 08:15:43 +0200 Subject: [PATCH 4/4] gcc13: update aarch64-darwin patch --- pkgs/development/compilers/gcc/13/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc/13/default.nix b/pkgs/development/compilers/gcc/13/default.nix index b32f8f2ece1b..03d8e394ed6a 100644 --- a/pkgs/development/compilers/gcc/13/default.nix +++ b/pkgs/development/compilers/gcc/13/default.nix @@ -73,8 +73,8 @@ let majorVersion = "13"; # a foreign one: https://github.com/iains/gcc-12-branch/issues/18 ++ optional (stdenv.isDarwin && stdenv.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) (fetchpatch { name = "gcc-13-darwin-aarch64-support.patch"; - url = "https://github.com/Homebrew/formula-patches/raw/5c206c47e2a08d522ec9795bb314346fff5fc4c5/gcc/gcc-13.1.0.diff"; - sha256 = "sha256-sMgA7nwE2ULa54t5g6VE6eJQYa69XvQrefi9U9f2t4g="; + url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3c5cbc8e9cf444a1967786af48e430588e1eb481/gcc/gcc-13.2.0.diff"; + sha256 = "sha256-Y5r3U3dwAFG6+b0TNCFd18PNxYu2+W/5zDbZ5cHvv+U="; }) ++ optional langD ../libphobos.patch