2004-11-25 00:35:18

by Jeff Dike

[permalink] [raw]
Subject: [PATCH] UML -

>From Bodo Stroesser - Make UML's restorer match i386.

Signed-off-by: Jeff Dike <[email protected]>

Index: 2.6.9/arch/um/sys-i386/signal.c
===================================================================
--- 2.6.9.orig/arch/um/sys-i386/signal.c 2004-11-16 21:25:23.000000000 -0500
+++ 2.6.9/arch/um/sys-i386/signal.c 2004-11-16 21:25:44.000000000 -0500
@@ -227,15 +227,15 @@
sizeof(frame->extramask));

/*
- * This is movl $,%eax ; int $0x80
+ * This is popl %eax ; movl $,%eax ; int $0x80
*
* WE DO NOT USE IT ANY MORE! It's only left here for historical
* reasons and because gdb uses it as a signature to notice
* signal handler stack frames.
*/
- err |= __put_user(0xb8, (char __user *)(frame->retcode+0));
- err |= __put_user(__NR_rt_sigreturn, (int __user *)(frame->retcode+1));
- err |= __put_user(0x80cd, (short __user *)(frame->retcode+5));
+ err |= __put_user(0xb858, (short __user *)(frame->retcode+0));
+ err |= __put_user(__NR_sigreturn, (int __user *)(frame->retcode+2));
+ err |= __put_user(0x80cd, (short __user *)(frame->retcode+6));

if(err)
return(err);