Browse Source

microblaze: Correct signal frame setup.

Pass the context in r7.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Edgar E. Iglesias 15 years ago
parent
commit
187b4e08d3
1 changed files with 2 additions and 1 deletions
  1. 2 1
      linux-user/signal.c

+ 2 - 1
linux-user/signal.c

@@ -3213,7 +3213,8 @@ static void setup_frame(int sig, struct target_sigaction *ka,
     env->regs[1] = (unsigned long) frame;
     env->regs[1] = (unsigned long) frame;
     /* Signal handler args: */
     /* Signal handler args: */
     env->regs[5] = sig; /* Arg 0: signum */
     env->regs[5] = sig; /* Arg 0: signum */
-    env->regs[6] = (unsigned long) &frame->sc; /* arg 1: sigcontext */
+    env->regs[6] = 0;
+    env->regs[7] = (unsigned long) &frame->sc; /* arg 1: sigcontext */
 
 
     /* Offset of 4 to handle microblaze rtid r14, 0 */
     /* Offset of 4 to handle microblaze rtid r14, 0 */
     env->sregs[SR_PC] = (unsigned long)ka->_sa_handler;
     env->sregs[SR_PC] = (unsigned long)ka->_sa_handler;