Added `movl r3,ap' to restore the argument pointer before returning

vi jmp (r0).
This commit is contained in:
em 1985-01-22 13:10:35 +00:00
parent 8bdec01d71
commit 33c81637db

View file

@ -75,6 +75,7 @@ Lgetpid:
Lr0: Lr0:
jsb Lsyscall jsb Lsyscall
pushl r0 pushl r0
movl r3,ap
jmp (r2) jmp (r2)
Lgetuid: Lgetuid:
Lgetgid: Lgetgid:
@ -83,6 +84,7 @@ Lr0r1:
jsb Lsyscall jsb Lsyscall
pushl r0 pushl r0
pushl r1 pushl r1
movl r3,ap
jmp (r2) jmp (r2)
Lpipe: Lpipe:
Lwait: Lwait:
@ -93,6 +95,7 @@ Ler0r1:
pushl r0 pushl r0
pushl r1 pushl r1
clrl -(sp) clrl -(sp)
movl r3,ap
jmp (r2) jmp (r2)
# 1 argument. # 1 argument.
@ -118,6 +121,7 @@ Lchroot:
Le: Le:
jsb Lsyscall jsb Lsyscall
clrl -(sp) clrl -(sp)
movl r3,ap
jmp (r2) jmp (r2)
Lalarm: Lalarm:
Lumask: Lumask:
@ -144,6 +148,7 @@ Ler0:
jsb Lsyscall jsb Lsyscall
pushl r0 pushl r0
clrl -(sp) clrl -(sp)
movl r3,ap
jmp (r2) jmp (r2)
# 3 arguments. # 3 arguments.
@ -211,6 +216,7 @@ Lsyscall:
bcc L1 bcc L1
cvtwl r0,(sp) # Push the error returned twice, cvtwl r0,(sp) # Push the error returned twice,
cvtwl r0,-(sp) # overwrite the return address cvtwl r0,-(sp) # overwrite the return address
movl r3,ap
jmp (r2) jmp (r2)
L1: L1:
rsb rsb
@ -261,16 +267,20 @@ sys:
bcc L4 bcc L4
movl (sp),sigtrp0 [r1] # Error, reset old trap number. movl (sp),sigtrp0 [r1] # Error, reset old trap number.
pushl r0 pushl r0
movl r3,ap
jmp (r2) jmp (r2)
L4: clrl -(sp) L4: clrl -(sp)
movl r3,ap
jmp (r2) jmp (r2)
badsig: badsig:
movl $-1,(sp) movl $-1,(sp)
pushl (sp) pushl (sp)
movl r3,ap
jmp (r2) jmp (r2)
badtrp: badtrp:
movl sigtrp0 [r1],(sp) movl sigtrp0 [r1],(sp)
pushl $-1 pushl $-1
movl r3,ap
jmp (r2) jmp (r2)
sigs: sigs: