From f0a1915564c11a8f7188c486ab38ed7d29ea0bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Thu, 26 Sep 2024 18:21:29 +0900 Subject: [PATCH] gnu: dyninst: Remove patch-bad-logic phase. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Ludovic Courtès --- gnu/packages/instrumentation.scm | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index 1b99399913..86436130c9 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