patch-1.3.9 linux/arch/alpha/kernel/entry.S
Next file: linux/arch/alpha/kernel/ptrace.c
Previous file: linux/arch/alpha/kernel/Makefile
Back to the patch index
Back to the overall index
- Lines: 27
- Date:
Tue Jul 11 08:14:54 1995
- Orig file:
v1.3.8/linux/arch/alpha/kernel/entry.S
- Orig date:
Tue Jun 27 14:11:30 1995
diff -u --recursive --new-file v1.3.8/linux/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S
@@ -369,6 +369,8 @@
jsr $26,($27),alpha_fork
br $0,undo_switch_stack
ldq $0,0($30)
+ bis $31,2,$19 /* Make sure that the stored user register v0 has */
+ stq $19,0($30) /* the syscall # for fork */
ret $31,($26),1
.end sys_fork
@@ -406,8 +408,16 @@
beq $1,1f
ldq $27,0($2)
1: jsr $26,($27),do_entSys
+ ldq $1,0($30) /* We have to handle ptrace specially */
+ subq $1,26,$1 /* since it returns a pointer value it will*/
+ bne $1,3f /* set up a3 and v0 in the return frame */
+ ldq $1,72($30)
+ stq $1,0($30)
+ stq $0,72($30)
bis $31,$31,$1
- bge $0,2f
+ br $31,ret_from_sys_call
+3: bis $31,$31,$1
+ bge $0,2f /* the call succeeded */
bis $31,$31,$26 /* tell "ret_from_sys_call" that we can restart */
ldq $19,0($30) /* .. with this syscall nr */
ldq $20,72($30) /* .. and this a3 */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this