Merge pull request #113225 from mroi/patch-linux

linux: improve cross compilation with clang

authored by Jörg Thalheim and committed by GitHub 6d128786 7982550a

+8 -4
+1 -1
pkgs/os-specific/linux/kernel/generate-config.pl
··· 40 40 sub runConfig { 41 41 42 42 # Run `make config'. 43 - my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$buildRoot config SHELL=bash ARCH=$ENV{ARCH}"); 43 + my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$buildRoot config SHELL=bash ARCH=$ENV{ARCH} CC=$ENV{CC} HOSTCC=$ENV{HOSTCC} HOSTCXX=$ENV{HOSTCXX}"); 44 44 45 45 # Parse the output, look for questions and then send an 46 46 # appropriate answer.
+7 -3
pkgs/os-specific/linux/kernel/generic.nix
··· 128 128 129 129 buildPhase = '' 130 130 export buildRoot="''${buildRoot:-build}" 131 + export HOSTCC=$CC_FOR_BUILD 132 + export HOSTCXX=$CXX_FOR_BUILD 133 + export HOSTAR=$AR_FOR_BUILD 134 + export HOSTLD=$LD_FOR_BUILD 131 135 132 136 # Get a basic config file for later refinement with $generateConfig. 133 - make -C . O="$buildRoot" $kernelBaseConfig \ 137 + make -C . O="$buildRoot" $kernelBaseConfig \ 134 138 ARCH=$kernelArch \ 135 - HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ 136 - HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}g++ 139 + HOSTCC=$HOSTCC HOSTCXX=$HOSTCXX HOSTAR=$HOSTAR HOSTLD=$HOSTLD \ 140 + CC=$CC OBJCOPY=$OBJCOPY OBJDUMP=$OBJDUMP READELF=$READELF 137 141 138 142 # Create the config file. 139 143 echo "generating kernel configuration..."