guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

13/25: gnu: valgrind/interactive: Rely on non-stripped glibc symbols.


From: guix-commits
Subject: 13/25: gnu: valgrind/interactive: Rely on non-stripped glibc symbols.
Date: Sat, 15 Apr 2023 00:27:33 -0400 (EDT)

apteryx pushed a commit to branch core-updates
in repository guix.

commit fa2c1689c8972a1cdd111bcbc114c25fbf447904
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Fri Apr 14 21:43:24 2023 -0400

    gnu: valgrind/interactive: Rely on non-stripped glibc symbols.
    
    * gnu/packages/valgrind.scm (valgrind/interactive)
    [source]: Remove patches.
    [arguments]: Delete field.
    * gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch: Delete 
file.
    * gnu/local.mk (dist_patch_DATA): De-register it.
---
 gnu/local.mk                                       |   1 -
 .../valgrind-fix-default-debuginfo-path.patch      | 100 ---------------------
 gnu/packages/valgrind.scm                          |  39 +-------
 3 files changed, 1 insertion(+), 139 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index f473082203..e29e09b688 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1999,7 +1999,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/ustr-fix-build-with-gcc-5.patch         \
   %D%/packages/patches/util-linux-tests.patch                  \
   %D%/packages/patches/valgrind-enable-arm.patch                       \
-  %D%/packages/patches/valgrind-fix-default-debuginfo-path.patch       \
   %D%/packages/patches/vboot-utils-fix-format-load-address.patch       \
   %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch       \
   %D%/packages/patches/vboot-utils-skip-test-workbuf.patch     \
diff --git a/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch 
b/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch
deleted file mode 100644
index f78dec02dc..0000000000
--- a/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From a7f17b57a94e9cde6d7fa96ac86be5c4fc4f9211 Mon Sep 17 00:00:00 2001
-From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-Date: Sun, 24 Apr 2022 22:20:50 +0200
-Subject: [PATCH] valgrind: fix default debuginfo path
-
-Description: Workaround for missing symbol in Guix's ld.so. The
- correct fix (not stripping all the ld.so symbols) will be done in the
- next Guix release as it requires to recompile a lot of packages.
-
-Forwarded: not-needed
-Bug-Guix: https://issues.guix.gnu.org/54728
-Author: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
----
- coregrind/m_debuginfo/readelf.c | 11 ++++++-----
- docs/xml/manual-core-adv.xml    |  4 ++--
- docs/xml/manual-core.xml        |  2 +-
- 3 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
-index c586e3f33..947fcc500 100644
---- a/coregrind/m_debuginfo/readelf.c
-+++ b/coregrind/m_debuginfo/readelf.c
-@@ -1509,9 +1509,9 @@ DiImage* find_debug_file( struct _DebugInfo* di,
- 
-    if (buildid != NULL) {
-       debugpath = ML_(dinfo_zalloc)("di.fdf.1",
--                                    VG_(strlen)(buildid) + 33);
-+                                    VG_(strlen)(buildid) + 
DEBUGPATH_EXTRA_BYTES_1);
- 
--      VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug",
-+      VG_(sprintf)(debugpath, 
"DEFAULT_DEBUGINFO_PATH/.build-id/%c%c/%s.debug",
-                    buildid[0], buildid[1], buildid + 2);
- 
-       dimg = open_debug_file(debugpath, buildid, 0, rel_ok, NULL);
-@@ -1536,7 +1536,8 @@ DiImage* find_debug_file( struct _DebugInfo* di,
- 
-       debugpath = ML_(dinfo_zalloc)(
-                      "di.fdf.3",
--                     VG_(strlen)(objdir) + VG_(strlen)(debugname) + 64
-+                     VG_(strlen)(objdir) + VG_(strlen)(debugname)
-+                     + VG_(strlen)("DEFAULT_DEBUGINFO_PATH/") + 1
-                      + (extrapath ? VG_(strlen)(extrapath) : 0)
-                      + (serverpath ? VG_(strlen)(serverpath) : 0));
- 
-@@ -1561,7 +1562,7 @@ DiImage* find_debug_file( struct _DebugInfo* di,
- 
-       TRY_OBJDIR_USRMERGE_OBJDIR("%s/%s");
-       TRY_OBJDIR_USRMERGE_OBJDIR("%s/.debug/%s");
--      TRY_OBJDIR_USRMERGE_OBJDIR("/usr/lib/debug%s/%s");
-+      TRY_OBJDIR_USRMERGE_OBJDIR("DEFAULT_DEBUGINFO_PATH%s/%s");
- 
-       if (extrapath) {
-          TRY_OBJDIR("%s%s/%s", extrapath, objdir, debugname);
-@@ -1631,7 +1632,7 @@ DiImage* find_debug_file_ad_hoc( const DebugInfo* di,
- 
-    debugpath = ML_(dinfo_zalloc)(
-                   "di.fdfah.3",
--                  VG_(strlen)(objdir) + 64
-+                  VG_(strlen)(objdir) + DEBUGPATH_EXTRA_BYTES_2
-                   + (extrapath ? VG_(strlen)(extrapath) : 0)
-                   + (serverpath ? VG_(strlen)(serverpath) : 0));
- 
-diff --git a/docs/xml/manual-core-adv.xml b/docs/xml/manual-core-adv.xml
-index 1fa801edc..a7c01d5e6 100644
---- a/docs/xml/manual-core-adv.xml
-+++ b/docs/xml/manual-core-adv.xml
-@@ -447,7 +447,7 @@ Valgrind embedded gdbserver:</para>
- Remote debugging using | vgdb
- relaying data between gdb and process 2418
- Reading symbols from /lib/ld-linux.so.2...done.
--Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so.debug...done.
-+Reading symbols from DEFAULT_DEBUGINFO_PATH/lib/ld-2.11.2.so.debug...done.
- Loaded symbols for /lib/ld-linux.so.2
- [Switching to Thread 2418]
- 0x001f2850 in _start () from /lib/ld-linux.so.2
-@@ -475,7 +475,7 @@ Remote communication error: Resource temporarily 
unavailable.
- Remote debugging using | vgdb --pid=2479
- relaying data between gdb and process 2479
- Reading symbols from /lib/ld-linux.so.2...done.
--Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so.debug...done.
-+Reading symbols from DEFAULT_DEBUGINFO_PATH/lib/ld-2.11.2.so.debug...done.
- Loaded symbols for /lib/ld-linux.so.2
- [Switching to Thread 2479]
- 0x001f2850 in _start () from /lib/ld-linux.so.2
-diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
-index dc33e1269..f6eb60086 100644
---- a/docs/xml/manual-core.xml
-+++ b/docs/xml/manual-core.xml
-@@ -1409,7 +1409,7 @@ that can report errors, e.g. Memcheck, but not 
Cachegrind.</para>
-     <listitem>
-       <para>By default Valgrind searches in several well-known paths
-       for debug objects, such
--      as <computeroutput>/usr/lib/debug/</computeroutput>.</para>
-+      as <computeroutput>DEFAULT_DEBUGINFO_PATH/</computeroutput>.</para>
- 
-       <para>However, there may be scenarios where you may wish to put
-       debug objects at an arbitrary location, such as external storage
--- 
-2.35.1
-
diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
index bd08dffc83..204dd4a3c5 100644
--- a/gnu/packages/valgrind.scm
+++ b/gnu/packages/valgrind.scm
@@ -106,45 +106,8 @@ also use Valgrind to build new tools.")
                                        "/valgrind-" version ".tar.bz2")))
              (sha256
               (base32
-               "1ipkp6yi202pml2r0qwflysmq86dkqd8iyi1y51d6y70vcqw0dl5"))
-             (patches (search-patches
-                       "valgrind-fix-default-debuginfo-path.patch"))))
+               "1ipkp6yi202pml2r0qwflysmq86dkqd8iyi1y51d6y70vcqw0dl5"))))
    (inputs
     ;; GDB is needed to provide a sane default for `--db-command'.
     (list gdb `(,(canonical-package glibc) "debug")))
