From bf2b18250cbee10d5a73fa7175054f2cafa40212 Mon Sep 17 00:00:00 2001 From: Olivier Dion Date: Thu, 15 Jun 2023 12:32:27 -0400 Subject: gnu: dyninst: Fix runtime error with new glibc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- gnu/local.mk | 1 + gnu/packages/instrumentation.scm | 5 +++- .../patches/dyninst-fix-glibc-compatibility.patch | 33 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/dyninst-fix-glibc-compatibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index 09a0741cc3..4f557fbe93 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1073,6 +1073,7 @@ dist_patch_DATA = \ %D%/packages/patches/dune-istl-fix-solver-playground.patch \ %D%/packages/patches/dvd+rw-tools-add-include.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/eigen-fix-strict-aliasing-bug.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index 5d862b5df1..263c2909f3 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -18,6 +18,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages instrumentation) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -178,7 +179,9 @@ standard library headers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5")))) + (base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5")) + (patches + (search-patches "dyninst-fix-glibc-compatibility.patch")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch b/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch new file mode 100644 index 0000000000..cd018da6cc --- /dev/null +++ b/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch @@ -0,0 +1,33 @@ +From f233c46ac7b415104d04e4bb74bd7a0fcf24a333 Mon Sep 17 00:00:00 2001 +From: Olivier Dion +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 +. + +This patch is essentially the upstream fix + +backported. + +Signed-off-by: Olivier Dion +--- + 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 + -- cgit v1.2.3