pkgsCross.loongarch64-linux.libgcc: update for gcc-14

Without the change the `pkgsCross.loongarch64-linux.stdenv` fails as:

    In file included from /build/source/libgcc/../gcc/config/loongarch/loongarch.h:53,
                     from ../../.././gcc/tm.h:53,
                     from /build/source/libgcc/fixed-bit.c:48:
    /build/source/libgcc/../gcc/config/loongarch/loongarch-driver.h:82:10: fatal error: loongarch-multilib.h: No such file or directory
       82 | #include "loongarch-multilib.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~

This started happening in `nixpkgs` after `gcc` was update from `gcc-13`
to `gcc-14`. `gcc-14` added new auto-generated `loongarch-multilib.h` in

    https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=227b18f5d7616d6d34ac44836a8679de9b43c857

That broke fragile `libgcc` derivation in `nixpkgs`: the derivation
sidesteps normal `gcc` build flow and relies on build details quite
heavily by explicitly listing `gcc/` dependencies of `libgcc/` sources.

This change forces `loongarch-multilib.h` build which is a new
dependency of `libgcc` on `loongarch64`.

Closes: https://github.com/NixOS/nixpkgs/issues/380901
This commit is contained in:
Sergei Trofimovich 2025-02-10 23:04:41 +00:00
parent 45798f6e54
commit f54699d016

View File

@ -105,6 +105,9 @@ stdenv.mkDerivation (finalAttrs: {
arm-isa.h \
arm-cpu.h \
''
+ lib.optionalString stdenv.targetPlatform.isLoongArch64 ''
loongarch-multilib.h \
''
+ ''
insn-modes.h
)