From: Roland McGrath Date: Mon, 17 May 1993 02:08:01 +0000 (+0000) Subject: Formerly unix/bsd/sequent/i386/__sigvec.S.~3~ X-Git-Tag: glibc-2.16-ports-before-merge~4275 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=671631d4b1a8be06ff1596194be2d09faf114c23;p=thirdparty%2Fglibc.git Formerly unix/bsd/sequent/i386/__sigvec.S.~3~ --- diff --git a/sysdeps/unix/bsd/sequent/i386/sigvec.S b/sysdeps/unix/bsd/sequent/i386/sigvec.S index 53aade43930..9a9a13e0797 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