Formerly unix/bsd/sequent/i386/__sigvec.S.~3~

This commit is contained in:
Roland McGrath 1993-05-17 02:08:01 +00:00
parent 11bd41d2a3
commit 671631d4b1

View File

@ -32,14 +32,12 @@ trampoline:
.globl syscall_error .globl syscall_error
ENTRY (__sigvec) ENTRY (__sigvec)
/* Put the address of the trampoline in a scratch register. */ pushl $trampoline /* Push fourth arg: trampoline address. */
mov $trampoline, scratch pushl 16(%esp) /* Push third arg: our third arg. */
/* Now exchange this register with the fourth word on the stack, pushl 16(%esp) /* Push second arg: our second arg. */
where the fourth argument to the system call would go. */ pushl 16(%esp) /* Push first arg: our first arg. */
xchg 16(%esp), scratch
ARGS_4 /* Point the syscall at the arguments. */ ARGS_4 /* Point the syscall at the arguments. */
DO_CALL (sigvec, 4) /* Do the system call. */ DO_CALL (sigvec, 4) /* Do the system call. */
/* Exchange again, restoring the stack word. */ addl %esp, $16 /* Pop those four args. */
xchg 16(%esp), scratch
jb syscall_error /* Check for error. */ jb syscall_error /* Check for error. */
ret ret