From 671631d4b1a8be06ff1596194be2d09faf114c23 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 17 May 1993 02:08:01 +0000 Subject: [PATCH] Formerly unix/bsd/sequent/i386/__sigvec.S.~3~ --- sysdeps/unix/bsd/sequent/i386/sigvec.S | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sysdeps/unix/bsd/sequent/i386/sigvec.S b/sysdeps/unix/bsd/sequent/i386/sigvec.S index 53aade4..9a9a13e 100644 --- a/sysdeps/unix/bsd/sequent/i386/sigvec.S +++ b/sysdeps/unix/bsd/sequent/i386/sigvec.S @@ -32,14 +32,12 @@ trampoline: .globl syscall_error ENTRY (__sigvec) - /* Put the address of the trampoline in a scratch register. */ - mov $trampoline, scratch - /* Now exchange this register with the fourth word on the stack, - where the fourth argument to the system call would go. */ - xchg 16(%esp), scratch + pushl $trampoline /* Push fourth arg: trampoline address. */ + pushl 16(%esp) /* Push third arg: our third arg. */ + pushl 16(%esp) /* Push second arg: our second arg. */ + pushl 16(%esp) /* Push first arg: our first arg. */ ARGS_4 /* Point the syscall at the arguments. */ DO_CALL (sigvec, 4) /* Do the system call. */ - /* Exchange again, restoring the stack word. */ - xchg 16(%esp), scratch + addl %esp, $16 /* Pop those four args. */ jb syscall_error /* Check for error. */ ret -- 2.7.4