2004-10-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
	POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
	* sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
	syscalls.
This commit is contained in:
Ulrich Drepper 2004-10-15 21:31:29 +00:00
parent 457962e5f1
commit 0da7bcc5bf
3 changed files with 19 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2004-10-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
* sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
syscalls.
2004-10-15 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1995, 1996, 1998, 2002 Free Software Foundation, Inc.
/* Copyright (C) 1995, 1996, 1998, 2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -24,11 +24,11 @@
.text
ENTRY (syscall)
PUSHARGS_5 /* Save register contents. */
_DOARGS_5(36) /* Load arguments. */
movl 16(%esp), %eax /* Load syscall number into %eax. */
PUSHARGS_6 /* Save register contents. */
_DOARGS_6(44) /* Load arguments. */
movl 20(%esp), %eax /* Load syscall number into %eax. */
ENTER_KERNEL /* Do the system call. */
POPARGS_5 /* Restore register contents. */
POPARGS_6 /* Restore register contents. */
cmpl $-4095, %eax /* Check %eax for error. */
jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */
L(pseudo_end):

View File

@ -297,6 +297,13 @@ __i686.get_pc_thunk.reg: \
#define _DOARGS_5(n) movl n(%esp), %edi; _DOARGS_4 (n-4)
#define _POPARGS_5 _POPARGS_4; popl %edi; L(POPDI1):
#define PUSHARGS_6 _PUSHARGS_6
#define DOARGS_6 _DOARGS_6 (36)
#define POPARGS_6 _POPARGS_6
#define _PUSHARGS_6 pushl %ebp; L(PUSHBP1): _PUSHARGS_5
#define _DOARGS_6(n) movl n(%esp), %ebp; _DOARGS_5 (n-4)
#define _POPARGS_6 _POPARGS_5; popl %ebp; L(POPBP1):
#else /* !__ASSEMBLER__ */
/* We need some help from the assembler to generate optimal code. We