[bug#73495] gnu: dyninst: Remove patch-bad-logic phase.
Commit Message
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
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!
@@ -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