diff options
author | Bernardo Meurer <bernardo@meurer.org> | 2021-12-23 21:40:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-23 21:40:31 +0000 |
commit | ba3cc463ca2d2289ce3b2d5e165578f8e16e35e8 (patch) | |
tree | ed944161b1f46fced451c28472dce86835d61304 | |
parent | 72c68b163c2b22a3fa101f973b84efb3c97aa8c8 (diff) | |
parent | 0d1750e9c041fa24752adb128625fee0952a6086 (diff) |
Merge pull request #147942 from oxalica/test/riscv-bootstrap-tools
stdenv: bootstrap riscv64 (Step 2)
-rw-r--r-- | pkgs/development/compilers/gcc/10/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/11/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/no-sys-dirs-riscv.patch | 12 | ||||
-rw-r--r-- | pkgs/stdenv/default.nix | 1 | ||||
-rw-r--r-- | pkgs/stdenv/linux/bootstrap-files/riscv64.nix | 12 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 1 |
6 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index f9dd0465b9258..4493fd936ec38 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 f71f941540c47..a9498b1060dba 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 0000000000000..00e2838af6fd4 --- /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 "" diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index d6c59573f2a58..0d328d98ba110 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -56,6 +56,7 @@ in powerpc-linux = /* stagesLinux */ stagesNative; powerpc64-linux = stagesLinux; powerpc64le-linux = stagesLinux; + riscv64-linux = stagesLinux; x86_64-darwin = stagesDarwin; aarch64-darwin = stagesDarwin; x86_64-solaris = stagesNix; diff --git a/pkgs/stdenv/linux/bootstrap-files/riscv64.nix b/pkgs/stdenv/linux/bootstrap-files/riscv64.nix new file mode 100644 index 0000000000000..aaf1f153c7876 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap-files/riscv64.nix @@ -0,0 +1,12 @@ +{ + busybox = import <nix/fetchurl.nix> { + url = "http://tarballs.nixos.org/stdenv-linux/riscv64/9bd3cf0063b80428bd85a286205adab4b6ffcbd6/busybox"; + sha256 = "6f61912f94bc4ef287d1ff48a9521ed16bd07d8d8ec775e471f32c64d346583d"; + executable = true; + }; + + bootstrapTools = import <nix/fetchurl.nix> { + url = "http://tarballs.nixos.org/stdenv-linux/riscv64/9bd3cf0063b80428bd85a286205adab4b6ffcbd6/bootstrap-tools.tar.xz"; + sha256 = "5466b19288e980125fc62ebb864d09908ffe0bc50cebe52cfee89acff14d5b9f"; + }; +} diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index b2b0dad82d82a..d2c28b97ff939 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -16,6 +16,7 @@ armv7l-linux = import ./bootstrap-files/armv7l.nix; aarch64-linux = import ./bootstrap-files/aarch64.nix; mipsel-linux = import ./bootstrap-files/loongson2f.nix; + riscv64-linux = import ./bootstrap-files/riscv64.nix; }; musl = { aarch64-linux = import ./bootstrap-files/aarch64-musl.nix; |