From 0d1750e9c041fa24752adb128625fee0952a6086 Mon Sep 17 00:00:00 2001 From: oxalica Date: Tue, 30 Nov 2021 15:17:55 +0800 Subject: [PATCH] gcc{10,11}: add no-sys-dir patch for RiscV RiscV has an individual STARTFILE_PREFIX_SPEC macro which also need to be patched. --- pkgs/development/compilers/gcc/10/default.nix | 1 + pkgs/development/compilers/gcc/11/default.nix | 1 + .../compilers/gcc/no-sys-dirs-riscv.patch | 12 ++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 pkgs/development/compilers/gcc/no-sys-dirs-riscv.patch diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index f9dd0465b925..4493fd936ec3 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -64,6 +64,7 @@ let majorVersion = "10"; patches = optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch + ++ optional (noSysDirs && hostPlatform.isRiscV) ../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. diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix index f71f941540c4..a9498b1060db 100644 --- a/pkgs/development/compilers/gcc/11/default.nix +++ b/pkgs/development/compilers/gcc/11/default.nix @@ -64,6 +64,7 @@ let majorVersion = "11"; patches = optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch + ++ optional (noSysDirs && hostPlatform.isRiscV) ../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. diff --git a/pkgs/development/compilers/gcc/no-sys-dirs-riscv.patch b/pkgs/development/compilers/gcc/no-sys-dirs-riscv.patch new file mode 100644 index 000000000000..00e2838af6fd --- /dev/null +++ b/pkgs/development/compilers/gcc/no-sys-dirs-riscv.patch @@ -0,0 +1,12 @@ +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -69,8 +69,4 @@ + + #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 ""