GNU bug report logs - #73495
[PATCH] gnu: dyninst: Remove patch-bad-logic phase.

Previous Next

Package: guix-patches;

Reported by: Nguyễn Gia Phong <mcsinyx <at> disroot.org>

Date: Thu, 26 Sep 2024 09:26:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nguyễn Gia Phong <mcsinyx <at> disroot.org>
To: guix-patches <at> gnu.org
Cc: Nguyễn Gia Phong <mcsinyx <at> disroot.org>
Subject: [PATCH] gnu: dyninst: Remove patch-bad-logic phase.
Date: Thu, 26 Sep 2024 18:21:29 +0900
The short circuit logic (return failure to resolve library path
if ldconfig not found) is no longer present on Dyninst 13.

* gnu/packages/instrumentation.scm (dyninst):
  Remove patch-bad-logic phase.

Fixes: 254c8f2c8cbb ("gnu: dyninst: Update to 13.0.0.")
References: https://github.com/dyninst/dyninst/pull/1362
Change-Id: I021ec71416da90d11705ef04fba7c170558ef3c6
---
 gnu/packages/instrumentation.scm | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 1b99399913ef..86436130c9e1 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -222,23 +222,8 @@ (define-public dyninst
        ;; source.
        #:configure-flags
        (list "-DSTERILE_BUILD=ON")
-       ;; NOTE: dyninst needs to search for shared libraries that are linked
-       ;; against the instrumented binary in order to rebuild the entire
-       ;; program.  For this purpose, one can use LD_LIBRARY_PATH or
-       ;; DYNISNT_REWRITER_PATHS environment variables to add paths for dyinst
-       ;; to search.  However, dyninst also tries to be smart by executing
-       ;; ldconfig, which is not portable.  If ldconfig is not available on
-       ;; the system, dyinst wrongly assumes that the shared libraries can not
-       ;; be found, even though it can.  This bad logic is still there with
-       ;; newer versions of dyinst.  Thus, this substitution makes the bad
-       ;; code path unreachable.
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-bad-logic
-           (lambda _
-             (substitute* "dyninstAPI/src/linux.C"
-               (("if\\(fgets\\(buffer, buffer_size, ldconfig\\)\\)")
-                "fgets(buffer, buffer_size, ldconfig); if (true)"))))
          (add-after 'unpack 'adjust-supported-platform-name
            (lambda _
              ;; That file checks for "i386" but

base-commit: f6715a4715eaed485300dffffa1b5e182ded3cea
-- 
2.46.0





This bug report was last modified 231 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.