diff options
author | Roland McGrath <roland@gnu.org> | 1995-10-26 03:59:27 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-10-26 03:59:27 +0000 |
commit | c14e4c326d6b916112d03994105ddd3389515954 (patch) | |
tree | a6eacdb0d006783dd21626b55c4b37d98905329a /sysdeps/unix/sysv/linux/i386/syscall.S | |
parent | f44f9c33dff32b1f9f257ec855bbb7261c028039 (diff) | |
download | glibc-c14e4c326d6b916112d03994105ddd3389515954.zip glibc-c14e4c326d6b916112d03994105ddd3389515954.tar.gz glibc-c14e4c326d6b916112d03994105ddd3389515954.tar.bz2 |
* hurd/hurdstartup.c (_hurd_startup): Use new
exec_startup_get_info RPC from exec_startup.defs
in place of old exec_startup from exec.defs. Remove kludge to
guess user entry and phdr locations, since the new RPC gives us
that info.
* sysdeps/generic/_strerror.c: Undo last change.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/syscall.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/syscall.S | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/syscall.S b/sysdeps/unix/sysv/linux/i386/syscall.S index 6e6aa5d..52eb48a 100644 --- a/sysdeps/unix/sysv/linux/i386/syscall.S +++ b/sysdeps/unix/sysv/linux/i386/syscall.S @@ -18,14 +18,14 @@ Cambridge, MA 02139, USA. */ #include <sysdep.h> -.globl syscall_error + .text + SYSCALL_ERROR_HANDLER /* Define error handler for PIC. */ ENTRY (syscall) - popl %ecx /* Pop return address into %ecx. */ - popl %eax /* Pop syscall number into %eax. */ - pushl %ecx /* Push back return address. */ - DO_CALL (5) /* Frob the args and do the system call. */ - movl (%esp), %ecx - pushl %ecx + PUSHARGS_5 /* Save register contents. */ + _DOARGS_5(36) /* Load arguments. */ + movl 16(%esp), %eax /* Load syscall number into %eax. */ + int $0x80 /* Do the system call. */ + POPARGS_5 /* Restore register contents. */ testl %eax, %eax /* Check %eax for error. */ jl JUMPTARGET(syscall_error) /* Jump to error handler if negative. */ ret /* Return to caller. */ |