Merge pull request #36948 from dtzWill/fix/glibc-libgcc_s

glibc: don't use bootstrap libgcc_s
This commit is contained in:
Matthew Bauer 2019-01-23 17:12:55 -05:00 committed by GitHub
commit 80ff19a45f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 74 deletions

View File

@ -39,22 +39,6 @@ callPackage ./common.nix { inherit stdenv; } {
# limit rebuilds by only disabling pie w/musl
++ stdenv.lib.optional stdenv.hostPlatform.isMusl "pie";
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
# any program we run, because the gcc will have been placed at a new
# store path than that determined when built (as a source for the
# bootstrap-tools tarball)
# Building from a proper gcc staying in the path where it was installed,
# libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
# any special hack.
preInstall = ''
if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
mkdir -p $out/lib
cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
# the .so It used to be a symlink, but now it is a script
cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
fi
'';
postInstall = ''
echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED
make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales

View File

@ -7338,67 +7338,51 @@ in
llvmPackages = recurseIntoAttrs llvmPackages_5;
llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 ({
llvmPackages_35 = callPackage ../development/compilers/llvm/3.5 {
isl = isl_0_14;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_37.tools;
targetLlvmLibraries = targetPackages.llvmPackages_37.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_38.tools;
targetLlvmLibraries = targetPackages.llvmPackages_38.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_39.tools;
targetLlvmLibraries = targetPackages.llvmPackages_39.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};
llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
llvmPackages_4 = callPackage ../development/compilers/llvm/4 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_4.tools;
targetLlvmLibraries = targetPackages.llvmPackages_4.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6;
});
};
llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
llvmPackages_5 = callPackage ../development/compilers/llvm/5 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_5.tools;
targetLlvmLibraries = targetPackages.llvmPackages_5.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};
llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
llvmPackages_6 = callPackage ../development/compilers/llvm/6 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_6.tools;
targetLlvmLibraries = targetPackages.llvmPackages_6.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};
llvmPackages_7 = callPackage ../development/compilers/llvm/7 ({
llvmPackages_7 = callPackage ../development/compilers/llvm/7 {
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_7.tools;
targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};
llvmPackages_latest = llvmPackages_7;
@ -7517,12 +7501,10 @@ in
};
# For beta and nightly releases use the nixpkgs-mozilla overlay
rust = callPackage ../development/compilers/rust ({
rust = callPackage ../development/compilers/rust {
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
llvm = llvm_7;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
};
inherit (rust) cargo rustc;
buildRustCrate = callPackage ../build-support/rust/build-rust-crate { };
@ -8151,11 +8133,9 @@ in
spark_22 = callPackage ../applications/networking/cluster/spark { version = "2.2.1"; };
spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix {
inherit (darwin) libobjc;
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
};
spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
spidermonkey = spidermonkey_38;
@ -10387,28 +10367,18 @@ in
hyperscan = callPackage ../development/libraries/hyperscan { };
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) {
nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
} //
(stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu59 = callPackage ../development/libraries/icu/59.nix ({
};
icu59 = callPackage ../development/libraries/icu/59.nix {
nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu60 = callPackage ../development/libraries/icu/60.nix ({
};
icu60 = callPackage ../development/libraries/icu/60.nix {
nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
icu63 = callPackage ../development/libraries/icu/63.nix ({
};
icu63 = callPackage ../development/libraries/icu/63.nix {
nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
}));
};
icu = icu59;
id3lib = callPackage ../development/libraries/id3lib { };