1998-11-02  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Remove
	unnecessary test and add cast.

1998-11-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/getconf.c: Add initializer SYSCONF for CHARCLASS_NAME_MAX.

	* sysdeps/unix/sysv/linux/ttyname.c (getttyname): Remove unused
	parameter fd.
	* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise.

1998-11-02  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/generic/bits/types.h (__FDS_BITS): New macro to access
	fds_bits member.
	(__FDMASK): Use __fd_mask instead of unsigned long int in cast.

1998-10-31  Richard Henderson  <rth@cygnus.com>

	* math/Makefile (gmp-objs): Add udiv_qrnnd.

	* sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL*): New.
	(inline_syscall*): New.
	* sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL): New.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Kill __syscall* bits.

1998-10-30  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/Versions: Add xdr_uint32_t and xdr_int32_t.
	* sunrpc/pmap_rmt.c: Initialize clnt_stat variable.
	* sunrpc/rpc/auth_des.h: Use uint32_t for time values.
	* sunrpc/rpc/xdr.h: Add INT32 support.

	* nis/nis_call.c: Changes for new 64bit clean NIS+ interface.
	* nis/nis_callback.c: Likewise.
	* nis/nis_creategroup.c: Likewise.
	* nis/nis_defaults.c: Likewise.
	* nis/nis_intern.h: Likewise.
	* nis/nis_lookup.c: Likewise.
	* nis/nis_ping.c: Likewise.
	* nis/nis_print.c: Likewise.
	* nis/nis_table.c: Likewise.
	* nis/nis_util.c: Likewise.
	* nis/nis_xdr.c: Likewise.
	* nis/rpcsvc/nis.h: Likewise.
	* nis/rpcsvc/nis.x: Likewise.
	* nis/rpcsvc/nis_callback.h: Likewise.
	* nis/rpcsvc/nis_object.x: Likewise.
	* nis/rpcsvc/nislib.h: Likewise.

	* nis/rpcsvc/yp.h: Remove casts to (u_long).
	* nis/rpcsvc/yp_prot.h: Likewise.
	* nis/rpcsvc/ypupd.h: Likewise.
	* nis/ypclnt.c: Change %ld to %d in sprintf.

1998-10-29  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/locale.texi (Formatting Numbers): Fix strfmon examples.

1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain
	0, __fd_mask is usually not a char.

1998-10-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow
	compilation on systems without rt_* syscalls (e.g. on Linux 2.0).
	* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow
	compiling on systems without rt_sigaction syscall.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction):
	Likewise.

1998-10-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* time/strptime.c (HERE_D_FMT): Fix typo.
	Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.
This commit is contained in:
Ulrich Drepper 1998-11-02 10:07:25 +00:00
parent c55be36de7
commit 160698e277
11 changed files with 288 additions and 110 deletions

146
ChangeLog
View File