-   (arguments
-    (substitute-keyword-arguments (package-arguments valgrind)
-      ((#:phases phases #~%standard-phases)
-       #~(modify-phases #$phases
-           (add-before 'configure 'patch-default-debuginfo-path
-             (lambda* (#:key inputs #:allow-other-keys)
-               ;; This helps Valgrind find the debug symbols of ld.so.
-               ;; Without it, Valgrind does not work in a Guix shell
-               ;; container and cannot be used as-is during packages tests
-               ;; phases.
-               ;; TODO: Remove on the next rebuild cycle, when libc is not
-               ;; longer fully stripped.
-               (define libc-debug
-                 (string-append (ungexp (this-package-input "glibc") "debug")
-                                "/lib/debug"))
-
-               (substitute* '("coregrind/m_debuginfo/readelf.c"
-                              "docs/xml/manual-core-adv.xml"
-                              "docs/xml/manual-core.xml")
-                 (("DEFAULT_DEBUGINFO_PATH")
-                  libc-debug))
-               ;; We also need to account for the bigger path in
-               ;; the malloc-ed variables.
-               (substitute* '("coregrind/m_debuginfo/readelf.c")
-                 (("DEBUGPATH_EXTRA_BYTES_1")
-                  (number->string
-                   (+ (string-length libc-debug)
-                      (string-length "/.build-id//.debug")
-                      1))))
-               (substitute* '("coregrind/m_debuginfo/readelf.c")
-                 (("DEBUGPATH_EXTRA_BYTES_2")
-                  (number->string
-                   (+ (string-length libc-debug)
-                      (string-length "/usr/lib/debug")
-                      1))))))))))
    (properties '())))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]