stdenvBootstrapTools: Bundle all *.o files from libc

Include all runtime object files in output package, enabling different
kinds of build modes - non-PIE, PIE, static PIE and profile-generated.

Suggested by @trofi:
https://github.com/NixOS/nixpkgs/pull/252310#issuecomment-1709425791
This commit is contained in:
Hubert Jasudowicz 2023-09-07 03:25:39 +02:00
parent eb05c5bf0d
commit 3cc00c9502

View file

@ -78,7 +78,8 @@ in with pkgs; rec {
cp -d ${libc.out}/lib/libutil*.so* $out/lib
cp -d ${libc.out}/lib/libnss*.so* $out/lib
cp -d ${libc.out}/lib/libresolv*.so* $out/lib
cp -d ${libc.out}/lib/crt?.o $out/lib
# Copy all runtime files to enable non-PIE, PIE, static PIE and profile-generated builds
cp -d ${libc.out}/lib/*.o $out/lib
# Hacky compat with our current unpack-bootstrap-tools.sh
ln -s librt.so "$out"/lib/librt-dummy.so