gnu: dyninst: Fix runtime error with new glibc.
* gnu/packages/patches/dyninst-fix-glibc-compatibility.patch: New file. * gnu/packages/instrumentation.scm (dyninst)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
e897569778
commit
bf2b18250c
|
@ -1073,6 +1073,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
|
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
|
||||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||||
%D%/packages/patches/dynaconf-unvendor-deps.patch \
|
%D%/packages/patches/dynaconf-unvendor-deps.patch \
|
||||||
|
%D%/packages/patches/dyninst-fix-glibc-compatibility.patch \
|
||||||
%D%/packages/patches/efivar-211.patch \
|
%D%/packages/patches/efivar-211.patch \
|
||||||
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
|
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
|
||||||
%D%/packages/patches/einstein-build.patch \
|
%D%/packages/patches/einstein-build.patch \
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages instrumentation)
|
(define-module (gnu packages instrumentation)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
|
@ -178,7 +179,9 @@ standard library headers.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5"))))
|
(base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5"))
|
||||||
|
(patches
|
||||||
|
(search-patches "dyninst-fix-glibc-compatibility.patch"))))
|
||||||
|
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
From f233c46ac7b415104d04e4bb74bd7a0fcf24a333 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Dion <odion@efficios.com>
|
||||||
|
Date: Thu, 15 Jun 2023 12:02:08 -0400
|
||||||
|
Subject: [PATCH] Fix compatibility with glibc 2.35
|
||||||
|
|
||||||
|
Something has change with the visibility of the _r_debug structure in
|
||||||
|
glibc 2.35. See this issue
|
||||||
|
<https://github.com/dyninst/dyninst/issues/1282>.
|
||||||
|
|
||||||
|
This patch is essentially the upstream fix
|
||||||
|
<https://github.com/dyninst/dyninst/commit/273803a4c643ed3506f9a69c6ec71d5ab337489c>
|
||||||
|
backported.
|
||||||
|
|
||||||
|
Signed-off-by: Olivier Dion <odion@efficios.com>
|
||||||
|
---
|
||||||
|
dyninstAPI_RT/src/RTlinux.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/dyninstAPI_RT/src/RTlinux.c b/dyninstAPI_RT/src/RTlinux.c
|
||||||
|
index fc231d0a4..2f17ff677 100644
|
||||||
|
--- a/dyninstAPI_RT/src/RTlinux.c
|
||||||
|
+++ b/dyninstAPI_RT/src/RTlinux.c
|
||||||
|
@@ -406,7 +406,6 @@ void dyninstTrapHandler(int sig, siginfo_t *sg, ucontext_t *context)
|
||||||
|
#if defined(cap_binary_rewriter)
|
||||||
|
|
||||||
|
extern struct r_debug _r_debug;
|
||||||
|
-DLLEXPORT struct r_debug _r_debug __attribute__ ((weak));
|
||||||
|
|
||||||
|
/* Verify that the r_debug variable is visible */
|
||||||
|
void r_debugCheck() { assert(_r_debug.r_map); }
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
Reference in New Issue