diff mbox series

[bug#73495] gnu: dyninst: Remove patch-bad-logic phase.

Message ID d10600edd2a41cabc227f22afb1bab0c7a0beb42.1727342488.git.mcsinyx@disroot.org
State New
Headers show
Series [bug#73495] gnu: dyninst: Remove patch-bad-logic phase. | expand

Commit Message

bigbookofbug--- via Guix-patches via Sept. 26, 2024, 9:21 a.m. UTC
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(-)


base-commit: f6715a4715eaed485300dffffa1b5e182ded3cea

Comments

Ludovic Courtès Sept. 30, 2024, 4:58 p.m. UTC | #1
Nguyễn Gia Phong <mcsinyx@disroot.org> skribis:

> 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

Applied, thanks!
diff mbox series

Patch

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