diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index a9b33d9a3e4f..be0e97dac6cb 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -197,6 +197,11 @@ preInstall() { ln -s lib "$out/${targetConfig}/lib64" ln -s lib "${!outputLib}/${targetConfig}/lib64" fi + # Make ‘lib32’ symlinks to ‘lib’. + if [ -n "$linkLib32toLib" ]; then + ln -s lib "$out/${targetConfig}/lib32" + ln -s lib "${!outputLib}/${targetConfig}/lib32" + fi } diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix index 180d5f16e91f..01835b9fc107 100644 --- a/pkgs/development/compilers/gcc/common/pre-configure.nix +++ b/pkgs/development/compilers/gcc/common/pre-configure.nix @@ -78,3 +78,13 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' + lib.optionalString (targetPlatform != hostPlatform && crossStageStatic) '' export inhibit_libc=true '' + +# On mips platforms, gcc follows the IRIX naming convention: +# +# $PREFIX/lib = mips32 +# $PREFIX/lib32 = mips64n32 +# $PREFIX/lib64 = mips64 +# ++ lib.optionalString (targetPlatform.isMips64n32) '' + export linkLib32toLib=1 +''