Revert "Merge #160259: separateDebugInfo: Use --strip-unneeded"

This reverts commit 848091a52b, reversing
changes made to ab0e692ac7.

It caused issues with elfutils tests,
probably through over-stripping of glibc parts.
main
Vladimír Čunát 2 years ago
parent 2102efd88b
commit a7ccddeb54
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
  1. 2
      pkgs/build-support/setup-hooks/separate-debug-info.sh
  2. 2
      pkgs/development/libraries/libpsl/default.nix
  3. 31
      pkgs/development/tools/analysis/valgrind/debug-info-from-env.patch
  4. 6
      pkgs/development/tools/analysis/valgrind/default.nix

@ -34,7 +34,7 @@ _separateDebugInfo() {
# firmware blobs in QEMU.)
(
$OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
$STRIP --strip-unneeded "$i"
$STRIP --strip-debug "$i"
# Also a create a symlink <original-name>.debug.
ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")"

@ -3,7 +3,6 @@
, autoreconfHook
, docbook_xsl
, docbook_xml_dtd_43
, glibc
, gtk-doc
, lzip
, libidn2
@ -39,7 +38,6 @@ in stdenv.mkDerivation rec {
python3
libxslt
] ++ lib.optionals enableValgrindTests [
glibc.debug
valgrind
];

@ -1,31 +0,0 @@
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
index c586e3f33..e3bb1717f 100644
--- a/coregrind/m_debuginfo/readelf.c
+++ b/coregrind/m_debuginfo/readelf.c
@@ -1508,13 +1508,25 @@ DiImage* find_debug_file( struct _DebugInfo* di,
HChar* debugpath = NULL; /* where we found it */
if (buildid != NULL) {
+ const HChar *dir = VG_(getenv)("NIX_DEBUG_INFO_DIRS");
debugpath = ML_(dinfo_zalloc)("di.fdf.1",
- VG_(strlen)(buildid) + 33);
+ VG_(strlen)(buildid) + 33 +
+ (dir ? VG_(strlen)(dir) : 0));
VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug",
buildid[0], buildid[1], buildid + 2);
dimg = open_debug_file(debugpath, buildid, 0, rel_ok, NULL);
+
+ while (!dimg && dir) {
+ const HChar *sep = VG_(strchr)(dir, ':');
+ Int size = sep ? sep - dir : VG_(strlen)(dir);
+ VG_(sprintf)(debugpath, "%.*s/.build-id/%c%c/%s.debug",
+ size, dir, buildid[0], buildid[1], buildid + 2);
+ dimg = open_debug_file(debugpath, buildid, 0, rel_ok, NULL);
+ dir = sep ? sep + 1 : NULL;
+ }
+
if (!dimg) {
ML_(dinfo_free)(debugpath);
debugpath = NULL;

@ -1,7 +1,6 @@
{ lib, stdenv, fetchurl, fetchpatch
, autoreconfHook, perl
, gdb, cctools, xnu, bootstrap_cmds
, setupDebugInfoDirs
}:
stdenv.mkDerivation rec {
@ -20,7 +19,6 @@ stdenv.mkDerivation rec {
url = "https://bugsfiles.kde.org/attachment.cgi?id=143535";
sha256 = "036zyk30rixjvpylw3c7n171n4gpn6zcp7h6ya2dz4h5r478l9i6";
})
./debug-info-from-env.patch
];
outputs = [ "out" "dev" "man" "doc" ];
@ -34,10 +32,6 @@ stdenv.mkDerivation rec {
# Perl is also a native build input.
nativeBuildInputs = [ autoreconfHook perl ];
# Not propagatedNativeBuildInputs because of
# https://github.com/NixOS/nixpkgs/issues/64992.
propagatedBuildInputs = [ setupDebugInfoDirs ];
enableParallelBuilding = true;
separateDebugInfo = stdenv.isLinux;

Loading…
Cancel
Save