When compiling with pedantic the following warning is seen:
gcc -Wall -pedantic -O0 -o test test.c
In file included from test.c:3:0:
/path/inet/netinet/in.h:111:21: warning: comma at end of \
enumerator list [-Wpedantic]
IPPROTO_MH = 135, /* IPv6 mobility header. */
^
It is valid C99 to have a trailing comma after the last item in
an enumeration. However it is not valid C90. If possible glibc
attempts to keep all headers C90 + long long without requiring
C99 features. In this case it's easy to fix the headers and it
removes the warning seem with -pedantic.
This change synchronizes the glibc headers with the Linux kernel
headers and arranges to coordinate the definition of structures
already defined the Linux kernel UAPI headers.
It is now safe to include glibc's netinet/in.h or Linux's linux/in6.h
in any order in a userspace application and you will get the same
ABI. The ABI is guaranteed by UAPI and glibc.
(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.
* inet/netinet/in.h: Don't include bits/socket.h.
* sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
macro.
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
2007-10-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC.
(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.
* inet/netinet/in.h: Don't include bits/socket.h.
* sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
macro.
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
* inet/netinet/icmp6.h: More updates for RFC3542.
* inet/netinet/ip6.h: Likewise.
* sysdeps/unix/sysv/linux/bits/in.h: Adjust for current kernel sources.
Patch by David L Stevens <dlstevens@us.ibm.com>.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
* inet/arpa/inet.h: Don't include <sys/types.h>. Define socklen_t
if not already happened.
* inet/netinet/in.h: Don't include <sys/types.h>, use <bits/types.h>.
Don't include <limits.h> and <bits/sockaddr.h>.
* inet/arpa/inet.h (inet_addr): Change return type to in_addr_t.
(inet_lnaof): Likewise.
(inet_netof): Likewise.
(inet_network): Likewise.
(inet_aton): Likewise.
(inet_makeaddr): Change parameter types to in_addr_t.
(inet_neta): Likewise.
(inet_ntop): Change type of last parameter to socklen_t.
(inet_aton): Only make available if __USE_MISC.
(inet_neta): Likewise.
(inet_net_ntop): Likewise.
(inet_net_pton): Likewise.
(inet_nsap_ntoa): Likewise.
* inet/in.h: Define in_port_t type.
Define in_addr_t type.
(struct in_addr): Use in_addr_t in definition.
(IN_CLASSA): Use cast to in_addr_t.
(IN_CLASSB): Likewise.
(IN_CLASSC): Likewise.
(IN_CLASSD): Likewise.
(IN_EXPERIMENTAL): Likewise.
(IN_BADCLASS): Likewise.
(INADDR_ANY): Likewise.
(INADDR_BROADCAST): Likewise.
(INADDR_NONE): Likewise.
(INADDR_LOOPBACK): Likewise.
(INADDR_UNSPEC_GROUP): Likewise.
(INADDR_ALLHOSTS_GROUP): Likewise.
(INADDR_ALLRTRS_GROUP): Likewise.
(INADDR_MAX_LOCAL_GROUP): Likewise.
(struct sockaddr_in): Use in_port_t for sin_port element.
(struct sockaddr_in6): Use in_port_t for sin6_port element.
Use uint8_t instead of u_int8_t.
* resolv/inet_addr.c (inet_addr): Change return type to in_addr_t.
Call __inet_aton instead of inet_aton.
(__inet_aton): Renamed from inet_aton. Add weak alias under old name.
* resolv/netdb.h (gethostbyname2): Define only is __USE_MISC.
(innetgr): Likewise.
(struct addrinfo): Use socklen_t for ai_addrlen element.
* sysdeps/unix/sysv/linux/bits/in.h (IPV6_MTU_DISCOVER, IPV6_MTU,
IPV6_RECVERR): New defines.
2000-01-23 Philip Blundell <philb@gnu.org>
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 <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* 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 <roland@baalperazim.frob.com>
* 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 <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
1999-08-28 Ulrich Drepper <drepper@cygnus.com>
* malloc/malloc.c (ptmalloc_init): Don't use variables to set
thresholds for SUID binaries. [PR libc/1277]
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/install.texi (Running make install): Give examples for
timezone and locale installation.
1999-08-28 Zack Weinberg <zack@bitmover.com>
* glibcbug.in: Get CCVERSION from autoconf substitution.
* configure.in: Calculate and substitute CCVERSION.
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags,
partially reverting a patch from 1998-12-29. We just can't change
the flags, kernels with different flags lead to
incompatibilities.
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
lazily if LD_BIND_NOW is not set.
* elf/dl-support.c (_dl_lazy): New variable.
(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
* elf/rtld.c (_dl_lazy): new global variable.
( dl_main): Remove lazy, replace it by _dl_lazy.
1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/setlocale.c (new_composite_name): Check also whether the
first category name differs.
1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
the generic one.
1999-05-11 Philip Blundell <pb@nexus.co.uk>
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
structure; storage suitable for any socket address.
* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
sockaddr_storage): Likewise.
* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
platform.
* intl/locale.alias: Change `japanese' alais to match X11R6's.
Add `japanese.euc' alias.
* manual/Makefile (%.info): Set LANGUAGE and LC_ALL explicitly to C
before running makeinfo.
* math/Makefile (libm-routines): $(strip) entire value.
* nss/nss_db/db-XXX.c (internal_setent): Rewrite to avoid warning.
1998-10-24 H.J. Lu <hjl@gnu.org>
* libio/libio.h (_IO_cookie_io_functions_t): Protect with __USE_GNU.
(_IO_cookie_file): Likewise.
1998-11-16 Philip Blundell <philb@gnu.org>
* inet/netinet/icmp6.h: Correct naming of constants.
1998-11-16 Ulrich Drepper <drepper@cygnus.com>
(fwrite_unlocked): Likewise.
format, just stop.
1998-08-03 16:36 Ulrich Drepper <drepper@cygnus.com>
* catgets/catgets.c: Use mmap/munmap only is _POSIX_MAPPED_FILES
is defined.
* catgets/open_catalog.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* intl/loadmsgcat.c: Likewise.
* locale/findlocale.c: Likewise.
* locale/loadlocale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* malloc/malloc.c: Likewise.
* elf/elf.h: Fix typo.
* math/Makefile: Use $(LN_S) instead of ln.
* sysdeps/generic/getpgid.c: Fix return type.
1998-08-01 02:49 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/posix/tempname.c (__stdio_gen_tempname): Rename to
__gen_tempname and simplify the interface. Strip out the
code to do path search and create FILE objects. This function
now takes a mktemp() style template and returns either a name
or a file descriptor.
(__path_search): New function; searches for directories for
temp files.
* sysdeps/generic/tempname.c: Stub out __gen_tempname and
__path_search, not __stdio_gen_tempname.
* libio/stdio.h: Prototype __gen_tempname and __path_search,
not __stdio_gen_tempname.
* stdio/stdio.h: Likewise.
* stdio-common/tempnam.c: Use __path_search and __gen_tempname.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
* misc/mkstemp.c: New file. Use __gen_tempname.
* misc/mktemp.c: Likewise.
* sysdeps/posix/mkstemp.c: Removed.
* sysdeps/posix/mktemp.c: Removed.
* sysdeps/generic/mkstemp.c: Removed.
* sysdeps/generic/mktemp.c: Removed.
1998-08-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* configure.in: Check, if door add-on is installed.
* config.make.in: Add have_doors.
* sunrpc/Makefile: Add HAVE_DOOR define.
* sunrpc/key_call.c: Add keyserv/door interface.
* sunrpc/svc_unix.c: Call setsockopt only if SO_PASSCRED is defined.
* sunrpc/clnt_unix.c: Likewise.
1998-08-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h (IN_CLASSC): Correct mask.
Reported by Ian Staniforth <I.Staniforth@sheffield.ac.uk> [fixes
PR libc/727].
1998-08-03 10:23 Ulrich Drepper <drepper@cygnus.com>
* misc/Makefile: Fix installation problem with --disable-shared.
* posix/Makefile: Likewise.
1998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c (re_search_2): Optimize searching for anchored
pattern if '^' cannot match at embedded newlines.
(regerror): Renamed from __regerror, which it should only be
called if _LIBC.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/svc_unix.c (__msgread): Check setsockopt return value.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/glob.c: Remove obsolete cast.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules (tests): Fix last change.