Commit Graph

61 Commits

Author SHA1 Message Date
Florian Weimer
446997ff14 resolv: Implement trust-ad option for /etc/resolv.conf [BZ #20358]
This introduces a concept of trusted name servers, for which the
AD bit is passed through to applications.  For untrusted name
servers (the default), the AD bit in responses are cleared, to
provide a safe default.

This approach is very similar to the one suggested by Pavel Šimerda
in <https://bugzilla.redhat.com/show_bug.cgi?id=1164339#c15>.

The DNS test framework in support/ is enhanced with support for
setting the AD bit in responses.

Tested on x86_64-linux-gnu.

Change-Id: Ibfe0f7c73ea221c35979842c5c3b6ed486495ccc
2019-11-27 20:54:37 +01:00
Florian Weimer
333221862e resolv: Remove RES_INSECURE1, RES_INSECURE2
Always perform the associated security checks.
2019-04-08 11:19:38 +02:00
Florian Weimer
3f8b44be0a resolv: Remove support for RES_USE_INET6 and the inet6 option
This functionality was deprecated in glibc 2.25.

This commit only includes the core changes to remove the
functionality.  It does not remove the RES_USE_INET6 handling in the
individual NSS service modules and the res_use_inet6 function.
These changes will happen in future commits.
2019-04-08 10:56:22 +02:00
Joseph Myers
754034c429 Obsolete p_secstodate.
This patch, relative to a tree with
<https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html> (pending
review) applied, obsoletes p_secstodate, making the underlying
function __p_secstodate into a compat symbol not available for new
binaries or ports.  The calls in ns_print.c (part of incomplete
handling of TKEY) are changed to use %lu to print times instead of
trying to pretty-print the times any more.

Tested for x86_64.

	* resolv/res_debug.c (p_secstodate): Condition definition on
	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)].  Define
	directly as __p_secstodate, and as a compat symbol.  Do not use
	libresolv_hidden_def.
	* resolv/resolv.h (p_secstodate): Remove macro and function
	declaration.
	* resolv/ns_print.c (ns_sprintrrf): Print times with %lu, not
	using p_secstodate.
	* include/resolv.h (__p_secstodate): Do not use
	libresolv_hidden_proto.
	* resolv/Makefile (tests): Move tst-p_secstodate to ....
	(tests-internal): ... here.
	* resolv/tst-p_secstodate.c: Include <shlib-compat.h>.  Condition
	all contents on [TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)]
	and declare and use __p_secstodate and use compat_symbol_reference
	in that case.
	[!TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] (do_test): Add
	implementation returning 77.
