Compare commits

...

3 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq aa1c3726f3 attempt to use lld linker 2019-06-05 23:46:29 +08:00
Sebastien Bourdeauducq d5c288c20b rustc: disable lld 2019-06-05 23:42:39 +08:00
Sebastien Bourdeauducq 1361c6ae9e Revert "llvm: only build x86 and riscv"
This reverts commit b17ec6fb1f.
2019-06-05 23:41:22 +08:00
2 changed files with 8 additions and 4 deletions

View File

@ -18,11 +18,15 @@ rec {
binutils-riscv = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; };
llvm_7 = pkgs.llvm_7.overrideAttrs(oa: {
name = oa.name + "-riscv";
cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV" "-DLLVM_TARGETS_TO_BUILD=X86"];
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";
configureFlags = oa.configureFlags ++ [ "--enable-lld" ];
})).override {
inherit llvm_7;
pkgsBuildBuild = pkgs.pkgsBuildBuild // { inherit llvm_7; };

View File

@ -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";
}