From 2b7ca45acc292a6e6dad04f99adde380ddaea2f7 Mon Sep 17 00:00:00 2001 From: Arun Sharma Date: Sat, 3 Apr 2010 16:49:18 -0700 Subject: [PATCH] Fix handling of SA_SIGINFO frames on 32 bit x86 Submitted by: Arne de Bruijn --- src/x86/Gis_signal_frame.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/x86/Gis_signal_frame.c b/src/x86/Gis_signal_frame.c index df381ebe..686da02c 100644 --- a/src/x86/Gis_signal_frame.c +++ b/src/x86/Gis_signal_frame.c @@ -50,9 +50,9 @@ unw_is_signal_frame (unw_cursor_t *cursor) without SA_SIGINFO, and __restore_rt: - 0xb8 0xad 0x00 0x00 0x00 movl 0x80,%eax + 0xb8 0xad 0x00 0x00 0x00 movl 0xad,%eax 0xcd 0x80 int 0x80 - 0x90 nop + 0x00 if SA_SIGINFO is specified. */ @@ -61,7 +61,7 @@ unw_is_signal_frame (unw_cursor_t *cursor) || (ret = (*a->access_mem) (as, ip + 4, &w1, 0, arg)) < 0) return ret; ret = ((w0 == 0x0077b858 && w1 == 0x80cd0000) - || (w0 == 0x0000adb8 && w1 == 0x9080cd00)); + || (w0 == 0x0000adb8 && (w1 & 0xffffff) == 0x80cd00)); Debug (16, "returning %d\n", ret); return ret; #else