Merge pull request #119786 from sternenseemann/glibc-gcc

glibc: always compile with a gcc stdenv
This commit is contained in:
John Ericson 2021-04-28 00:09:59 -04:00 committed by GitHub
commit 7d4a695de4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10360,10 +10360,12 @@ in
stripped = false;
}));
crossLibcStdenv = overrideCC stdenv
(if stdenv.hostPlatform.useLLVM or false
then buildPackages.llvmPackages_8.lldClangNoLibc
else buildPackages.gccCrossStageStatic);
gccCrossLibcStdenv = overrideCC stdenv buildPackages.gccCrossStageStatic;
crossLibcStdenv =
if stdenv.hostPlatform.useLLVM or false
then overrideCC stdenv buildPackages.llvmPackages_8.lldClangNoLibc
else gccCrossLibcStdenv;
# The GCC used to build libc for the target platform. Normal gccs will be
# built with, and use, that cross-compiled libc.
@ -14585,7 +14587,9 @@ in
inherit (darwin.apple_sdk.frameworks) Cocoa Kernel;
};
glibc = callPackage ../development/libraries/glibc { };
glibc = callPackage ../development/libraries/glibc {
stdenv = gccStdenv; # doesn't compile without gcc
};
# Provided by libc on Operating Systems that use the Extensible Linker Format.
elf-header =
@ -14601,7 +14605,7 @@ in
# Being redundant to avoid cycles on boot. TODO: find a better way
glibcCross = callPackage ../development/libraries/glibc {
stdenv = crossLibcStdenv;
stdenv = gccCrossLibcStdenv; # doesn't compile without gcc
};
muslCross = musl.override {