File gdb-6.6-buildid-locate-rpm-librpm-workaround.patch of Package gdb.783

Index: gdb-7.6.90.20140127/gdb/proc-service.list
===================================================================
--- gdb-7.6.90.20140127.orig/gdb/proc-service.list	2014-02-06 17:32:42.810640320 +0100
+++ gdb-7.6.90.20140127/gdb/proc-service.list	2014-02-06 17:33:35.406696964 +0100
@@ -37,4 +37,7 @@
   ps_pstop;
   ps_ptread;
   ps_ptwrite;
+
+  /* gdb-6.6-buildid-locate-rpm.patch */
+  rpmsqEnable;
 };
Index: gdb-7.6.90.20140127/gdb/build-id.c
===================================================================
--- gdb-7.6.90.20140127.orig/gdb/build-id.c	2014-02-06 17:30:14.230480264 +0100
+++ gdb-7.6.90.20140127/gdb/build-id.c	2014-02-06 17:34:28.846754283 +0100
@@ -677,6 +677,19 @@ build_id_to_filename (const struct elf_b
 #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.  */