@ -1,3 +1,31 @@
1998-11-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Remove
unnecessary test and add cast.
1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/getconf.c: Add initializer SYSCONF for CHARCLASS_NAME_MAX.
* sysdeps/unix/sysv/linux/ttyname.c (getttyname): Remove unused
parameter fd.
* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise.
1998-11-02 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/bits/types.h (__FDS_BITS): New macro to access
fds_bits member.
(__FDMASK): Use __fd_mask instead of unsigned long int in cast.
1998-10-31 Richard Henderson <rth@cygnus.com>
* math/Makefile (gmp-objs): Add udiv_qrnnd.
* sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL*): New.
(inline_syscall*): New.
* sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL): New.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Kill __syscall* bits.
1998-10-31 Ulrich Drepper <drepper@cygnus.com>
* aclocal.m4 (LIBC_PROG_FOO_GNU): Name output file using -o to
@ -5,66 +33,66 @@
* posix/PTESTS: Remove comment about incorrect test (it is correct).
1998-10-30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/Versions: Add xdr_uint32_t and xdr_int32_t.
* sunrpc/pmap_rmt.c: Initialize clnt_stat variable.
* sunrpc/rpc/auth_des.h: Use uint32_t for time values.
* sunrpc/rpc/xdr.h: Add INT32 support.
1998-10-30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/Versions: Add xdr_uint32_t and xdr_int32_t.
* sunrpc/pmap_rmt.c: Initialize clnt_stat variable.
* sunrpc/rpc/auth_des.h: Use uint32_t for time values.
* sunrpc/rpc/xdr.h: Add INT32 support.
* sunrpc/xdr.c: Implement xdr_int32_t and xdr_uint32_t .
* nis/nis_call.c: Changes for new 64bit clean NIS+ interface.
* nis/nis_callback.c: Likewise.
* nis/nis_creategroup.c: Likewise.
* nis/nis_defaults.c: Likewise.
* nis/nis_intern.h: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_table.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/nis_xdr.c: Likewise.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nis.x: Likewise.
* nis/rpcsvc/nis_callback.h: Likewise.
* nis/rpcsvc/nis_object.x: Likewise.
* nis/rpcsvc/nislib.h: Likewise.
* nis/rpcsvc/yp.h: Remove casts to (u_long).
* nis/rpcsvc/yp_prot.h: Likewise.
* nis/rpcsvc/ypupd.h: Likewise.
* nis/ypclnt.c: Change %ld to %d in sprintf.
1998-10-29 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/locale.texi (Formatting Numbers): Fix strfmon examples.
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain
0, __fd_mask is usually not a char.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow
compilation on systems without rt_* syscalls (e.g. on Linux 2.0).
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow
compiling on systems without rt_sigaction syscall.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction):
Likewise.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/strptime.c (HERE_D_FMT): Fix typo.
Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.
* nis/nis_call.c: Changes for new 64bit clean NIS+ interface.
* nis/nis_callback.c: Likewise.
* nis/nis_creategroup.c: Likewise.
* nis/nis_defaults.c: Likewise.
* nis/nis_intern.h: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_table.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/nis_xdr.c: Likewise.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nis.x: Likewise.
* nis/rpcsvc/nis_callback.h: Likewise.
* nis/rpcsvc/nis_object.x: Likewise.
* nis/rpcsvc/nislib.h: Likewise.
* nis/rpcsvc/yp.h: Remove casts to (u_long).
* nis/rpcsvc/yp_prot.h: Likewise.
* nis/rpcsvc/ypupd.h: Likewise.
* nis/ypclnt.c: Change %ld to %d in sprintf.
1998-10-29 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/locale.texi (Formatting Numbers): Fix strfmon examples.
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain
0, __fd_mask is usually not a char.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow
compilation on systems without rt_* syscalls (e.g. on Linux 2.0).
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow
compiling on systems without rt_sigaction syscall.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction):
Likewise.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/strptime.c (HERE_D_FMT): Fix typo.
Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.
1998-10-30 Ulrich Drepper <drepper@cygnus.com>
* catgets/Makefile (tests): Add rules to run gencat on test1.msg.

View File

@ -93,7 +93,7 @@ typedef unsigned long int __fd_mask;
/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */
#define __NFDBITS (sizeof (unsigned long int) * 8)
#define __FDELT(d) ((d) / __NFDBITS)
#define __FDMASK(d) ((unsigned long int) 1 << ((d) % __NFDBITS))
#define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
/* fd_set for select and pselect. */
typedef struct
@ -102,8 +102,10 @@ typedef struct
from the user namespace. */
#ifdef __USE_XOPEN
__fd_mask fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS];
# define __FDS_BITS(set) ((set)->fds_bits)
#else
__fd_mask __fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS];
# define __FDS_BITS(set) ((set)->__fds_bits)
#endif
} __fd_set;

View File

@ -156,7 +156,7 @@ o = .os
endif
gmp-objs = $(patsubst %,$(common-objpfx)stdlib/%$o,\
add_n sub_n cmp addmul_1 mul_1 mul_n divmod_1 \
lshift rshift mp_clz_tab)
lshift rshift mp_clz_tab udiv_qrnnd)
$(objpfx)atest-exp: $(gmp-objs)
$(objpfx)atest-sincos: $(gmp-objs)
$(objpfx)atest-exp2: $(gmp-objs)

View File

@ -423,7 +423,7 @@ static const struct conf vars[] =
#ifdef _SC_BC_STRING_MAX
{ "BC_STRING_MAX", _SC_BC_STRING_MAX, SYSCONF },
#endif
{ "CHARCLASS_NAME_MAX", _SC_CHARCLASS_NAME_MAX },
{ "CHARCLASS_NAME_MAX", _SC_CHARCLASS_NAME_MAX, SYSCONF },
#ifdef _SC_COLL_WEIGHTS_MAX
{ "COLL_WEIGHTS_MAX", _SC_COLL_WEIGHTS_MAX, SYSCONF },
#endif

View File

@ -93,7 +93,7 @@ typedef unsigned long int __fd_mask;
/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */
#define __NFDBITS (sizeof (unsigned long int) * 8)
#define __FDELT(d) ((d) / __NFDBITS)
#define __FDMASK(d) ((unsigned long int) 1 << ((d) % __NFDBITS))
#define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
/* fd_set for select and pselect. */
typedef struct
@ -102,8 +102,10 @@ typedef struct
from the user namespace. */
#ifdef __USE_XOPEN
__fd_mask fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS];
# define __FDS_BITS(set) ((set)->fds_bits)
#else
__fd_mask __fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS];
# define __FDS_BITS(set) ((set)->__fds_bits)
#endif
} __fd_set;

