From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 From: Fedora GDB patches 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 #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; };