Commit cc3c24ed by David Daney Committed by David Daney

linux-unwind.h (mips_fallback_frame_state): Use CFA to find sigcontext.

2007-11-14  David Daney  <ddaney@avtrex.com>

	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
	to find sigcontext.

From-SVN: r130194
parent 35293ded
2007-11-14 David Daney <ddaney@avtrex.com>
* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
to find sigcontext.
2007-11-14 Eric Botcazou <ebotcazou@libertysurf.fr> 2007-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/33923 PR target/33923
...@@ -66,9 +66,10 @@ mips_fallback_frame_state (struct _Unwind_Context *context, ...@@ -66,9 +66,10 @@ mips_fallback_frame_state (struct _Unwind_Context *context,
if (pc[0] == (0x24020000 | __NR_sigreturn)) if (pc[0] == (0x24020000 | __NR_sigreturn))
{ {
struct sigframe { struct sigframe {
u_int32_t ass[4]; /* Argument save space for o32. */
u_int32_t trampoline[2]; u_int32_t trampoline[2];
struct sigcontext sigctx; struct sigcontext sigctx;
} *rt_ = context->ra; } *rt_ = context->cfa;
sc = &rt_->sigctx; sc = &rt_->sigctx;
} }
else else
...@@ -76,10 +77,11 @@ mips_fallback_frame_state (struct _Unwind_Context *context, ...@@ -76,10 +77,11 @@ mips_fallback_frame_state (struct _Unwind_Context *context,
if (pc[0] == (0x24020000 | __NR_rt_sigreturn)) if (pc[0] == (0x24020000 | __NR_rt_sigreturn))
{ {
struct rt_sigframe { struct rt_sigframe {
u_int32_t ass[4]; /* Argument save space for o32. */
u_int32_t trampoline[2]; u_int32_t trampoline[2];
struct siginfo info; struct siginfo info;
_sig_ucontext_t uc; _sig_ucontext_t uc;
} *rt_ = context->ra; } *rt_ = context->cfa;
sc = &rt_->uc.uc_mcontext; sc = &rt_->uc.uc_mcontext;
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment