summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/sysdep.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-10-26 03:59:27 +0000
committerRoland McGrath <roland@gnu.org>1995-10-26 03:59:27 +0000
commitc14e4c326d6b916112d03994105ddd3389515954 (patch)
treea6eacdb0d006783dd21626b55c4b37d98905329a /sysdeps/unix/sysv/linux/i386/sysdep.h
parentf44f9c33dff32b1f9f257ec855bbb7261c028039 (diff)
* 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/sysdep.h')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 7bd910e534..f6da272c75 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -44,8 +44,7 @@ Cambridge, MA 02139, USA. */
.text; \
SYSCALL_ERROR_HANDLER \
ENTRY (name) \
- movl $SYS_ify (syscall_name), %eax; \
- DO_CALL (args); \
+ DO_CALL (args, syscall_name); \
testl %eax, %eax; \
jl syscall_error;
@@ -62,7 +61,7 @@ syscall_error: \
movl errno@GOT(%ecx), %ecx; \
movl %eax, (%ecx); \
movl $-1, %eax; \
- ret
+ ret;
#endif
/* We define our own ENTRY macro because the alignment should be 16 for
@@ -119,9 +118,10 @@ syscall_error: \
i386 and i486 processors though. */
#undef DO_CALL
-#define DO_CALL(args) \
+#define DO_CALL(args, syscall_name) \
PUSHARGS_##args \
DOARGS_##args \
+ movl $SYS_ify (syscall_name), %eax; \
int $0x80 \
POPARGS_##args