diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-02-28 02:57:37 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-02-28 02:57:37 +0100 |
commit | d5bb6a1f9c0c099738a37ce2e923cd71d85b5145 (patch) | |
tree | eea5fe17f5e03cc377547879c122b1b69ea00198 /pkgs/development/libraries | |
parent | 69a337edae4d8d0dd6bd6e96468ba887509f3f0a (diff) | |
download | nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar.gz nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar.bz2 nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar.lz nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar.xz nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.tar.zst nixpkgs-d5bb6a1f9c0c099738a37ce2e923cd71d85b5145.zip |
glibc: Enable separate debug symbols
The importance of glibc makes it worthwhile to provide debug symbols. However, this revealed an issue with separateDebugInfo: it was indiscriminately adding --build-id to all ld invocations, while in fact it should only do that for final links. Glibc also uses non-final ("relocatable") links, leading to subsequent failure to apply a build ID ("Cannot create .note.gnu.build-id section, --build-id ignored"). So now ld-wrapper.sh only passes --build-id for final links.
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/glibc/builder.sh | 4 | ||||
-rw-r--r-- | pkgs/development/libraries/glibc/default.nix | 19 |
2 files changed, 7 insertions, 16 deletions
diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh index d0684d6194d..d60b143a1ec 100644 --- a/pkgs/development/libraries/glibc/builder.sh +++ b/pkgs/development/libraries/glibc/builder.sh @@ -37,6 +37,10 @@ postInstall() { # Get rid of more unnecessary stuff. rm -rf $out/var $out/sbin/sln + + for i in $out/lib/*.a; do + strip -S "$i" + done } genericBuild diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 5e25c2dc8bc..2630cdb127f 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -2,7 +2,6 @@ , installLocales ? true , profilingLibraries ? false , gccCross ? null -, debugSymbols ? false , withGd ? false, gd ? null, libpng ? null }: @@ -13,9 +12,7 @@ let cross = if gccCross != null then gccCross.target else null; in build cross ({ - name = "glibc" - + lib.optionalString debugSymbols "-debug" - + lib.optionalString withGd "-gd"; + name = "glibc" + lib.optionalString withGd "-gd"; inherit lib stdenv fetchurl linuxHeaders installLocales profilingLibraries gccCross withGd gd libpng; @@ -38,23 +35,13 @@ in fi ''; + separateDebugInfo = true; + meta.description = "The GNU C Library"; } // - (if debugSymbols - then { - # Build with debugging symbols, but leave optimizations on and don't - # attempt to keep the build tree. - dontStrip = true; - dontCrossStrip = true; - NIX_STRIP_DEBUG = 0; - } - else {}) - - // - (if cross != null then { preConfigure = '' |