mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 23:01:17 +08:00
linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new signal trampoline codes.
* config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new signal trampoline codes. From-SVN: r72128
This commit is contained in:
parent
56ef49efae
commit
522d2b3fcc
@ -1,3 +1,8 @@
|
||||
2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
* config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
|
||||
signal trampoline codes.
|
||||
|
||||
2003-10-05 Chris Demetriou <cgd@broadcom.com>
|
||||
|
||||
* config/mips/mips.md (*divsf3): Move description of
|
||||
|
@ -220,13 +220,24 @@ do { \
|
||||
\
|
||||
/* mov.w 1f,r3; trapa #0x10; 1: .short 0x77 (sigreturn) */ \
|
||||
/* mov.w 1f,r3; trapa #0x10; 1: .short 0xad (rt_sigreturn) */ \
|
||||
if ((*(unsigned short *) (pc_+0) == 0x9300) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+4) == 0x0077)) \
|
||||
/* Newer kernel uses pad instructions to avoid an SH-4 core bug. */\
|
||||
/* mov.w 1f,r3; trapa #0x10; or r0,r0; or r0,r0; or r0,r0; or r0,r0;\
|
||||
or r0,r0; 1: .short 0x77 (sigreturn) */ \
|
||||
/* mov.w 1f,r3; trapa #0x10; or r0,r0; or r0,r0; or r0,r0; or r0,r0;\
|
||||
or r0,r0; 1: .short 0xad (rt_sigreturn) */ \
|
||||
if (((*(unsigned short *) (pc_+0) == 0x9300) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+4) == 0x0077)) \
|
||||
|| (((*(unsigned short *) (pc_+0) == 0x9305) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+14) == 0x0077)))) \
|
||||
sc_ = (CONTEXT)->cfa; \
|
||||
else if ((*(unsigned short *) (pc_+0) == 0x9300) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+4) == 0x00ad)) \
|
||||
else if (((*(unsigned short *) (pc_+0) == 0x9300) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+4) == 0x00ad)) \
|
||||
|| (((*(unsigned short *) (pc_+0) == 0x9305) \
|
||||
&& (*(unsigned short *) (pc_+2) == 0xc310) \
|
||||
&& (*(unsigned short *) (pc_+14) == 0x00ad)))) \
|
||||
{ \
|
||||
struct rt_sigframe { \
|
||||
struct siginfo info; \
|
||||
|
Loading…
x
Reference in New Issue
Block a user