summary refs log tree commit diff
path: root/pkgs/stdenv/linux
diff options
context:
space:
mode:
authorHubert Jasudowicz <hubert.jasudowicz@gmail.com>2023-09-07 03:25:39 +0200
committerHubert Jasudowicz <hubert.jasudowicz@gmail.com>2023-09-07 23:22:02 +0200
commit3cc00c95020b92705031a0426cebe5f42809cd5e (patch)
tree42b82a1906c41f24900da0075d8acde8c41a0086 /pkgs/stdenv/linux
parenteb05c5bf0da6a3016f3c5db7a68fab3246b57ac7 (diff)
downloadnixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar.gz
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar.bz2
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar.lz
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar.xz
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.tar.zst
nixpkgs-3cc00c95020b92705031a0426cebe5f42809cd5e.zip
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
Diffstat (limited to 'pkgs/stdenv/linux')
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix3
1 files changed, 2 insertions, 1 deletions
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index d6c4da0ab2b..1334c13ad17 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -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