View File

@ -109,4 +109,167 @@ __LABEL(name) \
#define MOVE(x,y) mov x,y
#endif
#else /* !ASSEMBLER */
/* Define a macro which expands inline into the wrapper code for a
system call. */
#undef INLINE_SYSCALL
#define INLINE_SYSCALL(name, nr, args...) INLINE_SYSCALL1(name, nr, args)
#define INLINE_SYSCALL1(name, nr, args...) \
({ \
long _sc_ret, _sc_err; \
inline_syscall##nr(name, args); \
if (_sc_err) \
{ \
__set_errno (_sc_ret); \
_sc_ret = -1L; \
} \
_sc_ret; \
})
#define inline_syscall_clobbers \
"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \
"$22", "$23", "$24", "$25", "$27", "$28"
/* It is moderately important optimization-wise to limit the lifetime
of the hard-register variables as much as possible. Thus we copy
in/out as close to the asm as possible. */
#define inline_syscall0(name) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = __NR_##name; \
__asm__("callsys # %0 %1 <= %2" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall1(name,arg1) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
__asm__("callsys # %0 %1 <= %2 %3" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall2(name,arg1,arg2) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
__asm__("callsys # %0 %1 <= %2 %3 %4" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall3(name,arg1,arg2,arg3) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \
"r"(_sc_18) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall4(name,arg1,arg2,arg3,arg4) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
_sc_19 = (long) (arg4); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \
"r"(_sc_18), "1"(_sc_19) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
register long _sc_20 __asm__("$20"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
_sc_19 = (long) (arg4); \
_sc_20 = (long) (arg5); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \
"r"(_sc_18), "1"(_sc_19), "r"(_sc_20) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
{ \
register long _sc_0 __asm__("$0"); \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
register long _sc_20 __asm__("$20"); \
register long _sc_21 __asm__("$21"); \
\
_sc_0 = __NR_##name; \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
_sc_19 = (long) (arg4); \
_sc_20 = (long) (arg5); \
_sc_21 = (long) (arg6); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \
: "=r"(_sc_0), "=r"(_sc_19) \
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \
"r"(_sc_18), "1"(_sc_19), "r"(_sc_20), \
"r"(_sc_21) \
: inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
#endif /* ASSEMBLER */

View File

@ -79,30 +79,3 @@ old_adjtimex - old_adjtimex 1 __adjtimex_tv32 __adjtimex@GLIBC_2.0 adjtimex@GLI
# and one for timeval64 entry points
adjtimex adjtime adjtimex 1 __syscall_adjtimex_tv64
# System calls with wrappers.
rt_sigaction - rt_sigaction 4 __syscall_rt_sigaction
rt_sigpending - rt_sigpending 2 __syscall_rt_sigpending
rt_sigprocmask - rt_sigprocmask 4 __syscall_rt_sigprocmask
rt_sigqueueinfo - rt_sigqueueinfo 3 __syscall_rt_sigqueueinfo
rt_sigsuspend - rt_sigsuspend 2 __syscall_rt_sigsuspend
rt_sigtimedwait - rt_sigtimedwait 4 __syscall_rt_sigtimedwait
s_getcwd getcwd getcwd 2 __syscall_getcwd
s_getdents getdents getdents 3 __syscall_getdents
s_getpriority getpriority getpriority 2 __syscall_getpriority
s_getresgid getresgid getresgid 3 __syscall_getresgid
s_getresuid getresuid getresuid 3 __syscall_getresuid
s_poll poll poll 3 __syscall_poll
s_ptrace ptrace ptrace 4 __syscall_ptrace
s_reboot reboot reboot 3 __syscall_reboot
s_sigaction sigaction sigaction 3 __syscall_sigaction
s_sigpending sigpending sigpending 1 __syscall_sigpending
s_sigprocmask sigprocmask sigprocmask 3 __syscall_sigprocmask
s_sigsuspend sigsuspend sigsuspend 3 __syscall_sigsuspend
s_sysctl sysctl _sysctl 1 __syscall__sysctl
sys_fstat fxstat fstat 2 __syscall_fstat
sys_lstat lxstat lstat 2 __syscall_lstat
sys_mknod xmknod mknod 3 __syscall_mknod
sys_readv readv readv 3 __syscall_readv
sys_stat xstat stat 2 __syscall_stat
sys_writev writev writev 3 __syscall_writev

View File

@ -55,3 +55,15 @@
#define __NR_osf_shmat 209
#define __NR_osf_getsysinfo 256
#define __NR_osf_setsysinfo 257
/*
* In order to get the hidden arguments for rt_sigaction set up
* properly, we need to call the assembly version. Detect this in the
* INLINE_SYSCALL macro, and fail to expand inline in that case.
*/
#undef INLINE_SYSCALL
#define INLINE_SYSCALL(name, nr, args...) \
(__NR_##name == __NR_rt_sigaction \
? __syscall_##name(args) \
: INLINE_SYSCALL1(name, nr, args))

View File

@ -36,7 +36,7 @@ setgroups (n, groups)
size_t n;
const gid_t *groups;
{
if (n < 0 || n > __sysconf (_SC_NGROUPS_MAX))
if (n > (size_t) __sysconf (_SC_NGROUPS_MAX))
{
__set_errno (EINVAL);
return -1;

View File

@ -30,15 +30,14 @@
char *__ttyname = NULL;
static char * getttyname __P ((const char *dev, int fd, dev_t mydev,
static char * getttyname __P ((const char *dev, dev_t mydev,
ino_t myino, int save, int *dostat))
internal_function;
static char *
internal_function
getttyname (dev, fd, mydev, myino, save, dostat)
getttyname (dev, mydev, myino, save, dostat)
const char *dev;
int fd;
dev_t mydev;
ino_t myino;
int save;
@ -142,9 +141,9 @@ ttyname (fd)
if (stat ("/dev/pts", &st1) == 0 && S_ISDIR (st1.st_mode))
{
#ifdef _STATBUF_ST_RDEV
name = getttyname ("/dev/pts", fd, st.st_rdev, st.st_ino, save, &dostat);
name = getttyname ("/dev/pts", st.st_rdev, st.st_ino, save, &dostat);
#else
name = getttyname ("/dev/pts", fd, st.st_dev, st.st_ino, save, &dostat);
name = getttyname ("/dev/pts", st.st_dev, st.st_ino, save, &dostat);
#endif
}
else
@ -156,9 +155,9 @@ ttyname (fd)
if (!name && dostat != -1)
{
#ifdef _STATBUF_ST_RDEV
name = getttyname ("/dev", fd, st.st_rdev, st.st_ino, save, &dostat);
name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
#else
name = getttyname ("/dev", fd, st.st_dev, st.st_ino, save, &dostat);
name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
#endif
}
@ -166,9 +165,9 @@ ttyname (fd)
{
dostat = 1;
#ifdef _STATBUF_ST_RDEV
name = getttyname ("/dev", fd, st.st_rdev, st.st_ino, save, &dostat);
name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
#else
name = getttyname ("/dev", fd, st.st_dev, st.st_ino, save, &dostat);
name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
#endif
}

View File

@ -28,14 +28,13 @@
#include <stdio-common/_itoa.h>
static int getttyname_r __P ((int fd, char *buf, size_t buflen,
static int getttyname_r __P ((char *buf, size_t buflen,
dev_t mydev, ino_t myino, int save,
int *dostat)) internal_function;
static int
internal_function
getttyname_r (fd, buf, buflen, mydev, myino, save, dostat)
int fd;
getttyname_r (buf, buflen, mydev, myino, save, dostat)
char *buf;
size_t buflen;
dev_t mydev;
@ -152,10 +151,10 @@ __ttyname_r (fd, buf, buflen)
if (stat (buf, &st1) == 0 && S_ISDIR (st1.st_mode))
{
#ifdef _STATBUF_ST_RDEV
ret = getttyname_r (fd, buf, buflen, st.st_rdev, st.st_ino, save,
ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
&dostat);
#else
ret = getttyname_r (fd, buf, buflen, st.st_dev, st.st_ino, save,
ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
&dostat);
#endif
}
@ -170,10 +169,10 @@ __ttyname_r (fd, buf, buflen)
buf[sizeof ("/dev/") - 1] = '\0';
buflen += sizeof ("pts/") - 1;
#ifdef _STATBUF_ST_RDEV
ret = getttyname_r (fd, buf, buflen, st.st_rdev, st.st_ino, save,
ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
&dostat);
#else
ret = getttyname_r (fd, buf, buflen, st.st_dev, st.st_ino, save,
ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
&dostat);
#endif
}
@ -183,10 +182,10 @@ __ttyname_r (fd, buf, buflen)
buf[sizeof ("/dev/") - 1] = '\0';
dostat = 1;
#ifdef _STATBUF_ST_RDEV
ret = getttyname_r (fd, buf, buflen, st.st_rdev, st.st_ino,
ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino,
save, &dostat);
#else
ret = getttyname_r (fd, buf, buflen, st.st_dev, st.st_ino,
ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino,
save, &dostat);
#endif
}