Merge pull request #209113 from winterqt/rust-aarch64-linux-fix
This commit is contained in:
commit
7d05447323
|
@ -1,6 +1,8 @@
|
|||
cargoSetupPostUnpackHook() {
|
||||
echo "Executing cargoSetupPostUnpackHook"
|
||||
|
||||
export NIX_LDFLAGS+=" @aarch64LinuxGccWorkaround@"
|
||||
|
||||
# Some cargo builds include build hooks that modify their own vendor
|
||||
# dependencies. This copies the vendor directory into the build tree and makes
|
||||
# it writable. If we're using a tarball, the unpackFile hook already handles
|
||||
|
|
|
@ -108,6 +108,9 @@ in {
|
|||
host-config = true
|
||||
target-applies-to-host = true
|
||||
'';
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/201254
|
||||
aarch64LinuxGccWorkaround = lib.optionalString (stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU) "-lgcc";
|
||||
};
|
||||
} ./cargo-setup-hook.sh) {};
|
||||
|
||||
|
|
|
@ -52,7 +52,9 @@ in stdenv.mkDerivation rec {
|
|||
# when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch'
|
||||
optional (stdenv.isLinux && !withBundledLLVM) "--push-state --as-needed -lstdc++ --pop-state"
|
||||
++ optional (stdenv.isDarwin && !withBundledLLVM) "-lc++"
|
||||
++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib");
|
||||
++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib"
|
||||
# https://github.com/NixOS/nixpkgs/issues/201254
|
||||
++ optional (stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU) "-lgcc");
|
||||
|
||||
# Increase codegen units to introduce parallelism within the compiler.
|
||||
RUSTFLAGS = "-Ccodegen-units=10";
|
||||
|
|
|
@ -15386,6 +15386,8 @@ with pkgs;
|
|||
rust_1_66 = callPackage ../development/compilers/rust/1_66.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
|
||||
llvm_14 = llvmPackages_14.libllvm;
|
||||
# https://github.com/NixOS/nixpkgs/issues/201254
|
||||
stdenv = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then gcc11Stdenv else stdenv;
|
||||
};
|
||||
rust = rust_1_66;
|
||||
|
||||
|
|
Loading…
Reference in a new issue