Browse Source

attempt to use lld linker

pull/1/head
parent
commit
aa1c3726f3
  1. 5
      derivations.nix
  2. 4
      shell-firmware.nix

5
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 {

4
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";
}
Loading…
Cancel
Save