From aa1c3726f3a0eaaf63cc7decc4556ce71a090dcc Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Wed, 5 Jun 2019 23:46:29 +0800 Subject: [PATCH] attempt to use lld linker --- derivations.nix | 5 +++++ shell-firmware.nix | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/derivations.nix b/derivations.nix index f8519e6..c3fbc37 100644 --- a/derivations.nix +++ b/derivations.nix @@ -20,6 +20,11 @@ rec { name = oa.name + "-riscv"; cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"]; }); + lld_7 = (pkgs.lld_7.overrideAttrs(oa: { + name = oa.name + "-riscv"; + })).override { + llvm = llvm_7; + }; rustc = (pkgs.rustc.overrideAttrs(oa: { name = "${oa.pname}-${oa.version}-riscv"; })).override { diff --git a/shell-firmware.nix b/shell-firmware.nix index be09fe2..1fa2ca9 100644 --- a/shell-firmware.nix +++ b/shell-firmware.nix @@ -3,6 +3,6 @@ let hx = import ./derivations.nix { inherit pkgs; }; in pkgs.mkShell { - buildInputs = [ hx.rustc hx.rust-riscv32imc-crates hx.cargo ]; - RUSTFLAGS="-L ${hx.rust-riscv32imc-crates}/lib/rustlib/riscv32imc-unknown-none-elf/lib"; + buildInputs = [ hx.rustc hx.rust-riscv32imc-crates hx.lld_7 hx.cargo ]; + RUSTFLAGS="-L ${hx.rust-riscv32imc-crates}/lib/rustlib/riscv32imc-unknown-none-elf/lib -C linker=lld"; }