diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-09-29 14:51:12 +0200 |
---|---|---|
committer | Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com> | 2023-10-22 09:48:16 +0000 |
commit | 0a8e3e0748c41d3c1989b17738f589b8b1bb2378 (patch) | |
tree | 024827fd381941ed226912672cd526235377fe12 /pkgs/development/compilers | |
parent | 1c8e8ec870e6fcafa1a33acbf859c21f5f99367f (diff) | |
download | nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar.gz nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar.bz2 nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar.lz nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar.xz nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.tar.zst nixlib-0a8e3e0748c41d3c1989b17738f589b8b1bb2378.zip |
gcc: create dummy crtstuff on loongarch64
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix b/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix index e7dc570a560c..fc88e61c6560 100644 --- a/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix +++ b/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix @@ -31,7 +31,22 @@ let # SHLIB_LC = lib.optionalString stdenv.targetPlatform.isPower "-mnewlib"; -in '' - echo 'libgcc.a: ${crtstuff-ofiles}' >> libgcc/Makefile.in - echo 'SHLIB_LC=${SHLIB_LC}' >> libgcc/Makefile.in - '' +in +'' + echo 'libgcc.a: ${crtstuff-ofiles}' >> libgcc/Makefile.in + echo 'SHLIB_LC=${SHLIB_LC}' >> libgcc/Makefile.in +'' + + # Meanwhile, crt{i,n}.S are not present on certain platforms + # (e.g. LoongArch64), resulting in the following error: + # + # No rule to make target '../../../gcc-xx.x.x/libgcc/config/loongarch/crti.S', needed by 'crti.o'. Stop. + # + # For LoongArch64, a hacky workaround is to simply touch them, + # as the platform forces .init_array support. + # + # https://www.openwall.com/lists/musl/2022/11/09/3 + # + + lib.optionalString stdenv.targetPlatform.isLoongArch64 '' + touch libgcc/config/loongarch/crt{i,n}.S +'' |