2017-11-22 22:21:10 +00:00
Florian Weimer
aef16cc8a4 resolv: Automatically reload a changed /etc/resolv.conf file [BZ #984]
This commit enhances the stub resolver to reload the configuration
in the per-thread _res object if the /etc/resolv.conf file has
changed.  The resolver checks whether the application has modified
_res and will not overwrite the _res object in that case.

The struct resolv_context mechanism is used to check the
configuration file only once per name lookup.
2017-07-03 21:06:23 +02:00
Zack Weinberg
500b3a499f Remove __need_list_t and __need_res_state.
These __need macros are only used internally, by nptl/descr.h.
However, including all of resolv.h from descr.h causes build failures
due to resolv.h's dozens of pseudo-struct-field macros, some of which
collide with struct fields in NPTL internal data structures.
Similarly, including all of list.h from descr.h produces an include
cycle, atomic.h -> atomic-machine.h -> tls.h -> descr.h -> list.h ->
atomic.h, and then list.h tries to use atomic.h macros that haven't
been defined yet.  So we do need mini-headers for these.  In the
list.h case I called it include/list_t.h since it isn't going to be
installed.

	* resolv/resolv.h: Remove __need_res_state logic.
	Move definition of res_state and related constants to ...
	* resolv/bits/types/res_state.h: ...this new file.
	* resolv/Makefile: Install bits/types/res_state.h.
	* include/bits/types/res_state.h: New wrapper.
	* include/list.h: Remove __need_list_t logic.
	Move definition of list_t to ...
	* include/list_t.h: ...this new file.

	* nptl/descr.h: Include list_t.h and bits/types/res_state.h
	instead of list.h and resolv.h.
2017-05-20 19:01:46 -04:00
Florian Weimer
a7ff1da823 resolv: Remove internal and unused definitions from <resolv.h>
The RES_F_* constants are only used with the private _res._flags
member.  RES_EXHAUSTIVE is unused.  The removed function
declarations refer to functions not actually exported by glibc,
so they are unusable by applications.
2017-04-13 10:52:42 +02:00
Florian Weimer
bbe989ee87 resolv: Deprecate RES_BLAST 2016-12-31 19:08:39 +01:00
Florian Weimer
b76e065991 resolv: Deprecate the "inet6" option and RES_USE_INET6 [BZ #19582] 2016-12-31 18:55:14 +01:00
Florian Weimer
5140d036f9 resolv: Remove RES_USEBSTRING and its implementation [BZ #20629]
In ns_name_ntop, the NS_CMPRSFLGS check is no longer needed because
labellen (called earlier) already rejects everything which is not
a plain label (compression references and extended label types).
2016-10-07 17:41:59 +02:00
Florian Weimer
7ec47a85d8 resolv: Remove RES_NOIP6DOTINT and its implementation 2016-10-07 17:41:59 +02:00
Florian Weimer
bfbd1de159 resolv: Deprecate unimplemented flags
RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG result
in compile-time warnings.  Some of these flags are still used in
applications.
2016-10-07 17:41:45 +02:00
Zack Weinberg
11160cb76f Installed-header hygiene (BZ#20366): obsolete BSD u_* types.
The types u_char, u_short, u_int, u_long, ushort, uint, ulong, u_int8_t,
u_int16_t, u_int32_t, u_int64_t, quad_t, and u_quad_t are BSDisms that
have never been standardized.  While glibc should continue to *provide*
these types for compatibility's sake, its public headers should not
use them.

The meat of this change was mechanically generated by the following
shell command:

    perl -pi~ -e '
        s/\b(__)?u_char\b/unsigned char/g;
        s/\b(__)?u_?short\b/unsigned short/g;
        s/\b(__)?u_?int\b/unsigned int/g;
        s/\b(__)?u_?long\b/unsigned long/g;
        s/\b(__)?u_int8_t\b/uint8_t/g;
        s/\b(__)?u_int16_t\b/uint16_t/g;
        s/\b(__)?u_int32_t\b/uint32_t/g;
        s/\b(__)?u_int64_t\b/uint64_t/g;
        s/\b(__)?u_quad_t\b/uint64_t/g;
        s/\b(__)?quad_t\b/uint64_t/g;
    ' $(grep -lE -e '\<((__)?(quad_t|u(short|int|long|_(char|short|int([0-9]+_t)?|long|quad_t))))\>' \
        $(grep -LE '\<(_(SYS|BITS)_TYPES_H|rpc/(rpc|rpc_msg|types|xdr)\.h)\>' \
          $(find . \( -false $(sed 's/^/-o -name /' all-installed-headers) \
                   \) -printf '%P\n' | sort -u)))

where 'all-installed-headers' was a list of the basenames of all installed
header files, manually extracted from the Makefiles.  Non-installed
wrapper headers in include/ are also adjusted, for consistency.
I then manually fixed up indentation and line-wrapping.

sys/types.h and bits/types.h are excluded because they must continue
to define the u_* types (under __USE_MISC) for compatibility with
applications.  They do not use these types themselves.

All headers that (transitively) include rpc/types.h are also excluded,
for three reasons.  First, the u_* types are defined by rpc/types.h,
unconditionally (not just under __USE_MISC) so they are logically part
of the SunRPC API.  Second, many of those headers appear to be
machine-generated.  Third, it's my understanding that we are getting
rid of as much of SunRPC as possible in the near future.

(The one file under sunrpc/ that's touched, sunrpc/rpc/rpc_des.h, does
*not* include rpc/types.h.  This may itself be a bug.)

After changing from u_intNN_t to uintNN_t, a number of headers now
need to include stdint.h to pick up those types.  It might be more
hygenic, namespace-wise, to use __uintNN_t instead, but none of these
headers are bound by ISO or POSIX to do so, and it's unlikely that
anyone using them will be bothered.  (The two files that were using
__-prefixed versions of the u_types, sysdeps/mach/hurd/net/route.h and
sysdeps/unix/sysv/linux/net/route.h, both already also contained uses of
the unprefixed versions.)

Some of these files directly included features.h and/or sys/cdefs.h,
which I removed, as the style generally seems to be to let sys/types.h
do that for us.  (This does not change the set of definitions exposed
by any header; sys/types.h unconditionally includes both features.h
and sys/cdefs.h.)

One file included asm/types.h unnecessarily.

	* bits/in.h, gmon/sys/gmon.h, inet/netinet/igmp.h
	* inet/protocols/routed.h, inet/protocols/talkd.h
	* inet/protocols/timed.h, io/fts.h, nptl_db/thread_db.h
	* resolv/arpa/nameser.h, resolv/resolv.h, sunrpc/rpc/rpc_des.h
	* sysdeps/generic/netinet/if_ether.h
	* sysdeps/generic/netinet/in_systm.h
	* sysdeps/generic/netinet/ip.h, sysdeps/generic/netinet/tcp.h
	* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
	* sysdeps/gnu/netinet/udp.h, sysdeps/mach/hurd/net/ethernet.h
	* sysdeps/mach/hurd/net/if_arp.h
	* sysdeps/mach/hurd/net/if_ppp.h
	* sysdeps/mach/hurd/net/route.h, sysdeps/mach/sys/reboot.h
	* sysdeps/unix/sysv/linux/bits/in.h
	* sysdeps/unix/sysv/linux/net/ethernet.h
	* sysdeps/unix/sysv/linux/net/if_arp.h
	* sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/net/if_shaper.h
	* sysdeps/unix/sysv/linux/net/route.h
	* sysdeps/unix/sysv/linux/netinet/if_ether.h
	* sysdeps/unix/sysv/linux/netinet/if_fddi.h
	* sysdeps/unix/sysv/linux/netinet/if_tr.h
	* sysdeps/unix/sysv/linux/netipx/ipx.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	* include/arpa/nameser.h, include/resolv.h:
	Change all uses of u_char to unsigned char,
	u_short and ushort to unsigned short, u_int and uint to unsigned int,
	u_long and ulong to unsigned long, u_int8_t to uint8_t,
        u_int16_t to uint16_t, u_int32_t to uint32_t, quad_t to int64_t,
	and u_int64_t and u_quad_t to uint64_t.

	* mach/sys/reboot.h: Remove two casts of integer literals
	to the types they already have.

	* bits/in.h: Correct error in description of IP_MULTICAST_LOOP.
	* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/if_ether.h: Change a comment
	from referring to 'unsigned char' to 'uint8_t' for consistency with
	the macro definition below.

	* gmon/sys/gmon.h, inet/netinet/igmp.h, inet/protocols/talkd.h
	* io/fts.h, resolv/arpa/nameser.h, resolv/resolv.h
	* sunrpc/rpc/rpc_des.h, sysdeps/generic/netinet/ip.h
	* sysdeps/gnu/netinet/tcp.h, sysdeps/gnu/netinet/udp.h
	* sysdeps/mach/hurd/net/if_ppp.h, sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	* include/arpa/nameser.h, include/resolv.h:
	Fix indentation disrupted by mechanical edits.

	* inet/protocols/talkd.h, resolv/arpa/nameser.h
	* sysdeps/generic/netinet/in_systm.h
	* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
	* sysdeps/gnu/netinet/udp.h
	* sysdeps/unix/sysv/linux/net/ethernet.h
	* sysdeps/unix/sysv/linux/net/if_arp.h
	* sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/net/if_shaper.h
	* sysdeps/unix/sysv/linux/netinet/if_fddi.h
	* sysdeps/unix/sysv/linux/netinet/if_tr.h
	* sysdeps/unix/sysv/linux/netipx/ipx.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	Include stdint.h for uintNN_t definitions.
	Don't include sys/cdefs.h, features.h, or asm/types.h directly.
2016-09-23 08:43:56 -04:00
Florian Weimer
6815a33d53 resolv: Remove unsupported hook functions from the API [BZ #20016] 2016-09-21 16:30:27 +02:00
Florian Weimer
e5a0ec981c resolv: Remove __BIND_NOSTATIC conditionals
The macro is never defined.
2016-04-28 13:56:38 +02:00
Andreas Jaeger
f1a24198af BZ#15085: Fix comments/strings for RES_NOCHECKNAME
[BZ #15085]
	* resolv/resolv.h (RES_NOCHECKNAME): Mark as unimplemented.
	* resolv/res_debug.c (p_option): Mark RES_NOCHECKNAME as
	unimplemented.
2013-04-29 21:11:13 +02:00
Ulrich Drepper
f87dfb1f11 Backport BIND code to query name as TLD. 2011-05-07 13:05:19 -04:00
Adam Tkac
2d0671cbbd Define and implement RES_USE_DNSSEC option in resolver. 2009-07-27 07:33:48 -07:00
Ulrich Drepper
44d20bca52 Implement second fallback mode for DNS requests.
There is some more shardware/software out there which has problems
if two DNS requests are sent using the same tuple

  (source addr, source port, dest addr, dest port)

This can range from firewalls to load balancers.  Some of the vendors
already fixed it in response to this problem.  Still, we need a way
to make glibc work with broken environments.  The single-request-reopen
flag can be used or we fall back automatically to this mode.
2009-06-26 03:47:47 -07:00
Ulrich Drepper
ae06191038 * resolv/resolv.h (RES_SNGLKUP): Define.
* resolv/res_init.c (res_setoptions): Recognize single-request option.
	* resolv/res_send.c (send_dg): If we sent two requests at once and
	only get one reply before timeout switch to mode where we send the
	second request only after the first answer has been received.
2009-04-07 02:00:27 +00:00
Jakub Jelinek
d82a27f841 * stdlib/monetary.h: Uglify function parameter names.
* sunrpc/rpc/pmap_clnt.h: Likewise. 
* sunrpc/rpc/svc.h: Likewise. 
* sunrpc/rpc/xdr.h: Likewise. 
* sunrpc/rpc/clnt.h: Likewise. 
* resolv/netdb.h: Likewise. 
* resolv/arpa/nameser.h: Likewise. 
* resolv/resolv.h: Likewise. 
* argp/argp.h: Likewise. 
* locale/langinfo.h: Likewise. 
* io/sys/stat.h: Likewise. 
* posix/spawn.h: Likewise. 
* nis/rpcsvc/nislib.h: Likewise. 
* malloc/obstack.h: Likewise. 
* sysdeps/ia64/bits/link.h: Likewise. 
* sysdeps/i386/bits/link.h: Likewise. 
* sysdeps/s390/bits/link.h: Likewise. 
* sysdeps/powerpc/bits/link.h: Likewise. 
* sysdeps/x86_64/bits/link.h: Likewise. 
* sysdeps/sparc/bits/link.h: Likewise. 
* sysdeps/sh/bits/link.h: Likewise. 
* sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise. 
* sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise. 
* sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
2009-02-16  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/monetary.h: Uglify function parameter names.
	* sunrpc/rpc/pmap_clnt.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* sunrpc/rpc/clnt.h: Likewise.
	* resolv/netdb.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/resolv.h: Likewise.
	* argp/argp.h: Likewise.
	* locale/langinfo.h: Likewise.
	* io/sys/stat.h: Likewise.
	* posix/spawn.h: Likewise.
	* nis/rpcsvc/nislib.h: Likewise.
	* malloc/obstack.h: Likewise.
	* sysdeps/ia64/bits/link.h: Likewise.
	* sysdeps/i386/bits/link.h: Likewise.
	* sysdeps/s390/bits/link.h: Likewise.
	* sysdeps/powerpc/bits/link.h: Likewise.
	* sysdeps/x86_64/bits/link.h: Likewise.
	* sysdeps/sparc/bits/link.h: Likewise.
	* sysdeps/sh/bits/link.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
2009-02-16 21:00:15 +00:00
Ulrich Drepper
ae1ad3aebb [BZ #4647]
Tomas Janousek  <tjanouse@redhat.com>
            Ulrich Drepper  <drepper@redhat.com>

	[BZ #4647]
	* resolv/res_send.c (send_dg): Remove socket_pf.  Use ipv6_unavail
	member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
	socket.
	* resolv/resolv.h (__res_state): Add ipv6_unavail member.  Make
	unused member a bitmap.
	* resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
	servers are configured.

2007-06-18  Jakub Jelinek  <jakub@redhat.com>
2007-06-18 22:22:57 +00:00
Ulrich Drepper
2bbb7d5b3c * resolv/res_init.c (res_setoptions): Recognize edns0 option.
* resolv/res_mkquery.c: Define __res_nopt.
	* resolv/res_query.c (__libc_res_nquery): If RES_USE_EDNS0 is set
	try adding EDNS0 record.
	* resolv/res_send.c (send_dg): If request failed with FORMERR and
	EDNS0 record was send make sure we don't try it again.
	* resolv/resolv.h: Define RES_F_EDNS0ERR and RES_USE_EDNS0.
	* include/resolv.h: Declare __res_nopt.
2007-02-09 23:46:29 +00:00
Ulrich Drepper
79937577d1 Update.
2004-09-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Restore old definition of __P.
	* csu/munch.awk: Remove uses of __P and __PMT.
	* gmon/gmon.c: Likewise.
	* hesiod/hesiod.h: Likewise.
	* include/stdio.h: Likewise.
	* io/fts.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/fileops.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nis/rpcsvc/ypupd.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/glob.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/resolv.h: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/reg-printf.c: Likewise.
	* sysdeps/generic/chflags.c: Likewise.
	* sysdeps/generic/fchflags.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/memcmp.c: Likewise.
	* sysdeps/generic/memcopy.h: Likewise.
	* sysdeps/generic/morecore.c: Likewise.
	* sysdeps/generic/sstk.c: Likewise.
	* sysdeps/posix/sigvec.c: Likewise.
	* sysdeps/posix/ttyname_r.c: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/standalone.h: Likewise.
	* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/sigaction.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/getdents.c: Likewise.
	* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
	* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
	* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
	* time/tzset.c: Likewise.
	* time/strftime_l.c: Likewise.
	* time/strptime_l.c: Likewise.
	* crypt/md5.h: Likewise.
2004-09-14 04:41:35 +00:00
Ulrich Drepper
0acb7b8370 Update.
* resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
	* resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
	Reset RES_NOIP6DOTINT flag in this case..
2004-08-18 05:29:19 +00:00
Ulrich Drepper
87bb6b6c6b Update.
2004-08-04  Jakub Jelinek  <jakub@redhat.com>

	* hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
	memset.
	(__hesiod_res_set): Free nsaddrs.

	* include/resolv.h (__res_maybe_init): Add prototype.
	* resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
	* resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
	* resolv/res_libc.c (__res_initstamp, lock): New variables.
	(res_init): Increase __res_initstamp.
	(__res_maybe_init): New function.
	* resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
	* hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
	of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
	_nss_dns_gethostbyaddr_r): Likewise.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
	_nss_dns_getnetbyaddr_r): Likewise.
	* resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
	gethostbyaddr): Likewise.
	* resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
	res_isourserver, res_sendsigned, res_update, res_search,
	res_querydomain): Likewise.
	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
	* nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
	Likewise.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
	V4-mapped IPv6 addresses and req->ai_family==AF_INET.
	Reported by A. Guru <a.guru@sympatico.ca>.

	* po/pl.po: Likewise.
	characters than necessary.
2004-08-05 23:32:24 +00:00
Ulrich Drepper
340ef046a6 Update.
2004-06-27  Ulrich Drepper  <drepper@redhat.com>

	* resolv/resolv.h (RES_NOIP6DOTINT): Define.
	* resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
	* resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
	if RES_NOIP6DOTINT flag is set.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
2004-06-28 01:30:07 +00:00
Ulrich Drepper
ee778b56b7 Update.
2004-01-15  Ulrich Drepper  <drepper@redhat.com>

	* resolv/resolv.h: Add RES_USEBSTRING.
	* resolv/res_debug.c (p_option): Add handling for RES_USE_INET6,
	RES_ROTATE, RES_NOCHECKNAME, and RES_USEBSTRING.
	* resolv/res_init.c (res_setioptions): Recognize ip6-bytestring.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Only perform
	bytestring IPv6 lookup with RES_USEBSTRING option is selected.
	Otherwise use the two nibble formats.
2004-01-15 09:46:50 +00:00
Roland McGrath
c2e131128b * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn.
* sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
	<tls.h> here, no need for it.
	* sysdeps/unix/sysv/linux/waitpid.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
	parameter, not varargs parameter.

	* sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
	argument so it's not an unused variable.

	* resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
	__p_type_syms, __p_rcode_syms): Remove decls, never really intended
	for users.

	* resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.

2002-12-15  Art Haas  <ahaas@airmail.net>

	* nscd/connections.c: C99 initializer conversion.
	* nscd/grpcache.c: Same.
	* nscd/hstcache.c: Same.
	* nscd/pwdcache.c: Same.
2002-12-15 23:23:24 +00:00
Roland McGrath
64ca3f329b * resolv/resolv.h: Include <sys/types.h> for u_long even in
the [__need_res_state] case.
	Reported by Bruno Haible <bruno@clisp.org>.
2002-09-08 20:37:42 +00:00
Roland McGrath
c2afe83352 * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
	which does the right thing when __thread support is available.
	* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
	Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
	`p_h_errno', `p_resp', and `p_res' members.
	* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_errnop' and `p_h_errnop' members.
	(__pthread_reset_main_thread): Likewise.
	(__pthread_initialize_manager): Likewise.
	* manager.c (__pthread_manager, pthread_handle_create): Likewise.
	* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_resp' member.
	(__pthread_reset_main_thread): Likewise.
	* manager.c (pthread_handle_create): Likewise.
	* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
	Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
	* errno.c [USE_TLS && HAVE___THREAD]
	(__h_errno_location, __res_state): Don't define these at all.

	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
	(INSTALL_NEW_DTV, GET_DTV): Likewise.
	* sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.

	* weaks.c: Don't include <errno.h> here.

2002-08-01  Roland McGrath  <roland@redhat.com>

	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
	TLS_INIT_TP.
	(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
	(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
	(TLS_INIT_TP): Use that.
2002-08-02 03:32:24 +00:00
Ulrich Drepper
b64e156626 Update.
2002-05-21  Jakub Jelinek  <jakub@redhat.com>

	* resolv/resolv.h (struct __res_state): Remove unused nstimes.
	Add nsmap.
	* resolv/res_init.c (__res_vinit): Initialize nsmap array.
	Remove nstimes setting.
	(res_nclose): Check all MAXNS nameservers with non-NULL nsaddrs.
	* resolv/res_send.c (res_nsend): Don't close unconditionally if
	there is mix of IPv6 and IPv4 nameservers.
	Use nsmap array to find free slots and preserve nameserver ordering.
	Fix RES_ROTATE.
2002-05-31 07:54:02 +00:00
Ulrich Drepper
535b764df5 Update.
* elf/rtld.c (_dl_start_final): Allocate TLS and initialize
	thread-pointer as soon as possible.
	* sysdeps/generic/ldsodefs.h: Include <tls.h>.  Define first TLS
	elements in rtld_global.
	* sysdeps/generic/tls.h: New file.
	* elf/Makefile (distribute): Add tls.h.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS
	relocations.  Not complete yet.

	* resolv/resolv.h: Allow user to define __need_res_state and only
	define __res_start structure then.
	* include/resolv.h: Only declare functions if _RESOLV_H_ is defined.
2002-02-05 00:57:29 +00:00
Ulrich Drepper
03fbfeb508 Update.
2001-01-03  Jakub Jelinek  <jakub@redhat.com>

	* resolv/resolv.h (struct __res_state): Add nsinit field.
	* resolv/res_send.c (res_nsend): Use it instead of nscount.
	* resolv/res_init.c (__res_vinit): Initialize it.
	(res_nclose): Clear it instead of nscount.

	* malloc/mtrace.pl: Fix matching of addresses.
	Patch by Aharon Robbins <arnold@skeeve.com>.
2001-01-05 02:36:27 +00:00
Ulrich Drepper
835bf8e016 Update.
2000-08-01  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/unix/sysv/linux/i386/sys/elf.h (elf_greg_t, ELF_NGREG,
	elf_gregset_t, elf_fpregset_t, elf_fpxregset_t): Moved to
	sysdeps/unix/sysv/linux/i386/sys/procfs.h.
	Remove the junk that's only relevant in the Linux kernel itself.
	Add a warning saying that this file is now obsolete, and include
	<sys/procfs.h>.
	* sysdeps/unix/sysv/linux/i386/sys/procfs.h (elf_greg_t,
	ELF_NGREG, elf_gregset_t, elf_fpregset_t, elf_fpxregset_t): Moved
	here from sysdeps/unix/sysv/linux/i386/sys/elf.h.  Don't include
	<signal.h>, <sys/ucontext.h> and <sys/elf.h>.  Remove parts of
	`struct elf_prstatus' that are #ifdef'ed out.  Improve comments
	and add the notice that the file is primarily there for GDB.
	* sysdeps/unix/sysv/linux/i386/sys/user.h: Fix comment.

2000-08-09  Jakub Jelinek  <jakub@redhat.com>

	* time/tzfile.c (__tzfile_compute): __tzstring zones
	from zone_names.

2000-08-09  Jakub Jelinek  <jakub@redhat.com>

	* resolv/resolv.h (__res_state): Surround prototype with
	__BEGIN_DECLS/__END_DECLS.
	* sysdeps/unix/sysv/linux/m68k/chown.c: Include kernel-features.h.

2000-08-04  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/unix/sysv/linux/ia64/bits/resource.h (__rlimit_resource):
	Make independant of asm/resource.h from the Linux kernel.

2000-08-06  Bruno Haible  <haible@clisp.cons.org>

	* iconv/gconv_conf.c (__gconv_read_conf): Don't call realpath.

2000-08-06  Bruno Haible  <haible@clisp.cons.org>

	* intl/Makefile (CPPFLAGS): Remove $(i18ndir) from LOCALE_ALIAS_PATH.
	* locale/Makefile (locale-CPPFLAGS): Likewise.

2000-08-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Increase several error values
	for AMD processors.

2000-08-03  Jakub Jelinek  <jakub@redhat.com>

	* misc/Versions (mincore): Export at GLIBC_2.2.

2000-08-03  Bruno Haible  <haible@clisp.cons.org>

	* intl/libintl.h (gettext, dgettext, dcgettext): Add back __THROW.
2000-08-10 04:40:02 +00:00
Ulrich Drepper
497b8ef43f Update.
2000-07-28  Philip Blundell  <philb@gnu.org>

	* math/test-fpucw.c: Ignore reserved bits in control word.

2000-07-28  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET): New macro.
	(ret): Redefine to PSEUDO_RET.
	(PSEUDO): Remove jump to syscall_error.

2000-07-29  Mark Kettenis  <kettenis@gnu.org>

	* resolv/README: Add some information about using the resolver in
	multi-threaded code and with C++.  Spelling fixes.

2000-07-29  Mark Kettenis  <kettenis@gnu.org>

	* resolv/resolv.h (struct __sockaddr_in): Remove.
	(struct __res_state) [!_LIBC]: Remove reference to __sockaddr_in.

	* sysdeps/powerpc/backtrace.c (struct layout): Make pointers
	__unbounded.
2000-07-29 18:08:15 +00:00
Ulrich Drepper
438e82396b Update.
2000-07-26  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_init.c: Add support for nameserver communication with
	IPv6.
	* resolv/res_send.c: Likewise.
	* resolv/resolv.h (struct __res_state): Store IPv6 address, not IPv4
	in nsaddrs field.
	Patch by <venaas@nvg.ntnu.no>.
2000-07-26 08:05:34 +00:00
Ulrich Drepper
3452aba811 Update.
2000-07-25  Mark Kettenis  <kettenis@gnu.org>

	* nss/nss_files/files-netgrp.c (strip_whitespace): New function.
	(_nss_netgroup_parseline): Use strip_whitespace to strip off any
	leading and trailing spaces from host, user and domain name.

2000-07-25  Jes Sorensen  <jes@linuxcare.com>

	* csu/defs.awk: Add support for need_endp.

2000-07-25  Mark Kettenis  <kettenis@gnu.org>

	* resolv/resolv.h: Remove __P from res_send_qhook and
	res_send_rhook typedefs.

2000-07-25  Bruno Haible  <haible@clisp.cons.org>

	* intl/tst-translit.c (main): Unset OUTPUT_CHARSET.
2000-07-25 22:19:16 +00:00
Ulrich Drepper
2f54c82dac Update.
* elf/Makefile (tests): Add nodlopen.  Add rules to generate nodlopen.
	* include/dlfcn.h: Define __RTLD_DLOPEN.
	* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
	and this is a dlopen() call, do not load the binary.
	* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* configure.in: Add test for -z nodelete option.
	* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Make Hesiod NSS module thread-safe.

	* hesiod/README.hesiod: Update.

	* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
	_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
	_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
	* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
	hesiod-proto.
	* hesiod/nss_hesiod/hesiod-init.c: New file.
	* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
	* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
	* hesiod/nss_hesiod/nss_hesiod.h: New file.
	* hesiod/nss_hesiod/hesiod-service.c
	(_nss_hesiod_getservbyport_r): New function.  Provide support for
	looking up services by port number.
	* hesiod/nss_hesiod/hesiod-proto.c: New file.

	* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
	* hesiod/hesiod.h: Likewise.
	* hesiod/hesiod_p.h: Likewise.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Fix problems with `struct __res_state' getting too big.
	* resolv/resolv.h (struct __sockaddr_in): New definition.
	(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
	the private parts of the structure to save some space.
	* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
	(struct sockaddr_in *) in call to sock_eq.
	Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].

2000-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
2000-07-21 04:12:25 +00:00
Ulrich Drepper
e685e07dfa Update.
2000-07-18  Mark Kettenis  <kettenis@gnu.org>

	Update resolver code to BIND 8.2.3-T5B.

	* resolv/Versions [GLIBC_2.2] (libc): Add __res_init and
	__res_nclose.
	[GLIBC_2.2] (libresolv): Add __dn_expand, __ns_samename,
	__res_mkquery, __res_nsend, __res_query, __res_querydomain and
	__res_search.
	* resolv/Banner: BIND-8.2.3-T5B.

	* resolv/base64.c: Update from BIND 8.2.3-T5B.
	* resolv/herror.c: Likewise.
	* resolv/inet_addr.c: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/inet_neta.c: Likewise.
	* resolv/inet_ntop.c: Likewise.
	* resolv/nsap_addr.c: Likewise.
	* resolv/inet_pton.c: Likewise.  Reject a few more more invalid
	IPv6 addresses (ISC bug #520).

	* resolv/ns_name.c: Avoid emitting RCS ID in object file.
	* resolv/ns_parse.c: Likewise.
	* resolv/ns_netint.c: Likewise.
	* resolv/ns_samedomain.c: Likewise.
	* resolv/ns_ttl.c: Likewise.
	* resolv/ns_print.c: Update from BIND 8.2.3-T5B.  Avoid emitting
	RCS ID in object file.

	* resolv/res_debug.c: Update from BIND 8.2.3-T5B.
	* resolv/res_mkquery.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/res_init.c: Likewise.
	(res_setoptions): Mark internal.
	* resolv/res_send.c: Likewise.
	[_LIBC]: Fully reinstate the code that avoids the FD_SETSIZE limit
	by using poll instead.
	* resolv/res_comp.c: Likewise.
	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make dn_expand a
	weak alias for __dn_expand.
	* resolv/res_data.c: Likewise.
	(res_close) [_LIBC]: Don't call res_nclose if RES_INIT isn't set
	in _res.options.  Avoids a potential security risk by avoiding a
	close (0).
	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make
	res_mkquery, res_query, res_querydomain adn res_search weak
	aliases for __res_mkquery, __res_query, __res_querydomain and
	__res_search.
	* resolv/res_libc.c: (_res): Don't initialize.  Fix res_close
	instead to avoid close(0).
	(res_init): Always use the static resolver context.
	[SHLIB_COMPAT (libc, GLIBC_2.0, GLIBC_2_2)]: Make res_init a weak
	alias for __res_init.

	* resolv/resolv.h: Update from BIND 8.2.3-T5B.  Move definition of
	RES_SET_H_ERRNO and accompanying comment to...
	* include/resolv.h: ... here.

	* resolv/arpa/namser.h: Update from BIND 8.2.3-T5B.
	* resolv/arpa/nameser_compat.h: Likewise.
2000-07-19 22:03:58 +00:00
Andreas Jaeger
f14273c5a2 2000-05-13 Jakub Jelinek <jakub@redhat.com>
* elf/soinit.c (__libc_global_ctors): Move
	__pthread_initialize_minimal call out of HAVE_DWARF2_* defines.
	* resolv/resolv.h (__res_state): Added __attribute__((const)).
	(_res): If __RES_PTHREAD_INTERNAL is defined, declare it as
	variable, don't define it to __res_state call.

2000-05-13  Jakub Jelinek  <jakub@redhat.com>

	* internals.h (__RES_PTHREAD_INTERNAL): Define.
2000-05-13  Jakub Jelinek  <jakub@redhat.com>

	* internals.h (__RES_PTHREAD_INTERNAL): Define.
2000-05-15 07:15:04 +00:00
Ulrich Drepper
17c389fc2b Update.
* libio/stdio.h: Make fseeko and ftello prototypes available is
	__USE_LARGEFILE.  Patch by Paul Eggert <eggert@twinsun.com>.

	* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
	real unsetenv implementation from 1999-07-29 [PR libc/1714].

2000-05-03  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (dcigettext): Do the defaulting of 'domainname'
	before calling tfind.

2000-03-05  Jakub Jelinek  <jakub@redhat.com>

	* resolv/resolv.h (res_querydomain): Remove redefinition to
	__res_querydomain (reported by Owen Taylor <otaylor@redhat.com>).

2000-05-03  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.

	* manual/intro.texi (Program Basics): Change section title.
	* manual/process.texi: Fix reference.
	(Executing a File): Add reference exec in other section.
	* manual/signal.texi: Fix reference.
	* manual/startup.texi: Document syscall function.
	Patches by Bryan Henderson <bryanh@giraffe-data.com>.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/libintl.h (bind_textdomain_codeset): New declaration.
	* intl/bindtextdom.c (set_binding_values): New function.
	(bindtextdomain): Call it.
	(bind_textdomain_codeset): New function.
	* intl/dcigettext.c (dcigettext): Pass binding to _nl_find_domain.
	(free_mem): Free each binding's codeset.
	* intl/gettextP.h (struct binding): Add codeset field.
	(_nl_find_domain): Add domainbinding argument.
	* intl/finddomain.c (_nl_find_domain): Add domainbinding argument.
	Pass it to _nl_make_l10nflist.
	* intl/loadinfo.h (struct loaded_l10nfile): Add domainbinding field.
	(_nl_make_l10nflist): Add domainbinding argument.
	* intl/l10nflist.c (_nl_make_l10nflist): Add domainbinding argument.
	* intl/loadmsgcat.c (_nl_load_domain): Look at the domainbinding's
	codeset when determining outcharset. If !_LIBC && HAVE_ICONV, call
	locale_charset().
	* manual/message.texi: New node "Charset conversion in gettext".

2000-04-30  Bruno Haible  <haible@clisp.cons.org>

	* catgets/open_catalog.c (__open_catalog): Use __builtin_expect where
	appropriate.  Handle possible __read error.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/gettextP.h (__builtin_expect): Define as empty if not a
	compiler builtin.
	* intl/loadinfo.h (__builtin_expect): Likewise.
	* intl/dcigettext.c (dcigettext, _nl_find_msg): Use
	__builtin_expect where appropriate.
	* intl/loadmsgcat.c (_nl_load_domain): Likewise.
	* intl/localealias.c (extend_alias_table): Return an error indicator.
	(read_alias_file): Bail out if extend_alias_table fails.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/loadmsgcat.c: Define _GNU_SOURCE as early as possible.
	* intl/localealias.c: Likewise.

2000-05-01  Bruno Haible  <haible@clisp.cons.org>

	* intl/loadmsgcat.c (_nl_load_domain): Initialize domain->conv_tab.
	Initialize domain->plural and domain->nplurals even if there is no
	nullentry.

2000-05-01  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (_nl_find_msg): Terminate __gconv loop if return
	value is == __GCONV_OK or == __GCONV_EMPTY_INPUT, not != __GCONV_OK.
	In case of failure, goto converted.

2000-05-01  Bruno Haible  <haible@clisp.cons.org>

	* wcsmbs/wcsmbsload.c (norm_add_slashes): Move away.
	* iconv/gconv_int.h (norm_add_slashes): Move to here.
	* intl/loadmsgcat.c (_nl_load_domain): Normalize strings passed to
	__gconv_open.

2000-04-29  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (transcmp): Compare the domains as well.
	(dcigettext): Call strlen (msgid1) after testing msgid1 against NULL,
	not before.
	* intl/loadmsgcat.c (_nl_load_domain): Deal with EINTR. Include
	<errno.h>.

2000-05-03  Ulrich Drepper  <drepper@redhat.com>
2000-05-04 02:46:54 +00:00
Ulrich Drepper
66ac0abe03 Update.
1999-12-13  Andreas Jaeger  <aj@suse.de>

	* resolv/resolv.h: Remove K&R compatibility.

	* resolv/res_libc.c: Move definition of _res after res_init,
	res_init should use the threaded specific context.

	* resolv/Makefile (+cflags): Remove -Wno-comment since it's not
	needed anymore.

	* locale/langinfo.h: Add constants for wide character collation data.
	* locale/categories.def: Add appropriate entries for collate entries.
	* locale/C-collate.c: Add initializers for new entries.
	* locale/programs/ld-collate.c: Implement output of wide character
	tables.

	* locale/programs/ld-ctype.c (allocate_arrays): Change algorithm to
	compute wide character table size a bit: it now gives up a bit of
	total table size for fewer levels.
1999-12-30 08:09:32 +00:00
Ulrich Drepper
b43b13ac25 Update.
1999-12-03  Andreas Jaeger  <aj@suse.de>

	* nss/getXXbyYY.c: Include <resolv.h>
	(FUNCTION_NAME): Use res_ninit instead of res_init.

	* nss/getXXbyYY_r.c [NEED__RES]: Include <resolv.h> for _res
	declaration and prototypes.
	Remove extra _res declaration.
	(INTERNAL): Use thread aware res_ninit function.

	* inet/gethstbyad_r.c: Include <resolv.h>.

	* resolv/res_data.c: Update from Bind 8.2.2-P5.  Moved res_init to
	res_libc.c.  Disabled unneeded functions.

	* resolv/res_libc.c: New file.

	* Versions.def: Add version GLIBC_2.2 for libpthread.
	Add versions GLIBC_2.1 and GLIBC_2.2 for libresolv.

	* include/resolv.h: Add internal interfaces.

	* resolv/Makefile (routines): Add new files.
	(libresolv-routines): Likewise.
	(distribute): Likewise.

	* resolv/gethnamaddr.c: Use thread safe resolver functions.
	* resolv/nss_dns/dns-host.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.

	* resolv/arpa/nameser.h: Update from Bind 8.2.2-P5.
	* resolv/nsap_addr.c: Likewise.
	* resolv/res_comp.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/res_mkquery.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/res_send.c: Likewise.
	* resolv/resolv.h: Likewise.

	* resolv/Versions: Add __res_state and __res_ninit with version
	GLIBC_2.2 to libc.
	Add new interfaces with version GLIBC_2.2 to libresolv.

	* resolv/Banner: Update.

	* include/arpa/nameser_compat.h: New file.

	* resolv/ns_name.c: New file from Bind 8.2.2-P5.
	* resolv/ns_netint.c: Likewise.
	* resolv/ns_parse.c: Likewise.
	* resolv/ns_print.c: Likewise.
	* resolv/ns_samedomain.c: Likewise.
	* resolv/ns_ttl.c: Likewise.
	* resolv/arpa/nameser_compat.h: Likewise.
	* resolv/res_debug.h: Likewise.

	Some patches are based on work done by Adam D. Bradley
	<artdodge@cs.bu.edu>.

	* sysdeps/unix/sysv/linux/configure.in: Remove check for ldconfig,
	set always use_ldconfig instead.
1999-12-04 18:05:55 +00:00
Ulrich Drepper
c1422e5b7c Update.
Patch by khendricks@ivey.uwo.ca [libc/1382].
1999-10-09 21:56:43 +00:00
Ulrich Drepper
c4db757322 Update.
* gmon/gmon.c: Remove advertising clause of copyright.
	* gmon/mcount.c: Likewise.
	* gmon/sys/gmon.h: Likewise.
	* inet/arpa/ftp.h: Likewise.
	* inet/arpa/telnet.h: Likewise.
	* inet/arpa/tftp.h: Likewise.
	* inet/inet_lnaof.c: Likewise.
	* inet/inet_mkadr.c: Likewise.
	* inet/inet_net.c: Likewise.
	* inet/inet_netof.c: Likewise.
	* inet/protocols/routed.h: Likewise.
	* inet/protocols/rwhod.h: Likewise.
	* inet/protocols/talkd.h: Likewise.
	* inet/protocols/timed.h: Likewise.
	* inet/rcmd.c: Likewise.
	* inet/rexec.c: Likewise.
	* inet/ruserpass.c: Likewise.
	* io/fts.c: Likewise.
	* io/fts.h: Likewise.
	* login/login_tty.c: Likewise.
	* misc/fstab.h: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/getusershell.c: Likewise.
	* misc/sys/queue.h: Likewise.
	* misc/sys/syslog.h: Likewise.
	* misc/syslog.c: Likewise.
	* misc/ttyent.h: Likewise.
	* misc/ttyslot.c: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/herror.c: Likewise.
	* resolv/inet_addr.c: Likewise.
	* resolv/mapv4v6addr.h: Likewise.
	* resolv/mapv4v6hostent.h: Likewise
	* resolv/nss_dns/dns-host.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* resolv/res_comp.c: Likewise.
	* resolv/res_data.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/res_mkquery.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/res_send.c: Likewise.
	* resolv/resolv.h: Likewise.
	* sysdeps/generic/div.c: Likewise.
	* sysdeps/generic/netinet/ip.h: Likewise.
	* sysdeps/generic/netinet/tcp.h: Likewise.
	* sysdeps/generic/paths.h: Likewise.
	* sysdeps/generic/prof-freq.c: Likewise.
	* sysdeps/generic/sys/ttydefaults.h: Likewise.
	* sysdeps/gnu/netinet/ip_icmp.h: Likewise.
	* sysdeps/gnu/netinet/tcp.h: Likewise.
	* sysdeps/ieee754/support.c: Likewise.
	* sysdeps/mach/hurd/sys/param.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/ioctls.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h: Likewise.
	* sysdeps/unix/bsd/sys/reboot.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/if_ether.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/igmp.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/ip.h: Likewise.
	* sysdeps/unix/sysv/linux/paths.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/quota.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ttydefaults.h: Likewise.
	* sysdeps/vax/DEFS.h: Likewise.
	* termios/sys/ttychars.h: Likewise.
	* misc/daemon.c: Likewise.  Call fork.
1999-06-08 21:20:07 +00:00
Ulrich Drepper
fdacb17d48 Update.
1998-06-29 12:27  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp.h: Use __PMT instead of __P for function pointer.
	* iconv/gconv.h: Likewise.
	* io/fts.h: Likewise.
	* io/ftw.h: Likewise.
	* libio/libio.h: Likewise.
	* malloc/mcheck.h: Likewise.
	* misc/search.h: Likewise.
	* posix/glob.h: Likewise.
	* resolv/resolv.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.

1998-06-26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig (CPPFLAGS): Use $($(subdir)-CPPFLAGS) only once.

1998-06-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/wordexp.c (parse_param): Fix memory leak.

1998-06-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Export _IO_ftrylockfile.

1998-06-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Use get[pu]id instead of
	__get[pu]id.

1998-06-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-misc.c (_dl_debug_message): Don't cache the pid.

	* elf/dl-runtime.c (_dl_object_relocation_scope): Avoid adding the
	same search list twice.

1998-06-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* login/programs/utmpd.c (handle_requests): Set and use maximal fd
	used to optimize loop/select.

1998-06-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/init-first.c: Don't define __libc_pid.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/arm/init-first.c: Likewise.
	* posix/getopt_init.c: Don't use __libc_pid.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* libc.map: Remove __libc_uid and __libc_pid.
1998-06-29 12:44:22 +00:00
Ulrich Drepper
a5a0310d8e Update.
1997-09-30 18:03  Ulrich Drepper  <drepper@cygnus.com>

	* Makerules: Undo last change.
	* csu/Makefile: Define before-compile at the right place.

	* aclocal.m4: Remove a.out file created by assembler test.

	* set-init.c: Find set-hooks.h using <...>.

	Update to db 2.3.10.
	* db2/Makefile: Update.
	* db2/db.h: Likewise.
	* db2/db_185.h: Likewise.
	* db2/db_int.h: Likewise.
	* db2/btree/bt_close.c: Likewise.
	* db2/btree/bt_conv.c: Likewise.
	* db2/btree/bt_cursor.c: Likewise.
	* db2/btree/bt_put.c: Likewise.
	* db2/btree/bt_rec.c: Likewise.
	* db2/btree/bt_recno.c: Likewise.
	* db2/btree/btree.src: Likewise.
	* db2/btree/btree_auto.c: Likewise.
	* db2/clib/getlong.c: Likewise.
	* db2/db/db.c: Likewise.
	* db2/db/db_auto.c: Likewise.
	* db2/db/db_conv.c: Likewise.
	* db2/db/db_pr.c: Likewise.
	* db2/db/db_ret.c: Likewise.
	* db2/db/db_thread.c: Likewise.
	* db2/hash/hash.c: Likewise.
	* db2/hash/hash_auto.c: Likewise.
	* db2/hash/hash_conv.c: Likewise.
	* db2/hash/hash_dup.c: Likewise.
	* db2/hash/hash_func.c: Likewise.
	* db2/hash/hash_page.c: Likewise.
	* db2/hash/hash_rec.c: Likewise.
	* db2/include/btree.h: Likewise.
	* db2/include/btree_ext.h: Likewise.
	* db2/include/db.h.src: Likewise.
	* db2/include/db_185.h.src: Likewise.
	* db2/include/db_cxx.h: Likewise.
	* db2/include/db_ext.h: Likewise.
	* db2/include/db_int.h.src: Likewise.
	* db2/include/db_page.h: Likewise.
	* db2/include/db_shash.h: Likewise.
	* db2/include/lock.h: Likewise.
	* db2/include/log.h: Likewise.
	* db2/include/log_ext.h: Likewise.
	* db2/include/mp.h: Likewise.
	* db2/include/shqueue.h: Likewise.
	* db2/include/txn.h: Likewise.
	* db2/lock/lock.c: Likewise.
	* db2/lock/lock_deadlock.c: Likewise.
	* db2/log/log.c: Likewise.
	* db2/log/log_archive.c: Likewise.
	* db2/log/log_auto.c: Likewise.
	* db2/log/log_get.c: Likewise.
	* db2/log/log_put.c: Likewise.
	* db2/log/log_register.c: Likewise.
	* db2/mp/mp_bh.c: Likewise.
	* db2/mp/mp_fget.c: Likewise.
	* db2/mp/mp_fopen.c: Likewise.
	* db2/mp/mp_fput.c: Likewise.
	* db2/mp/mp_fset.c: Likewise.
	* db2/mp/mp_open.c: Likewise.
	* db2/mutex/mutex.c: Likewise.
	* db2/os/db_os_dir.c: Likewise.
	* db2/progs/db_checkpoint/db_checkpoint.c: Likewise.
	* db2/progs/db_deadlock/db_deadlock.c: Likewise.
	* db2/progs/db_dump185/db_dump185.c: Likewise.
	* db2/progs/db_load/db_load.c: Likewise.
	* db2/progs/db_recover/db_recover.c: Likewise.
	* db2/txn/txn.c: Likewise.
	* db2/txn/txn_auto.c: Likewise.

	* elf/link.h: Define struct libname_list outside struct link_map
	to not confuse C++ compilers.

	* include/features.h: Recognize _XOPEN_SOURCE == 500 and set
	__USE_UNIX98.
	* manual/creature.texi: Explain this.

	* libc.map: Add new functions.

	* libio/Makefile (routines): Add fseeko and ftello.
	* libio/ftello.c: New file.
	* libio/fseeko.c: New file.
	* libio/stdio.h: Add prototypes for new functions.
	* manual/stdio.texi: Document fseeko and ftello.

	* posix/Makefile (routines): Add pread and pwrite.
	* sysdeps/posix/pread.c: New file.
	* sysdeps/posix/pwrite.c: New file.
	* sysdeps/stub/pread.c: New file.
	* sysdeps/stub/pwrite.c: New file.
	* posix/unistd.h: Add prototypes for pread and pwrite.
	Pretty print header.
	Define gid_t, uid_t, off_t, pid_t if __USE_UNIX98.
	Declare ctermid and cuserid if __USE_UNIX98.
	(swab): Change to take void * arguments.
	* string/swab.c: Change parameter to void *.
	* posix/sys/types: Define gid_t, uid_t, off_t, pid_t only if not
	already happened.
	* manual/llio.texi: Document pread and pwrite.

	* string/strings.h: Don't simply include string.h.  Define BSD
	functions according to Unix98.
	* stdlib/tst-strtol.c: Include <string.h> not <strings.h>.
	* sunrpc/clnt_simp.c: Likewise.

	* malloc/Makefile (aux): Add set-freeres.
	* malloc/mtrace.c: Define function release_libc_mem which calls the
	__libc_subfreeres handler.
	(mtrace): Register release_libc_mem.
	* malloc/set-freeres.c: New file.

	* intl/dcgettext.c: Define free_mem function and add to
	__libc_subfreeres list.
	* intl/finddomain.c: Likewise.
	* intl/gettextP.h (struct loaded_domain): Add new fields use_mmap
	and mmap_size.  Add prototype for _nl_unloaded_domain.
	* intl/loadmsgcat.c: Define new function _nl_unload_domain.
	(_nl_load_domain): Store informaiton about mmap use and file size.
	* intl/localealias.c (read_alias_file): Optimize locale alias file
	reading by avoid frequen mallocs.
	Define free_mem function and add to __libc_subfreeres list.

	* locale/localeinfo.h: Make a difference between MAX_USAGE_COUNT and
	undeletable.
	Add prototype for _nl_unload_locale.
	* locale/C-collate: Mark data as undeletable by using UNDELETABLE.
	* locale/C-ctype: Likewise.
	* locale/C-messages: Likewise.
	* locale/C-monetary: Likewise.
	* locale/C-numeric: Likewise.
	* locale/C-time: Likewise.
	* locale/findlocale.c (_nl_find_locale, _nl_remove_locale): Handle
	MAX_USAGE_COUNT and UNDELETABLE.
	(free_mem): New function.  Add it to __libc_subfreeres list.
	* locale/loadlocale.c: Define _nl_unload_locale function.

	* misc/hsearch.c: Register hdestroy in __libc_subfreeres list.

	* stdlib/fmtmsg.c (addseverity): Handle illegal severity arguments
	correctly
	Define free_mem function and add to __libc_subfreeres list.

	* locale/programs/localedef.c (options): short form os verbose is v.
	Reported by Andreas Jaeger.

	* misc/sys/select.h: Define pselect only is __USE_POSIX since this
	header is used in some others as well for historical reasons.

	* resolv/resolv.h: Include <netinet/in.h> to make self-contained.

	* string/bits/string2.h: Add missing braces and optimize strcmp a
	bit more.
	* sysdeps/i386/i486/bits/string.h: Likewise.

	* sunrpc/rpc/auth_des.h: Include rpc/auth.h to be self-contained.
	Pretty print.

	* sysdeps/mach/hurd/cthreads.c: Add copyright text.

	* sysdeps/unix/sysv/linux/syscalls.list: Correct prctl entry.

	* sysdeps/unix/sysv/linux/sys/mman.h: Get definition of size_t.

	* time/time.h: Pretty print.

1997-09-29  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c: Synchronize with GNU Emacs strftime.c.
	(HAVE_MEMCPY): Define if emacs is defined and HAVE_BCOPY isn't.
	(gmtime_r, localtime_r): Undef before defining.
	(iso_week_days): Use __inline__, not inline.

1997-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/bits/mathinline.h: Rename exp2{,l,f} to
	__ieee754_exp2{,l,f}.
	* sysdeps/m68k/fpu/s_exp2.c: Likewise.
	* sysdeps/m68k/fpu/s_exp2l.c: Likewise.
	* sysdeps/m68k/fpu/s_exp2f.c: Likewise.

1997-09-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/soinit.c (__EH_FRAME_BEGIN__): Don't make the .eh_frame
	section read-only, it contains relocations.
	* elf/sofini.c (__FRAME_END__): Likewise.

1997-09-29 03:08  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/i486/bits/string.h [__PIC__] (__strspn_cg, __strcspn_cg,
	__strpbrk_cg, __strstr_cg): Optimize even more.  No spill register
	needed.  Patch by NIIBE Yutaka <gniibe@mri.co.jp>.

1997-09-28 08:27  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_call.c (__do_niscall2): Fix return code, add missing
	  break in switch case.

	* nis/nis_mkdir.c: Fix return codes to match Solaris version.
	* nis/nis_rmdir.c: Likewise.

	* nis/rpcsvc/yp_prot.h: Rename struct keydat to struct keydat_t
	for C++.

1997-09-28 04:32  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Fix typo.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.

1997-09-25 20:14  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/unix/sysv/linux/scsi/sg.h: New file.
	* sysdeps/unix/sysv/linux/Makefile: Install <scsi/sg.h>.
1997-09-30 17:10:40 +00:00
Ulrich Drepper
5107cf1d7d Update.
1997-06-21 02:48  Ulrich Drepper  <drepper@cygnus.com>

	* config.h.in: Add DO_STATIC_NSS.
	* config.make.in: Add build-static-nss.

	* elf/eval.c: Use __getdelim instead of __getline.

	* locale/programs/locale.c: Correct comment.

	* manual/libc.texinfo: Update copyright and date.
	Remove A4 option.

	* sysdeps/libm-ieee754/k_standard.c: Always return HUGE_VAL
	for gamma overflow.
	* sysdeps/libm-ieee754/w_gamma.c: Handle SVID and ISO C behaviour.
	* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
	* sysdeps/libm-ieee754/w_gammalp.c: Likewise.

	* po/ko.po: Update.

1997-06-13 10:06  Richard Henderson  <rth@tamu.edu>

	The Great Bit File Move:
	* configure.in (AC_INIT): Look in include/ for features.h.
	(sysnames): Add include as the final search directory.
	(AC_OUTPUT): Create a bits directory in the build directory.
	* Makeconfig (CPPFLAGS): Look in include/ for libc-symbols.h.
	* Makefile: Make sure the target directory exists when installing
	<gnu/stubs.h> and <gnu/lib-names.h>.
	* csu/Makefile: Use $(compile.S) and $(compile.c) instead of
	invoking $(CC) directly, as the former have the full include path.

	* ansidecl.h: Removed.

	* aliases.h: Moved to include/.
	* alloca.h: Likewise.
	* argp.h: Likewise.
	* argz.h: Likewise.
	* arpa/ftp.h: Likewise.
	* arpa/inet.h: Likewise.
	* arpa/nameser.h: Likewise.
	* arpa/telnet.h: Likewise.
	* arpa/tftp.h: Likewise.
	* assert.h: Likewise.
	* ctype.h: Likewise.
	* db.h: Likewise.
	* dirent.h: Likewise.
	* dlfcn.h: Likewise.
	* elf.h: Likewise.
	* endian.h: Likewise.
	* envz.h: Likewise.
	* err.h: Likewise.
	* errno.h: Likewise.
	* error.h: Likewise.
	* fcntl.h: Likewise.
	* features.h: Likewise.
	* fnmatch.h: Likewise.
	* ftw.h: Likewise.
	* getopt.h: Likewise.
	* glob.h: Likewise.
	* gnu-versions.h: Likewise.
	* grp.h: Likewise.
	* langinfo.h: Likewise.
	* libc-symbols.h: Likewise.
	* libgen.h: Likewise.
	* libintl.h: Likewise.
	* limits.h: Likewise.
	* linewrap.h: Likewise.
	* link.h: Likewise.
	* locale.h: Likewise.
	* malloc.h: Likewise.
	* math.h: Likewise.
	* mathcalls.h: Likewise.
	* mcheck.h: Likewise.
	* memory.h: Likewise.
	* netdb.h: Likewise.
	* netgroup.h: Likewise.
	* netinet/ether.h: Likewise.
	* netinet/in.h: Likewise.
	* nlist.h: Likewise.
	* nss.h: Likewise.
	* nsswitch.h: Likewise.
	* obstack.h: Likewise.
	* poll.h: Likewise.
	* posix1_lim.h: Likewise.
	* posix2_lim.h: Likewise.
	* printf.h: Likewise.
	* protocols/routed.h: Likewise.
	* protocols/rwhod.h: Likewise.
	* protocols/talkd.h: Likewise.
	* protocols/timed.h: Likewise.
	* pwd.h: Likewise.
	* regex.h: Likewise.
	* resolv.h: Likewise.
	* rpc/auth_unix.h: Likewise.
	* rpc/clnt.h: Likewise.
	* rpc/netdb.h: Likewise.
	* rpc/pmap_clnt.h: Likewise.
	* rpc/pmap_prot.h: Likewise.
	* rpc/pmap_rmt.h: Likewise.
	* rpc/rpc.h: Likewise.
	* rpc/rpc_msg.h: Likewise.
	* rpc/svc.h: Likewise.
	* rpc/svc_auth.h: Likewise.
	* rpc/types.h: Likewise.
	* rpc/xdr.h: Likewise.
	* sched.h: Likewise.
	* search.h: Likewise.
	* set-hooks.h: Likewise.
	* setjmp.h: Likewise.
	* sgtty.h: Likewise.
	* shadow.h: Likewise.
	* signal.h: Likewise.
	* stab.def: Likewise.
	* stab.h: Likewise.
	* stdio.h: Likewise.
	* stdlib.h: Likewise.
	* string.h: Likewise.
	* strings.h: Likewise.
	* sys/bitypes.h: Likewise.
	* sys/cdefs.h: Likewise.
	* sys/dir.h: Likewise.
	* sys/errno.h: Likewise.
	* sys/fcntl.h: Likewise.
	* sys/file.h: Likewise.
	* sys/gmon.h: Likewise.
	* sys/ioctl.h: Likewise.
	* sys/ipc.h: Likewise.
	* sys/msg.h: Likewise.
	* sys/poll.h: Likewise.
	* sys/queue.h: Likewise.
	* sys/resource.h: Likewise.
	* sys/select.h: Likewise.
	* sys/sem.h: Likewise.
	* sys/shm.h: Likewise.
	* sys/signal.h: Likewise.
	* sys/socket.h: Likewise.
	* sys/stat.h: Likewise.
	* sys/statfs.h: Likewise.
	* sys/syslog.h: Likewise.
	* sys/termios.h: Likewise.
	* sys/time.h: Likewise.
	* sys/timeb.h: Likewise.
	* sys/times.h: Likewise.
	* sys/types.h: Likewise.
	* sys/uio.h: Likewise.
	* sys/un.h: Likewise.
	* sys/unistd.h: Likewise.
	* sys/utsname.h: Likewise.
	* sys/vlimit.h: Likewise.
	* sys/vtimes.h: Likewise.
	* sys/wait.h: Likewise.
	* syscall.h: Likewise.
	* syslog.h: Likewise.
	* tar.h: Likewise.
	* termios.h: Likewise.
	* time.h: Likewise.
	* ttyent.h: Likewise.
	* unistd.h: Likewise.
	* utime.h: Likewise.
	* utmp.h: Likewise.
	* values.h: Likewise.
	* wchar.h: Likewise.
	* wctype.h: Likewise.
	* wordexp.h: Likewise.
	* xlocale.h: Likewise.
	* xopen_lim.h: Likewise.

	* linuxthreads/sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
	* linuxthreads/sysdeps/powerpc/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/libc-lock.h: -> bits/
	* sysdeps/mach/libc-lock.h: Likewise.
	* sysdeps/stub/libc-lock.h: Likewise.
	* linuxthreads/sysdeps/pthread/stdio-lock.h: Likewise.
	* linuxthreads/sysdeps/unix/sysv/linux/local_lim.h: Likewise.
	* sysdeps/mach/hurd/local_lim.h: Likewise.
	* sysdeps/stub/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
	* sysdeps/unix/sysv/local_lim.h: Likewise.
	* sysdeps/unix/sysv/sco3.2/local_lim.h: Likewise.
	* linuxthreads/sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
	* sysdeps/mach/hurd/posix_opt.h: Likewise.
	* sysdeps/stub/posix_opt.h: Likewise.
	* sysdeps/unix/bsd/posix_opt.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/posix_opt.h: Likewise.
	* sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
	* math/cmathcalls.h: -> bits/
	* math/mathcalls.h: Likewise.
	* misc/stab.def: -> bits/
	* posix/posix1_lim.h: -> bits/
	* posix/posix2_lim.h: Likewise.
	* sysdeps/alpha/__math.h: -> .../fpu/bits/mathinline.h
	* sysdeps/i386/fpu/__math.h: Likewise.
	* sysdeps/m68k/fpu/__math.h: Likewise.
	* sysdeps/m68k/fpu/switch/__math.h: Likewise.
	* sysdeps/powerpc/__math.h: Likewise.
	* sysdeps/stub/__math.h: Likewise.
	* sysdeps/alpha/bytesex.h: -> .../bits/endian.h
	* sysdeps/arm/bytesex.h: Likewise.
	* sysdeps/i386/bytesex.h: Likewise.
	* sysdeps/m68k/bytesex.h: Likewise.
	* sysdeps/mips/bytesex.h: Likewise.
	* sysdeps/mips/dec/bytesex.h: Likewise.
	* sysdeps/mips/mipsel/bytesex.h: Likewise.
	* sysdeps/mips/p40/bytesex.h: Likewise.
	* sysdeps/sparc/bytesex.h: Likewise.
	* sysdeps/stub/bytesex.h: Likewise.
	* sysdeps/alpha/fpu/fenvbits.h: -> .../bits/fenv.h
	* sysdeps/i386/fpu/fenvbits.h: Likewise.
	* sysdeps/m68k/fpu/fenvbits.h: Likewise.
	* sysdeps/powerpc/fenvbits.h: Likewise.
	* sysdeps/stub/fenvbits.h: Likewise.
	* sysdeps/alpha/jmp_buf.h: -> .../bits/setenv.h
	* sysdeps/arm/jmp_buf.h: Likewise.
	* sysdeps/i386/jmp_buf.h: Likewise.
	* sysdeps/m68k/jmp_buf.h: Likewise.
	* sysdeps/mips/jmp_buf.h: Likewise.
	* sysdeps/sparc/jmp_buf.h: Likewise.
	* sysdeps/powerpc/jmp_buf.h: Likewise.
	* sysdeps/stub/jmp_buf.h: Likewise.
	* sysdeps/vax/jmp_buf.h: Likewise.
	* sysdeps/generic/confname.h: -> bits/
	* sysdeps/unix/sysv/irix4/confname.h: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/confname.h: Likewise.
	* sysdeps/generic/gnu/types.h: -> ../bits/types.h
	* sysdeps/unix/sysv/linux/alpha/gnu/types.h: Likewise.
	* sysdeps/unix/sysv/linux/gnu/types.h: Likewise.
	* sysdeps/generic/ioctl-types.h: -> bits/
	* sysdeps/unix/sysv/linux/ioctl-types.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/ioctl-types.h: Likewise.
	* sysdeps/generic/iovec.h: -> .../bits/uio.h
	* sysdeps/unix/sysv/linux/iovec.h: Likewise.
	* sysdeps/generic/mathbits.h: -> .../bits/mathdef.h
	* sysdeps/i386/fpu/mathbits.h: Likewise.
	* sysdeps/m68k/fpu/mathbits.h: Likewise.
	* sysdeps/powerpc/mathbits.h: Likewise.
	* sysdeps/generic/resourcebits.h: -> .../bits/resource.h
	* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Likewise.
	* sysdeps/unix/sysv/linux/resourcebits.h: Likewise.
	* sysdeps/generic/schedbits.h: -> .../bits/sched.h
	* sysdeps/unix/sysv/linux/schedbits.h: Likewise.
	* sysdeps/generic/selectbits.h: -> .../bits/select.h
	* sysdeps/i386/selectbits.h: Likewise.
	* sysdeps/generic/sigaction.h: -> bits/
	* sysdeps/unix/bsd/osf/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sigaction.h: Likewise.
	* sysdeps/unix/sysv/minix/sigaction.h: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.h: Likewise.
	* sysdeps/generic/sigset.h: -> bits/
	* sysdeps/unix/sysv/linux/sigset.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigset.h: Likewise.
	* sysdeps/generic/sockaddrcom.h: -> .../bits/sockaddr.h
	* sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise.
	* sysdeps/generic/socketbits.h: -> .../bits/socket.h
	* sysdeps/unix/sysv/linux/socketbits.h: Likewise.
	* sysdeps/generic/statfsbuf.h: -> .../bits/statfs.h
	* sysdeps/unix/sysv/linux/statfsbuf.h: Likewise.
	* sysdeps/generic/termbits.h: -> .../bits/termios.h
	* sysdeps/unix/bsd/sun/sunos4/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/termbits.h: Likewise.
	* sysdeps/generic/ustatbits.h: -> .../bits/ustat.h
	* sysdeps/unix/sysv/linux/ustatbits.h: Likewise.
	* sysdeps/generic/utmpbits.h: -> .../bits/utmp.h
	* sysdeps/gnu/utmpbits.h: Likewise.
	* sysdeps/unix/sysv/utmpbits.h: Likewise.
	* sysdeps/generic/utsnamelen.h: -> .../bits/utsname.h
	* sysdeps/unix/bsd/sun/sunos4/utsnamelen.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/linux/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/sysv4/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/utsnamelen.h: Likewise.
	* sysdeps/generic/waitstatus.h: -> bits/
	* sysdeps/i386/huge_val.h: -> bits/
	* sysdeps/ieee754/huge_val.h: Likewise.
	* sysdeps/m68k/huge_val.h: Likewise.
	* sysdeps/stub/huge_val.h: Likewise.
	* sysdeps/vax/huge_val.h: Likewise.
	* sysdeps/ieee754/nan.h: Likewise.
	* sysdeps/stub/nan.h: Likewise.
	* sysdeps/mach/hurd/alpha/sigcontext.h: -> bits/
	* sysdeps/mach/hurd/hppa/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/i386/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/sigcontext.h: Likewise.
	* sysdeps/stub/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigcontext.h: Likewise.
	* sysdeps/unix/sysv/linux/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/errnos.h: -> .../bits/errno.h
	* sysdeps/standalone/arm/errnos.h: Likewise.
	* sysdeps/stub/errnos.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/errnos.h: Likewise.
	* sysdeps/unix/sysv/linux/errnos.h: Likewise.
	* sysdeps/mach/hurd/fcntlbits.h: -> .../bits/fcntl.h
	* sysdeps/stub/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/fcntlbits.h: Likewise.
	* sysdeps/unix/common/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/irix4/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/fcntlbits.h: Likewise.
	* sysdeps/mach/hurd/ioctls.h: -> bits/
	* sysdeps/stub/ioctls.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/ioctls.h: Likewise.
	* sysdeps/mach/hurd/statbuf.h: -> .../bits/stat.h
	* sysdeps/stub/statbuf.h: Likewise.
	* sysdeps/unix/bsd/osf/alpha/statbuf.h: Likewise.
	* sysdeps/unix/bsd/statbuf.h: Likewise.
	* sysdeps/unix/sysv/irix4/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/statbuf.h: Likewise.
	* sysdeps/unix/sysv/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/statbuf.h: Likewise.
	* sysdeps/standalone/stdio_lim.h: -> bits/
	* sysdeps/stub/stdio_lim.h: Likewise.
	* sysdeps/stub/direntry.h: -> ../bits/dirent.h
	* sysdeps/unix/bsd/bsd4.4/direntry.h: Likewise.
	* sysdeps/unix/bsd/direntry.h: Likewise.
	* sysdeps/unix/common/direntry.h: Likewise.
	* sysdeps/unix/sysv/direntry.h: Likewise.
	* sysdeps/unix/sysv/linux/direntry.h: Likewise.
	* sysdeps/stub/elfclass.h: -> bits/
	* sysdeps/wordsize-32/elfclass.h: Likewise.
	* sysdeps/wordsize-64/elfclass.h: Likewise.
	* sysdeps/stub/signum.h: -> bits/
	* sysdeps/unix/bsd/signum.h: Likewise.
	* sysdeps/unix/bsd/sun/signum.h: Likewise.
	* sysdeps/unix/sysv/irix4/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/signum.h: Likewise.
	* sysdeps/unix/sysv/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/signum.h: Likewise.
	* sysdeps/stub/sys/ipc_buf.h: -> .../bits/ipc.h
	* sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise.
	* sysdeps/stub/sys/msq_buf.h: -> .../bits/msq.h
	* sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise.
	* sysdeps/stub/sys/sem_buf.h: -> .../bits/sem.h
	* sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise.
	* sysdeps/stub/sys/shm_buf.h: -> .../bits/shm.h
	* sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise.
	* sysdeps/stub/timebits.h: -> .../bits/time.h
	* sysdeps/unix/sysv/linux/alpha/timebits.h: Likewise.
	* sysdeps/unix/sysv/linux/timebits.h: Likewise.
	* sysdeps/stub/waitflags.h: -> bits/
	* sysdeps/unix/bsd/waitflags.h: Likewise.
	* sysdeps/unix/sysv/linux/waitflags.h: Likewise.
	* sysdeps/unix/sysv/sysv4/waitflags.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h: -> ../
	* sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/kernel_termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/socketcall.h: -> ../

	* argp/argp-fmtstream.h: Standardize the multiple-include protect.
	* argp/argp.h: Likewise.
	* catgets/nl_types.h: Likewise.
	* crypt/sysdeps/unix/crypt.h: Likewise.
	* ctype/ctype.h: Likewise.
	* db/db.h: Likewise.
	* db/mpool.h: Likewise.
	* db/ndbm.h: Likewise.
	* dirent/dirent.h: Likewise.
	* elf/dlfcn.h: Likewise.
	* elf/elf.h: Likewise.
	* elf/link.h: Likewise.
	* gmon/sys/gmon.h: Likewise.
	* gmon/sys/gmon_out.h: Likewise.
	* grp/grp.h: Likewise.
	* inet/aliases.h: Likewise.
	* inet/arpa/ftp.h: Likewise.
	* inet/arpa/inet.h: Likewise.
	* inet/arpa/telnet.h: Likewise.
	* inet/arpa/tftp.h: Likewise.
	* inet/netinet/ether.h: Likewise.
	* inet/netinet/icmp6.h: Likewise.
	* inet/netinet/in.h: Likewise.
	* inet/netinet/ip6.h: Likewise.
	* inet/protocols/routed.h: Likewise.
	* inet/protocols/rwhod.h: Likewise.
	* inet/protocols/talkd.h: Likewise.
	* inet/protocols/timed.h: Likewise.
	* intl/libintl.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/fts.h: Likewise.
	* io/ftw.h: Likewise.
	* io/sys/poll.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/utime.h: Likewise.
	* linuxthreads/semaphore.h: Likewise.
	* linuxthreads/sysdeps/pthread/pthread.h: Likewise.
	* locale/locale.h: Likewise.
	* login/pty.h: Likewise.
	* login/utmp.h: Likewise.
	* malloc/malloc.h: Likewise.
	* malloc/obstack.h: Likewise.
	* math/complex.h: Likewise.
	* math/fenv.h: Likewise.
	* math/math.h: Likewise.
	* md5-crypt/md5.h: Likewise.
	* misc/ar.h: Likewise.
	* misc/err.h: Likewise.
	* misc/error.h: Likewise.
	* misc/fstab.h: Likewise.
	* misc/libgen.h: Likewise.
	* misc/nlist.h: Likewise.
	* misc/sys/cdefs.h: Likewise.
	* misc/sys/file.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/queue.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/syslog.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* misc/sysexits.h: Likewise.
	* misc/ttyent.h: Likewise.
	* nss/nss.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/getopt.h: Likewise.
	* posix/glob.h: Likewise.
	* posix/regex.h: Likewise.
	* posix/sys/times.h: Likewise.
	* posix/sys/types.h: Likewise.
	* posix/sys/utsname.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* posix/tar.h: Likewise.
	* posix/unistd.h: Likewise.
	* posix/wordexp.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/netdb.h: Likewise.
	* resolv/resolv.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* resource/sys/vlimit.h: Likewise.
	* resource/sys/vtimes.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* shadow/shadow.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* socket/sys/un.h: Likewise.
	* stdlib/exit.h: Likewise.
	* stdlib/fmtmsg.h: Likewise.
	* stdlib/monetary.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/envz.h: Likewise.
	* string/memory.h: Likewise.
	* string/string.h: Likewise.
	* string/strings.h: Likewise.
	* sunrpc/rpc/rpc.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/types.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* termios/sys/ttychars.h: Likewise.
	* termios/termios.h: Likewise.

	* argp/argp-parse.c: <foo.h> -> <bits/foo.h>.
	* crypt/sysdeps/unix/crypt_util.c: Likewise.
	* dirent/dirent.h: Likewise.
	* elf/link.h: Likewise.
	* grp/fgetgrent.c: Likewise.
	* grp/grp.h: Likewise.
	* hurd/hurd/ioctl.h: Likewise.
	* inet/getnameinfo.c: Likewise.
	* inet/getnetgrent_r.c: Likewise.
	* inet/inet_ntoa.c: Likewise.
	* inet/netinet/in.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/ftw.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/utime.h: Likewise.
	* libio/_G_config.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/libioP.h: Likewise.
	* libio/stdio.h: Likewise.
	* linuxthreads/lockfile.c: Likewise.
	* linuxthreads/semaphore.h: Likewise.
	* locale/duplocale.c: Likewise.
	* locale/freelocale.c: Likewise.
	* locale/lc-time.c: Likewise.
	* locale/setlocale.c: Likewise.
	* login/getutent_r.c: Likewise.
	* login/getutid_r.c: Likewise.
	* login/getutline_r.c: Likewise.
	* login/lastlog.h: Likewise.
	* login/pty.h: Likewise.
	* login/utmp.h: Likewise.
	* login/utmpname.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* malloc/thread-m.h: Likewise.
	* math/complex.h: Likewise.
	* math/fenv.h: Likewise.
	* math/libm-test.c: Likewise.
	* math/math.h: Likewise.
	* misc/sgtty.h: Likewise.
	* misc/stab.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* misc/sys/ustat.h: Likewise.
	* misc/syslog.c: Likewise.
	* nis/nss_compat/compat-grp.c: Likewise.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.
	* nis/nss_nis/nis-alias.c: Likewise.
	* nis/nss_nis/nis-ethers.c: Likewise.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-netgrp.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-publickey.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
	* nss_nisplus/nisplus-alias.c: Likewise.
	* nis/nss_nisplus/nisplus-ethers.c: Likewise.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.
	* nis/nss_nisplus/nisplus-netgrp.c: Likewise.
	* nis/nss_nisplus/nisplus-netgrp.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.
	* nis/nss_nisplus/nisplus-spwd.c: Likewise.
	* nis/ypclnt.c: Likewise.
	* nss/getXXbyYY.c: Likewise.
	* nss/getXXent.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* nss/nss_db/db-XXX.c: Likewise.
	* nss/nss_db/db-alias.c: Likewise.
	* nss/nss_db/db-netgrp.c: Likewise.
	* nss/nss_files/files-XXX.c: Likewise.
	* nss/nss_files/files-alias.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* posix/sched.h: Likewise.
	* posix/sys/types.h: Likewise.
	* posix/sys/utsname.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* posix/unistd.h: Likewise.
	* pwd/fgetpwent.c: Likewise.
	* pwd/pwd.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* shadow/fgetspent.c: Likewise.
	* shadow/lckpwdf.c: Likewise.
	* shadow/sgetspent.c: Likewise.
	* signal/signal.h: Likewise.
	* signal/sigsetops.c: Likewise.
	* socket/sys/socket.h: Likewise.
	* socket/sys/un.h: Likewise.
	* stdio/stdio.h: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/atexit.c: Likewise.
	* stdlib/fmtmsg.c: Likewise.
	* stdlib/random.c: Likewise.
	* string/endian.h: Likewise.
	* sysdeps/alpha/w_sqrt.S: Likewise.
	* sysdeps/arm/__longjmp.S: Likewise.
	* sysdeps/arm/setjmp.S: Likewise.
	* sysdeps/generic/abort.c: Likewise.
	* sysdeps/generic/netinet/ip.h: Likewise.
	* sysdeps/generic/setenv.c: Likewise.
	* generic/sys/mman.h: Likewise.
	* sysdeps/i386/__longjmp.S: Likewise.
	* sysdeps/i386/setjmp.S: Likewise.
	* sysdeps/mach/hurd/dirstream.h: Likewise.
	* sysdeps/mach/hurd/jmp-unwind.c: Likewise.
	* sysdeps/posix/mk-stdiolim.c: Likewise.
	* sysdeps/powerpc/__longjmp.S: Likewise.
	* sysdeps/powerpc/setjmp.S: Likewise.
	* sysdeps/sparc/__longjmp.S: Likewise.
	* sysdeps/sparc/setjmp.S: Likewise.
	* sysdeps/standalone/close.c: Likewise.
	* sysdeps/standalone/filedesc.h: Likewise.
	* sysdeps/standalone/open.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/tcsetattr.c: Likewise.
	* sysdeps/unix/bsd/m68k/sysdep.S: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/vax/sysdep.S: Likewise.
	* sysdeps/unix/dirstream.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/mips/sysdep.S: Likewise.
	* sysdeps/unix/mk-local_lim.c: Likewise.
	* sysdeps/unix/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/brk.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/netinet/ip.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/tcp.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/syscall.h: Likewise.
	* sysdeps/unix/sysv/linux/tcgetattr.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sysconf.S: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/sysdep.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S: Likewise.
	* sysvipc/sys/ipc.h: Likewise.
	* sysvipc/sys/msg.h: Likewise.
	* sysvipc/sys/sem.h: Likewise.
	* sysvipc/sys/shm.h: Likewise.
	* termios/termios.h: Likewise.
	* time/localtime.c: Likewise.
	* time/sys/time.h: Likewise.
	* time/time.h: Likewise.
	* time/tzset.c: Likewise.

	* sysdeps/unix/sysv/linux/arm/socket.S: socketcall.h change.
	* sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/socket.S: Likewise.

	* Makefile (headers): foo.h -> bits/foo.h.
	* dirent/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* io/Makefile: Likewise.
	* linuxthreads/Makefile: Likewise.
	* linuxthreads/sysdeps/pthread/Makefile: Likewise.
	* login/Makefile: Likewise.
	* math/Makefile: Likewise.
	* misc/Makefile: Likewise.
	* posix/Makefile: Likewise.
	* resource/Makefile: Likewise.
	* setjmp/Makefile: Likewise.
	* signal/Makefile: Likewise.
	* socket/Makefile: Likewise.
	* stdio-common/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/Makefile: Likewise.
	* sysvipc/Makefile: Likewise.
	* termios/Makefile: Likewise.
	* time/Makefile: Likewise.
	* sysdeps/generic/Makefile (make_siglist-CFLAGS): Likewise.
	* sysdeps/posix/Makefile: stdio_lim.h -> bits/stdio_lim.h
	* sysdeps/unix/Makefile: Likewise with local_lim.h, errnos.h,
	ioctls.h, termbits.h.

	* sysdeps/unix/sysv/linux/Dist: sys/kernel_termios.h
	-> kernel_termios.h, sys/socketcall.h -> socketcall.h

	* elf/elf.h: Use <inttypes.h> definitions instead of __attribute__
	for getting the proper length on the ELF types to be friendly to
	non-gcc compilers.
	* posix/sys/types.h: Notice when int8_t and friends are defined
	and don't redefine them.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.

	* sysdeps/unix/sysv/linux/arm/profil-counter.h: Get sigcontext
	via <signal.h> instead.
	* sysdeps/unix/sysv/linux/i386/profil-counter.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/profil-counter.h: Likewise.

1997-06-20 17:59  Kazumoto Kojima  <kkojima@kk.info.kanagawa-u.ac.jp>

	* hurd/intr-msg.c: More 64bit changes.
	* mach/msg-destroy.c: Likewise.
	* sysdeps/mach/hurd/ioctl.c: Likewise.
	* sysdeps/mach/hurd/ioctls.h: Likewise.
	* sysdeps/mach/hurd/select.c: Likewise.
	* sysdeps/mach/hurd/statbuf.h: Likewise.

	* sysdeps/mach/hurd/mips/dl-machine.c: Hurd/MIPS64 patches.
	* sysdeps/mach/hurd/mips/exc2signal.c: Likewise.
	* sysdeps/mach/hurd/mips/init-fault.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/intr-msg.h: Likewise.
	* sysdeps/mach/hurd/mips/longjmp-ctx.c: Likewise.
	* sysdeps/mach/hurd/mips/longjmp-ts.c: Likewise.
	* sysdeps/mach/hurd/mips/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* sysdeps/mach/mips/cacheflush.c: Likewise.
	* sysdeps/mach/mips/machine-lock.h: Likewise.
	* sysdeps/mach/mips/machine-sp.h: Likewise.
	* sysdeps/mach/mips/syscall.S: Likewise.
	* sysdeps/mach/mips/sysdep.h: Likewise.
	* sysdeps/mach/mips/thread_state.h: Likewise.
	* sysdeps/mach/start.c: Likewise.

	* sysdeps/mips/dl-machine.h: MIPS changes.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/mips/init-first.c: Likewise.
	* sysdeps/mips/fpu_control.h: Likewise.
	* sysdeps/mips/machine-gmon.h: Likewise.
	* sysdeps/mips/jmp_buf.h: Likewise.
	* sysdeps/mips/__longjmp.c: Likewise.
	* sysdeps/mips/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/bsd-setjmp.S: Likewise.
	* sysdeps/mips/setjmp.S: Likewise.
	* sysdeps/mips/setjmp_aux.c: Likewise.
	* sysdeps/mips/mips64/gmp-mparam.h: Likewise.
	* sysdeps/mips/add_n.S: New file.
	* sysdeps/mips/addmul_1.S: Likewise.
	* sysdeps/mips/lshift.S: Likewise.
	* sysdeps/mips/mul_1.S: Likewise.
	* sysdeps/mips/rshift.S: Likewise.
	* sysdeps/mips/sub_n.S: Likewise.
	* sysdeps/mips/submul_1.S: Likewise.
	* sysdeps/mips/mips64/Implies: Likewise.
	* sysdeps/mips/mips64/add_n.S: Likewise.
	* sysdeps/mips/mips64/addmul_1.S: Likewise.
	* sysdeps/mips/mips64/lshift.S: Likewise.
	* sysdeps/mips/mips64/mul_1.S: Likewise.
	* sysdeps/mips/mips64/rshift.S: Likewise.
	* sysdeps/mips/mips64/sub_n.S: Likewise.
	* sysdeps/mips/mips64/submul_1.S: Likewise.
	* sysdeps/mips/add_n.S: Removed.
	* sysdeps/mips/addmul_1.S: Likewise.
	* sysdeps/mips/lshift.S: Likewise.
	* sysdeps/mips/mul_1.S: Likewise.
	* sysdeps/mips/rshift.S: Likewise.
	* sysdeps/mips/sub_n.S: Likewise.
	* sysdeps/mips/submul_1.S: Likewise.

	* nss/Makefile: Prepare for static NSS.
	* resolv/Makefile: Likewise.
	* nss/nsswitch.c: Add code for static NSS.
	* nss/function.def: Define functions for static NSS.

1997-06-19 11:10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Add yet more symbols.

1997-06-19 20:33  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Don't pass NULL
	as object name to _dl_signal_error.
	(do_lookup): Skip objects that could not be opened.

	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Check that the
	symbol was found.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise.

1997-06-20 03:13  Kazumoto Kojima  <kkojima@kk.info.kanagawa-u.ac.jp>

	* ctype/ctype-info.c: Use int32_t where `int' with 4 bytes is
	assumed.
	* ctype/ctype.h: Likewise.
	* math/math_private.h: Likewise.
	* inet/netinet/in.h: Likewise.
	* wctype/wctype.h: Likewise.

	* nss/Makefile: Only inhibit nss_files and nss_db modules if static
	NSS modules are not enabled.
	* resolv/Makefile: Likewise for nss_dns.
	* nss/function.def: New file.  List all available lookup functions
	for static NSS.
	* nss/nsswitch.c: Add code for static NSS.

1997-06-15 21:15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (gamma_test): Test for _SVID_ and for normal
	behaviour.

1997-06-15 20:32  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm.map: Add all necessary functions, correct existing entries.

1997-06-20 02:35  a sun  <asun@zoology.washington.edu>

	* sysdeps/unix/sysv/linux/netipx/ipx.h: Don't use kernel header.

1997-06-19 18:43  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent):
	Compare pointer with NULL.

	* login/logout.c (logout): Compare pututline result with NULL.

	* inet/rcmd.c: Correct a few typos.  Reported by Erik Troan.
1997-06-21 02:59:26 +00:00
Ulrich Drepper
6d52618b15 Update from main archive 961219
Thu Dec 19 23:28:33 1996  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/resolv.h: Update from BIND 4.9.5-P1.
	* resolv/res_comp.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* resolv/Banner: Update version number.

Thu Dec 19 20:58:53 1996  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dlfcn.h: Add extern "C" wrapper.

	* io/utime.h: Don't define NULL since this isn't allowed in POSIX.
	* io/sys/stat.h: Declare `lstat' only if __USE_BSD ||
	__USE_XOPEN_EXTENDED.
	* locale/locale.h: Define NULL.
	* math/math.c: Don't include <errno.h> to define math errors.
	* stdlib/stdlib.h: Likewise.
	* posix/unistd.h: Don't declare environ.
	* posix/sys/utsname.h (struct utsname): Declare member domainname
	as __domainname is !__USE_GNU.
	* signal/signal.h: Declare size_t only if __USE_BSD ||
	__USE_XOPEN_EXTENDED.
	* stdio/stdio.h: Don't declare cuserid when __USE_POSIX, but
	instead when __USE_XOPEN.
	* string/string.h: Define strndup only if __USE_GNU.
	* sysdeps/unix/sysv/linux/clock.c: New file.
	* sysdeps/unix/sysv/linux/timebits.h: Define CLOCKS_PER_SEC as
	1000000 per X/Open standard.
	* features.h: Add code to recognize _POSIX_C_SOURCE value 199309.
	Define __USE_POSIX199309.
	* posix/unistd.h: Declare fdatasync only if __USE_POSIX199309.
	* time/time.c: Declare nanosleep only if __USE_POSIX199309.
	Patches by Rdiger Helsch <rh@unifix.de>.

	* locale/locale.h: Add declaration of newlocale and freelocale.

	* new-malloc/Makefile (distibute): Add mtrace.awk.
	(dist-routines): Add mcheck and mtrace.
	(install-lib, non-lib.a): Define as libmcheck.a.
	* new-malloc/malloc.h: Add declaration of __malloc_initialized.
	* new-malloc/mcheck.c: New file.
	* new-malloc/mcheck.h: New file.
	* new-malloc/mtrace.c: New file.
	* new-malloc/mtrace.awk: New file.

	* posix/unistd.h: Correct prototype for usleep.
	* sysdeps/unix/bsd/usleep.c: De-ANSI-declfy.  Correct return type.
	* sysdeps/unix/sysv/linux/usleep.c: Real implementation based on
	nanosleep.

	* signal/signal.h: Change protoype of __sigpause to take two
	arguments.  Remove prototype for sigpause.  Add two different
	macros named sigpause selected when __USE_BSD or __USE_XOPEN
	are defined.  This is necessary since the old BSD definition
	of theis function collides with the X/Open definition.
	* sysdeps/posix/sigpause.c: Change function definition to also
	fit X/Open definition.

	* sysdeps/libm-i387/e_exp.S: Make sure stack is empty when the
	function is left.
	* sysdeps/libm-i387/e_expl.S: Likewise.
	Patch by HJ Lu.

1996-12-17  Paul Eggert  <eggert@twinsun.com>

	* many, many files: Spelling corrections.
	* catgets/catgetsinfo.h (mmapped):
	Renamed from mmaped (in struct catalog_info.status).
	* mach/err_kern.sub (err_codes_unix), string/stratcliff.c (main):
	Fix spelling in message.
	* po/libc.pot: Fix spelling in message for `zic'; this anticipates
	a fix in the tzcode distribution.

Wed Dec 18 15:48:02 1996  Ulrich Drepper  <drepper@cygnus.com>

	* time/strftime.c: Implement ^ flag to cause output be converted
	to use upper case characters.

	* time/zic.c: Update from ADO tzcode1996n.

Wed Dec 18 14:29:24 1996  Erik Naggum  <erik@naggum.no>

	* time/strftime.c (add): Don't change global `i' until all is over.
	Define NULL is not already defined.

Tue Dec 17 09:49:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/iovsprintf.c (_IO_vsprintf): Change `&sf' to `&sf._sbf._f'
	to avoid the need for a cast.
	* libio/iovsscanf.c (_IO_vsscanf): Likewise.

	* sunrpc/rpc/xdr.h: Add prototype for xdr_free.
1996-12-20 01:39:50 +00:00