From f193c41757aab810d11339c1a001b6ea33b9575f 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 FileName: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch ;; Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). ;;=push+jan --- gdb/build-id.c | 13 +++++++++++++ gdb/proc-service.list | 3 +++ 2 files changed, 16 insertions(+) diff --git a/gdb/build-id.c b/gdb/build-id.c index d420e3f9e7..a1fd3bfaab 100644 --- a/gdb/build-id.c +++ b/gdb/build-id.c @@ -678,6 +678,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 index 79c2e5b7fc..ac8364928c 100644 --- 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; }; -- 2.14.3