3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/stdenv
Maximilian Bosch 7459a4021c
stdenv-bootstrap: force using new libc from stage2
This fix is needed to work around linker-errors such as

    undefined reference to `__libc_csu_fini'

which I got in almost every derivation which is part of stage2. The
reasoning behind this is that the startup-code was simplified[1] and
thus `__libc_csu_fini` doesn't exist anymore.

A workable solution is to use a newer libc which properly links in
stage3. And actually this seems expected given the rationale for stage3:

    # Construct a third stdenv identical to the 2nd, except that this
    # one uses the rebuilt Glibc from stage2.  It still uses the recent
    # binutils and rest of the bootstrap tools, including GCC.

So this patch basically overrides the libraries inside `gcc-unwrapped` -
which is basically the bootstrap tools and thus also contains the libc
used in stage3 - with the shared objects from the freshly built libc
from stage2.

[1] https://sourceware.org/pipermail/libc-alpha/2021-March/123079.html
2022-02-27 10:25:33 +01:00
..
cross llvmPackages_*: respect cc for target when choosing C++ flavour 2022-01-07 14:42:41 +01:00
custom
cygwin
darwin bootstrap-tools: disable iconv for the hello test 2022-02-08 08:57:11 +10:00
freebsd
generic Merge branch 'staging-next' into staging 2022-02-01 21:37:39 -05:00
linux stdenv-bootstrap: force using new libc from stage2 2022-02-27 10:25:33 +01:00
native
nix
adapters.nix stdenv: introduce withCFlags 2022-01-29 21:23:12 -05:00
booter.nix llvmPackages_*: respect cc for target when choosing C++ flavour 2022-01-07 14:42:41 +01:00
common-path.nix
default.nix stdenv: add bootstrap files for riscv64 2021-11-30 05:03:30 +08:00