Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37726206
en ru br
ALT Linux repos
S:13.2.0.43.854f46b6377-alt2
5.0: 6.6-alt3
4.1: 6.6-alt3
4.0: 6.6-alt2
3.0: 6.3-alt2

Group :: Development/Debuggers
RPM: gdb

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
Download


From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Fedora GDB patches <invalid@email.com>
Date: Fri, 27 Oct 2017 21:07:50 +0200
Subject: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
;; Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879).
;;=push+jan
diff --git a/gdb/build-id.c b/gdb/build-id.c
--- a/gdb/build-id.c
+++ b/gdb/build-id.c
@@ -708,6 +708,19 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
 #include <dlfcn.h>
 #endif
 
+/* Workarodun https://bugzilla.redhat.com/show_bug.cgi?id=643031
+   librpm must not exit() an application on SIGINT
+
+   Enable or disable a signal handler.  SIGNUM: signal to enable (or disable
+   if negative).  HANDLER: sa_sigaction handler (or NULL to use
+   rpmsqHandler()).  Returns: no. of refs, -1 on error.  */
+extern int rpmsqEnable (int signum, /* rpmsqAction_t handler */ void *handler);
+int
+rpmsqEnable (int signum, /* rpmsqAction_t handler */ void *handler)
+{
+  return 0;
+}
+
 /* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files
    and avoid their duplicities during a single inferior run.  */
 
diff --git a/gdb/proc-service.list b/gdb/proc-service.list
--- a/gdb/proc-service.list
+++ b/gdb/proc-service.list
@@ -37,4 +37,7 @@
   ps_pstop;
   ps_ptread;
   ps_ptwrite;
+
+  /* gdb-6.6-buildid-locate-rpm.patch */
+  rpmsqEnable;
 };
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin