From c1301d9a76ee8da9aa2f1961d57fdf1763e44d57 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 24 Jan 2000 02:22:13 +0000 Subject: Update. 2000-01-23 Philip Blundell Add basic support for RPC over IPv6: * sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage' for remote address. (svcudp6_create, svcudp6_bufcreate, svctcp6_create): New prototypes. * sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create, clntudp6_bufcreate): New prototypes. * inet/netinet/in.h (bindresport6): Likewise. * sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6. * sunrpc/Versions: Add svcfd6_create, svctcp6_create, svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache, bindresvport6 for GLIBC_2.2. * sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types. * sunrpc/rpc_svcout.c: Likewise. * sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than simple assignment when copying addresses. * sunrpc/svc_udp.c (cache_get): Likewise. * sunrpc/svc_unix.c (rendezvous_request): Likewise. * sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c, sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files. 2000-01-05 Philip Blundell * sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS. 2000-01-23 Andreas Jaeger * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right parameter to fstat calls. 2000-01-18 Roland McGrath * sysdeps/generic/bits/socket.h (__ss_aligntype, struct sockaddr_storage): Make these like Linux version, replacing old type name `__ss_align'. 2000-01-05 Roland McGrath * sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64. (__lseek64, lseek64): Make these weak aliases for __libc_lseek64. * sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek. (__lseek, lseek): Make these weak aliases for __libc_lseek. * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl. (__fcntl, fcntl): Make these weak aliases for __libc_fcntl. * sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open. (__open, open): Make these weak aliases for __libc_open. * sysdeps/generic/bits/socket.h (enum __socket_type): Remove trailing comma. (anonymous enum for MSG_*): Likewise. (anonymous enum for SO_*): Likewise. 2000-01-23 Ulrich Drepper * string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU) (PR libc/1553). --- sysdeps/generic/bits/socket.h | 16 ++++++++-------- sysdeps/generic/lseek64.c | 10 ++++------ sysdeps/mach/hurd/fcntl.c | 7 ++++--- sysdeps/mach/hurd/lseek.c | 10 ++++------ sysdeps/mach/hurd/open.c | 7 ++++--- sysdeps/unix/sysv/linux/arm/mmap64.S | 3 ++- sysdeps/unix/sysv/linux/i386/fxstat.c | 4 ++-- 7 files changed, 28 insertions(+), 29 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/bits/socket.h b/sysdeps/generic/bits/socket.h index 5eb29492b4..7828d01bb3 100644 --- a/sysdeps/generic/bits/socket.h +++ b/sysdeps/generic/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Generic/4.3 BSD version. - Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. + Copyright (C) 1991,92,94,95,96,97,98,99,2000 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 @@ -47,7 +47,7 @@ enum __socket_type #define SOCK_RAW SOCK_RAW SOCK_RDM = 4, /* Reliably-delivered messages. */ #define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + SOCK_SEQPACKET = 5 /* Sequenced, reliable, connection-based, datagrams of fixed maximum length. */ #define SOCK_SEQPACKET SOCK_SEQPACKET }; @@ -133,17 +133,17 @@ struct sockaddr /* Structure large enough to hold any socket address (with the historical exception of AF_UNIX). We reserve 128 bytes. */ #if ULONG_MAX > 0xffffffff -# define __ss_align __uint64_t +# define __ss_aligntype __uint64_t #else -# define __ss_align __uint32_t +# define __ss_aligntype __uint32_t #endif #define _SS_SIZE 128 -#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_align))) +#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) struct sockaddr_storage { __SOCKADDR_COMMON (__ss_); /* Address family, etc. */ - __ss_align __ss_align; /* Force desired alignment. */ + __ss_aligntype __ss_align; /* Force desired alignment. */ char __ss_padding[_SS_PADSIZE]; }; @@ -165,7 +165,7 @@ enum #define MSG_CTRUNC MSG_CTRUNC MSG_WAITALL = 0x40, /* Wait for full request or error. */ #define MSG_WAITALL MSG_WAITALL - MSG_DONTWAIT = 0x80, /* This message should be nonblocking. */ + MSG_DONTWAIT = 0x80 /* This message should be nonblocking. */ #define MSG_DONTWAIT MSG_DONTWAIT }; @@ -234,7 +234,7 @@ enum #define SO_ERROR SO_ERROR SO_STYLE = 0x1008, /* Get socket connection style. */ #define SO_STYLE SO_STYLE - SO_TYPE = SO_STYLE, /* Compatible name for SO_STYLE. */ + SO_TYPE = SO_STYLE /* Compatible name for SO_STYLE. */ #define SO_TYPE SO_TYPE }; diff --git a/sysdeps/generic/lseek64.c b/sysdeps/generic/lseek64.c index 91ef7f3dcc..c7f551c913 100644 --- a/sysdeps/generic/lseek64.c +++ b/sysdeps/generic/lseek64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1991,95,96,97,98,2000 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 @@ -22,10 +22,7 @@ /* Seek to OFFSET on FD, starting from WHENCE. */ off64_t -__lseek64 (fd, offset, whence) - int fd; - off64_t offset; - int whence; +__libc_lseek64 (int fd, off64_t offset, int whence) { if (fd < 0) { @@ -46,6 +43,7 @@ __lseek64 (fd, offset, whence) __set_errno (ENOSYS); return -1; } -weak_alias (__lseek64, lseek64) +weak_alias (__libc_lseek64, __lseek64) +weak_alias (__libc_lseek64, lseek64) stub_warning (lseek64) #include diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index 21ce766970..7cc41e64a2 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,93,94,95,96,97,99 Free Software Foundation, Inc. +/* Copyright (C) 1992,93,94,95,96,97,99,2000 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 @@ -26,7 +26,7 @@ /* Perform file control operations on FD. */ int -__fcntl (int fd, int cmd, ...) +__libc_fcntl (int fd, int cmd, ...) { va_list ap; struct hurd_fd *d; @@ -198,4 +198,5 @@ __fcntl (int fd, int cmd, ...) return result; } -weak_alias (__fcntl, fcntl) +weak_alias (__libc_fcntl, __fcntl) +weak_alias (__libc_fcntl, fcntl) diff --git a/sysdeps/mach/hurd/lseek.c b/sysdeps/mach/hurd/lseek.c index 0f17ce1e0e..a9dc4a2f61 100644 --- a/sysdeps/mach/hurd/lseek.c +++ b/sysdeps/mach/hurd/lseek.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,97,2000 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 @@ -23,10 +23,7 @@ /* Seek to OFFSET on FD, starting from WHENCE. */ off_t -__lseek (fd, offset, whence) - int fd; - off_t offset; - int whence; +__libc_lseek (int fd, off_t offset, int whence) { error_t err; if (err = HURD_DPORT_USE (fd, __io_seek (port, offset, whence, &offset))) @@ -34,4 +31,5 @@ __lseek (fd, offset, whence) return offset; } -weak_alias (__lseek, lseek) +weak_alias (__libc_lseek, __lseek) +weak_alias (__libc_lseek, lseek) diff --git a/sysdeps/mach/hurd/open.c b/sysdeps/mach/hurd/open.c index 489e5577b8..617bf7670c 100644 --- a/sysdeps/mach/hurd/open.c +++ b/sysdeps/mach/hurd/open.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992,93,94,95,97,2000 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 @@ -25,7 +25,7 @@ /* Open FILE with access OFLAG. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__open (const char *file, int oflag, ...) +__libc_open (const char *file, int oflag, ...) { mode_t mode; io_t port; @@ -47,4 +47,5 @@ __open (const char *file, int oflag, ...) return _hurd_intern_fd (port, oflag, 1); } -weak_alias (__open, open) +weak_alias (__libc_open, __open) +weak_alias (__libc_open, open) diff --git a/sysdeps/unix/sysv/linux/arm/mmap64.S b/sysdeps/unix/sysv/linux/arm/mmap64.S index 604bb76137..904c56404d 100644 --- a/sysdeps/unix/sysv/linux/arm/mmap64.S +++ b/sysdeps/unix/sysv/linux/arm/mmap64.S @@ -19,6 +19,7 @@ #include #define EINVAL 22 +#define ENOSYS 38 /* The mmap2 system call takes six arguments, all in registers. */ .text @@ -38,7 +39,7 @@ ENTRY (__mmap64) swi SYS_ify (mmap2) cmn r0, $4096 LOADREGS(ccfd, sp!, {r4, r5, pc}) - teq r0, $-ENOSYS + cmn r0, $(ENOSYS - 1) ldmnefd sp!, {r4, r5, lr} bne PLTJMP(syscall_error) /* The current kernel does not support mmap2. Fall back to plain diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c index 192325e6b0..532341d284 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstat.c @@ -53,7 +53,7 @@ __fxstat (int vers, int fd, struct stat *buf) return INLINE_SYSCALL (fstat, 2, fd, (struct kernel_stat *) buf); } #if __ASSUME_STAT64_SYSCALL > 0 - result = INLINE_SYSCALL (fstat64, 2, name, &buf64); + result = INLINE_SYSCALL (fstat64, 2, fd, &buf64); if (result == 0) result = xstat32_conv (vers, &buf64, buf); return result; @@ -66,7 +66,7 @@ __fxstat (int vers, int fd, struct stat *buf) { struct stat64 buf64; - result = INLINE_SYSCALL (fstat64, 2, name, &buf64); + result = INLINE_SYSCALL (fstat64, 2, fd, &buf64); if (result == 0) result = xstat32_conv (vers, &buf64, buf); -- cgit 1.4.1