Hi, I checked this patch into x32 branch.
H.J. --- commit f8dd1a34cd51d52589cac5833dbf60e99e258504 Author: H.J. Lu <hjl.to...@gmail.com> Date: Fri Mar 4 15:22:45 2011 -0800 Use long long to check rt_sigreturn syscall. diff --git a/gcc/ChangeLog.x32 b/gcc/ChangeLog.x32 index a3b7364..1bee1d9 100644 --- a/gcc/ChangeLog.x32 +++ b/gcc/ChangeLog.x32 @@ -1,3 +1,8 @@ +2011-03-04 H.J. Lu <hongjiu...@intel.com> + + * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Use + long long to check rt_sigreturn syscall. + 2011-03-02 H.J. Lu <hongjiu...@intel.com> PR rtl-optimization/47958 diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h index c5f7ea0..11afd86 100644 --- a/gcc/config/i386/linux-unwind.h +++ b/gcc/config/i386/linux-unwind.h @@ -45,7 +45,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, /* movq __NR_rt_sigreturn, %rax ; syscall */ if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long *)(pc+1) == 0x050f0000000fc0c7) + && *(unsigned long long *)(pc+1) == 0x050f0000000fc0c7ULL) { struct ucontext *uc_ = context->cfa; /* The void * cast is necessary to avoid an aliasing warning.