Add sigsegv handling patch.

epel8
Brendan Jones 12 years ago
parent 488676586a
commit 83c933be0f

@ -0,0 +1,28 @@
diff -Nurp jack-1.9.8.orig/dbus/sigsegv.c jack-1.9.8/dbus/sigsegv.c
--- jack-1.9.8.orig/dbus/sigsegv.c 2011-12-19 12:54:24.000000000 +0100
+++ jack-1.9.8/dbus/sigsegv.c 2012-06-03 15:56:31.306697873 +0200
@@ -60,6 +60,7 @@ static void signal_segv(int signum, sigi
static const char *si_codes[3] = {"", "SEGV_MAPERR", "SEGV_ACCERR"};
size_t i;
+ const char *si_code_str;
ucontext_t *ucontext = (ucontext_t*)ptr;
#if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
@@ -94,10 +95,14 @@ static void signal_segv(int signum, sigi
jack_error("Unknown bad signal catched!");
}
- jack_error("info.si_signo = %d", signum);
+ if (info->si_code >= 0 && info->si_code < 3)
+ si_code_str = si_codes[info->si_code];
+ else
+ si_code_str = "unknown"; jack_error("info.si_signo = %d", signum);
+
jack_error("info.si_errno = %d", info->si_errno);
jack_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
- jack_error("info.si_addr = %p", info->si_addr);
+ jack_error("info.si_code = %d (%s)", info->si_code, si_code_str);
#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__)
for(i = 0; i < NGREG; i++)
jack_error("reg[%02d] = 0x" REGFORMAT, i,

@ -31,6 +31,8 @@ Patch5: jack-fix-connect-segfault.patch
Patch6: jack-ppc64-long.patch
# uc_regs no longer available on ppc64
Patch7: jack-audio-connection-kit-ppc-uc_regs.patch
# correct sigsegv handling
Patch8: jack-audio-connection-kit-1.9.8-sigsegv-handling.patch
BuildRequires: alsa-lib-devel
BuildRequires: dbus-devel
@ -100,6 +102,7 @@ pushd jack-%{version}
%patch5 -p1 -b .connectcrash
%patch6 -p1 -b .mpd
%patch7 -p1 -b .uc_regs
%patch8 -p1 -b .sigsegvfault
# Fix encoding issues
for file in ChangeLog README TODO; do

Loading…
Cancel
Save