1999-02-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nscd/hstcache.c (addhstbyaddr): Use INET_ADDRSTRLEN for buffer.
	(addhstbyaddr6): Use INET6_ADDRSTRLEN for buffer.
	(addhstbynamev6): Correct debug output.

	* nscd/connections.c: Include <arpa/inet.h> for inet_ntop.
	(handle_request): Correctly print gethostbyaddr* debug messages.

1999-02-04  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/strtoll.c: Add alias __strtoq_internal.
	* stdlib/strtoull.c: Add alias __strtouq_internal.

	* wcsmbs/mbrtowc.c: Correct logic testing for converted NUL
	character.  Patch by Owen Taylor <otaylor@redhat.com>.

1999-02-03  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/mach/hurd/utimes.c (__utimes): Deal with TVP being NULL.

1999-02-03  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.1.
	(RELEASE): Change to stable.

	* elf/dlsym.c (dlsym_doit): If no symbol for RTLD_NEXT is found
	initialize ref element of args object so that dlsym does not dump
	a core.
	* elf/dlvsym.c (dlvsym_doit): Likewise.

1999-02-03  Jakub Jelinek  <jj@ultra.linux.cz>

	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Set branch
	prediction correctly.

	* sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Signal
	takes a pointer to __sigcontext_t.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Do a nop after retl.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove fork.S.

1999-02-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/time.texi (General Time String Parsing): Fix typos.  Fix
	column widths of table.

1999-01-31  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/times.c: New file.

1999-02-02  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/nscd_getpw_r.c (nscd_getpw_r): Mark as internal and take
	extra argument with length of key string.
	(__nscd_getpwnam_r): Call nscd_getpw_r with extra argument.
	(__nscd_getpwuid_r): Create key string on stack.
	* nscd/nscd_getgr_r.c: Mark local functions as internal.
	* nscd/nscd_gethst_r.c: Likewise.

	* elf/dl-load.c: Use alloca, not __alloca.

	* sysdeps/unix/sysv/linux/reboot.c: Make sure first parameter is
	correctly passed to the kernel even on 64bit platforms.
	Patch by Bruce Elliott <bde@nwlink.com>.

	* localedata/locales/it_CH: New file.
	Contributed by Giacomo Amabile Catenazzi <gcatenaz@g26.ethz.ch>.

1999-01-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/install.texi (Configuring and compiling): Building in the
	source directory works, change paragraph stating the opposite.

1999-01-29  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* locale/programs/locale-spec.c: Fix last change.

1999-01-31  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c (fdim_test): Fix typo in message.
	Patch by Paul Kimoto <kimoto@spacenet.tn.cornell.edu>.

1999-01-31  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: If the kernel
	doesn't have vfork, resort to using fork.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.

1999-01-30  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/sparc/sparc32/__longjmp.S: Include bits/setjmp.h not
	jmp_buf.h.  Patch by David S. Miller <davem@dm.cobaltmicro.com>.

	* sysdeps/libm-i387/s_fdim.S: Reverse arguments of instruction
	changed in last patch.
	* sysdeps/libm-i387/s_fdimf.S: Likewise.
	* sysdeps/libm-i387/s_fdiml.S: Likewise.

1999-01-29  Richard Henderson  <rth@twiddle.net>

	* scripts/config.sub: Recognize alpha{pca5[67],ev[67]}.

	* sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols):
	Format pointer differences as longs.

	* sysdeps/alpha/fpu/s_floor.c, sysdeps/alpha/fpu/s_floorf.c:
	Copy commentary from bits/mathinclude.h.  Kill unused defines.

	* sysdeps/alpha/atomicity.h: New file.

1999-01-29  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.112.

	* scripts/versions.awk: Quote { in regexp.

	* sunrpc/clnt_tcp.c (clnttcp_call): Resolve 32-64 comparison
	conflict for 64 bit platforms.
	Patch by trott@rottmann.hi.shuttle.de.

	* sysdeps/unix/sparc/vfork.S: Correct comment.
	* sysdeps/unix/sparc/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove vfork.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/fork.S: No special case for
	child necessary.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: New file.
	Patches by Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>.

	* sysdeps/libm-i387/s_fdim.S: Change fsubp to fsubrp for picky gas.
	* sysdeps/libm-i387/s_fdimf.S: Likewise.
	* sysdeps/libm-i387/s_fdiml.S: Likewise.

	* sysdeps/alpha/fpu/s_floor.c (__floor): Don't depend on inlining,
	duplicate the code.
	* sysdeps/alpha/fpu/s_floorf.c (__floorf): Likewise.

	* sysdeps/i386/Versions: Exports functions from libgcc since this
	is what was done in glibc 2.0.
	* sysdeps/m68k/Versions: Likewise.  New file.

1999-01-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/wordsize-32/stdint.h (INT8_C, INT16_C, INT32_C, INT64_C,
	UINT8_C, UINT16_C, UINT32_C, UINT64_C): Remove casts, they must be
	integer constants.  Use ## directly instead of __CONCAT so that
	the suffix string is not expanded as a macro.
	* sysdeps/wordsize-64/stdint.h (INT8_C, INT16_C, INT32_C, INT64_C,
	UINT8_C, UINT16_C, UINT32_C, UINT64_C): Likewise.
	(INT64_MIN, INT64_MAX, UINT64_MAX, INT_LEAST64_MIN,
	INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST16_MIN, INT_FAST32_MIN,
	INT_FAST64_MIN, INT_FAST16_MAX, INT_FAST32_MAX, INT_FAST64_MAX,
	UINT_FAST16_MAX, UINT_FAST32_MAX, UINT_FAST64_MAX, INTMAX_MIN,
	INTMAX_MAX, UINTMAX_MAX): Define as long constants, not long long.

1999-01-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* locale/mb_cur_max.c (__ctype_get_mb_cur_max): Correct return
	type to size_t.
	* locale/broken_cur_max.c (__ctype_get_mb_cur_max): Likewise.
	* stdlib/stdlib.h (__ctype_get_mb_cur_max): Likewise.

1999-01-27  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/vfork.S: Deleted.

1999-01-28  David S. Miller  <davem@redhat.com>

	* sysdeps/sparc/sparc32/__longjmp.S: Rewrite without bogus sanity
	checks and aborts, to make longjmp based thread schemes work again.

1999-01-28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/sysv4/solaris2/configure.in: New file.
	* sysdeps/unix/sysv/sysv4/solaris2/configure: New file.
	* sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c: New file.
	Patch by Jeff Bailey <jbailey@phn.ca>.

	* locale/setlocale.c (free_mem): Don't try to free C locale data
	and use setdata instead of doing it by hand.

	* iconv/gconv_conf.c (add_alias): Check that so such alias is
	currently stored.

	* iconv/gconv_db.c (free_derivation): Free names if charsets for
	first and last step.

	* iconv/gconv_dl.c: Unload all modules when debugging memory use.

	* locale/loadlocale.c (_nl_unload_locale): Free locale name.

	* intl/finddomain.c (free_mem): Also free filename.
	* locale/findlocale.c (free_mem): Likewise.
	(_nl_find_locale): Duplicate loc_name with strdupa not strdup.
	* locale/setlocale.c (free_mem): New function.  Free current locale
	data and set current locale to "C".

	* libio/genops.c (_IO_un_link): Move #ifdef introduced in last
	change in right place.

	* sysdeps/unix/sysv/linux/sys/timex.h: Add MAXTC from kernel
	header.  Suggested by Thomas Quinot <thomas@Cuivre.FR.EU.ORG>.

1999-01-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* libio/getc_u.c (__getc_unlocked): Avoid compiler warning.

1999-01-28  Ulrich Drepper  <drepper@cygnus.com>

	* libio/genops.c (_IO_un_link, _IO_link_in): Don't use locking if
	_IO_MTSAFE_IO is not defined.

	* iconv/gconv_db.c (free_modules_db): Don't free memory of
	internal modules.

	* iconv/gconv_db.c (free_mem): Don't free module tree if there is none.

1999-01-27  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/locale-spec.c (locale_special): Take care of
	possible trigraph sequence.
	Patch by Zack Weinberg <zack@rabi.columbia.edu>.

	* time/strptime.c (strptime_internal, case 's'): Initialize secs
	to zero.  Patch by Bruce Elliott <bde@nwlink.com>.

1999-01-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/Makefile (extra-objs): Add test modules objects.

1999-01-27  Ulrich Drepper  <drepper@cygnus.com>

	* wctype/wcextra.c: Declare __ctype32_b.

	* manual/string.texi: Add optimization examples for strcat and strchr.

1999-01-26  Ulrich Drepper  <drepper@cygnus.com>

	* libio/Makefile (routines): Remove fgetc.
	* libio/fgetc.c: Removed.
	* libio/getc.c: Add fgetc alias.
	* libio/Versions [GLIBC_2.1]: Add fgetc_unlocked.
	* libio/getc_u.c: Rename function to __getc_unlocked and make
	getc_unlocked and fgetc_unlocked weak aliases.
	* libio/stdio.h: Add prototype for fgetc_unlocked.

	* sysdeps/gnu/bits/utmp.h: Don't prepend exit_status elements with
	__ since utmp.h is not mentioned in any standard.

	* sysdeps/unix/sysv/linux/i386/clone.S: When not using PIC don't
	use jecxz since the label might be far away.

	* sysdeps/unix/sysv/linux/sigaction.c: Update comment to say the
	__libc_missing_rt_sigs is defined here.
	* sysdeps/unix/sysv/linux/sigpending.c: Only declare
	__libc_missing_rt_sigs.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.

1999-01-25  Ulrich Drepper  <drepper@cygnus.com>

	* scripts/config.guess: Changes for ARM/Linux.
	* scripts/config.sub: Likewise.

	* elf/Makefile: Define libdl variable as name of libdl library and
	use it in all dependencies.

1999-01-26  Geoff Keating  <geoffk@ozemail.com.au>

	* nss/nss_db/db-netgrp.c (_nss_db_setnetgrent): Suppress warning
	about potentially uninitialized `flags'.
	* nss/nss_db/db-alias.c (internal_setent): Likewise.

1999-01-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* elf/failobj.c: Provide prototype for xyzzy.

1999-01-25  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/clone.S: Correct error check again.

1999-01-24  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/ioctl.c: Include <hurd/ioctls.defs>.
	(__ioctl): Use IOC_MSGID macro.

1999-01-24  Ulrich Drepper  <drepper@cygnus.com>

	* libio/iofopen.c (_IO_fopen): Pass correct value as fourth
	parameter to _IO_file_fopen.
	* libio/iofopen64.c (_IO_fopen64): Likewise.

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

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add __vfork
	as alias.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

1999-01-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* ctype/ctype.h (toupper,tolower): Use __inline instead of inline,
	define inline functions only when optimizing for speed and
	__USE_EXTERN_INLINES is set.

1999-01-24  Ulrich Drepper  <drepper@cygnus.com>

	* scripts/config.sub: Update from latest autoconf release.
	* scripts/config.guess: Likewise.

	* sysdeps/i386/i786/Implies: New file.

1999-01-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/install.texi (Running make install): Change for Linux 2.2.

1999-01-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/process.texi (Creating a Process): Fix typos.

1999-01-24  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/dl-sysdep.c (__getcwd): Fail with ENOSYS, don't
	call abort.  Suggested by Mark Kettenis <kettenis@phys.uva.nl>.

1999-01-23  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/unix/sysv/linux/sys/mtio.h: Moved to...
	* sysdeps/gnu/sys/mtio.h: ...here.
	(_IOT_mtop, _IOT_mtget, _IOT_mtpos, _IOT_mtconfiginfo): New macros.
	* sysdeps/gnu/Dist: Add sys/mtio.h.
	* sysdeps/unix/sysv/linux/Dist: Remove sys/mtio.h.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_headers): Don't add sys/mtio.h here.
	* sysdeps/gnu/Makefile [$(subdir) = misc] (sysdep_headers): Add it
	here instead.

	Revamp Hurd ioctl typing magic to handle `struct' keyword in the
	ioctl command macros, so we can use Unix-compatible headers that
	make use of the _IO* macros.
	* sysdeps/mach/hurd/bits/ioctls.h (_IOC_ENCODE_TYPE,
	_IOC_ENCODE_TYPE_1, _IOC_ENCODE_TYPE_2, _IOTBASE_struct): New macros.
	(_IOR, _IOW, _IOWR): Use them _IOC_ENCODE_TYPE(t) instead of _IOT_##t.
	(_IOT_int, _IOT_char, _IOT_short): Renamed to _IOT__IOTBASE_*.
	(numerous ioctl command macros): Restore `struct' keyword.

1999-01-24  Ulrich Drepper  <drepper@cygnus.com>

	* ctype/ctype.c (toupper): Correct variable names from last change.
	(tolower): Likewise.

1999-01-23  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/rpc_main.c (open_output): Allow better translation of
	error message.
	(close_output): Likewise.
	* locale/programs/localedef.c: Unify messages.
	* malloc/obstack.c: Likewise.
	Suggested by Vladimir Michl <Vladimir.Michl@upol.cz>.

	* grp/putgrent.c (putgrent): Don't insert extra colon.
	Patch by Michael Schaefer <michael.schaefer@dlr.de>.

	* nss/nss_files/files-XXX.c (internal_getent): Make sure the buffer has
	at least two bytes (not one).  Correct buflen parameter type.
	* nss/nss_files/files-alias.c (get_next_alias): Make sure buffer
	has at least two bytes.  Use fgets_unlocked instead of fgets.

	* ctype/ctype.h: Don't user __tolower directly for tolower
	implementation.  Use inline function which tests for the range
	first.  Make _tolower equivalent to old tolower macros.
	Likewise for toupper.
	* ctype/ctype.c: Change tolower/toupper definition accordingly.

	* argp/argp-help.c: Use _tolower instead of tolower if possible.
	* inet/ether_aton_r.c: Likewise.
	* inet/ether_line.c: Likewise.
	* inet/rcmd.c: Likewise.
	* intl/l10nflist.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nis/nss_nis/nis-alias.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* posix/regex.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* sysdeps/generic/strcasestr.c: Likewise.

	* math/bits/mathcalls.h: Fix typo.

1999-01-23  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/gnu/errlist.awk: Add comment.

1999-01-23  Ulrich Drepper  <drepper@cygnus.com>

	* csu/Versions: Add __register_frame_info_table.

1998-12-29  Geoff Keating  <geoffk@ozemail.com.au>

	* sunrpc/Versions: Include _authenticate, it's defined in a user
	header (in fact, it's the whole contents of rpc/svc_auth.h).

1999-01-23  Ulrich Drepper  <drepper@cygnus.com>

	* io/ftw.c (process_entry): Initialize flag since not all gcc
	versions are smart enough to see that this is no problem.

	* elf/dl-open.c (_dl_init_paths): Check malloc result.

	* csu/Versions: Add __frame_state_for.

1999-01-22  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/gnu/errlist.awk: Mark ENOTSUP as alias for EOPNOTSUPP.

	* iconv/gconv_conf.c (add_alias): Convert names to uppercase before
	adding into search tree.
	(add_module): Likewise.
	* iconv/iconv_open.c: Likewise.
	* iconv/gconv_db.c: Change all __strcasecmp to strcmp.
	* iconv/skeleton.c (gconv_init): Likewise.

1999-01-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/Makefile: Make dependencies between test modules explicit.
	(preloadtest-preloads): New variable.
	($(objpfx)preloadtest.out): Use it.
	(preloadtest-ENV): Use it.

1999-01-22  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/arm/Dist: Undo last change.  Not needed.

1999-01-22  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Depend on
	$(common-objpfx)errnos.d.

	* sysdeps/mach/hurd/Makefile: Fix errnos.h -> bits/errno.h in rules.

	* manual/errno.texi (Error Codes): Fix ENOSYS description.
	Add ENOTSUP.

1999-01-21  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile: Add missing dependency for preloadtest binary.

1999-01-21  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.111.

	* elf/Makefile (distribute): Add test module sources.

	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Pretty print.
	* sysdeps/unix/sysv/linux/Dist: Remove sys/sysmacros.h.
	* sysdeps/unix/sysv/linux/Makefile: Remove sys/sysmacros.h.
	* posix/Makefile (headers): Add sys/sysmacros.h.
	* posix/sys/types.h: Include sys/sysmacros.h for __USE_BSD.
	* sysdeps/generic/sys/sysmacros.h: New file.
	* sysdeps/mach/hurd/xmknod.c: Include sys/types.h and remove minor and
	major definition.

	* elf/dl-close.c: Rewrite the way adding to the global scope works
	to handle error cases better than the last change.
	The l_global flag is now only set when the object is actually
	counted in the global scope list.
	* elf/dl-deps.c: Likewise.
	* elf/dl-open.c: Likewise.

1999-01-20  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/sigaction.c: New file.

	* sysdeps/unix/sysv/linux/arm/vfork.S: New file.
	* sysdeps/unix/sysv/linux/arm/Dist: Add vfork.S.

	* sysdeps/unix/sysv/linux/arm/clone.S: Optimise a little, support
	26-bit machines correctly and fix check for returned errors.

1999-01-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/clone.S: Micro-optimization.

	* sysdeps/unix/sysv/linux/i386/vfork.S: Add back the first
	implementation now that the syscall is back in 2.2.0.

	* elf/Makefile: Change rule to make test module so that they are
	compiled using -fPIC.
	* elf/testobj1.c: Add missing prototype.
	* elf/testobj1_1.c: Likewise.
	* elf/testobj2.c: Likewise.
	* elf/testobj3.c: Likewise.
	* elf/testobj4.c: Likewise.
	* elf/testobj5.c: Likewise.
	* elf/testobj6.c: Likewise.

1999-01-20  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (tests): Add loadfail.
	Add rules to build failobj.so.
	* elf/loadfail.c: New file.  Test of failing to load object with
	RTLD_GLOBAL set.
	* elf/failobj.c: New file.  Object which will fail to load.

	* elf/dl-close.c (_dl_close): Fix last patch (cnt is unsigned).

	* elf/dl-close.c: Handle failed loads which would have gone in the
	global scope correctly.

	* elf/testobj1.c: Include stdlib.h to get NULL defined.
	* elf/testobj2.c: Likewise.
	* elf/testobj3.c: Likewise.
	* elf/testobj4.c: Likewise.
	* elf/testobj5.c: Likewise.

	* iconvdata/Makefile (modules): Add SAMI-WS2 and ISO-IR-197.
	* iconvdata/gconv-modules: Add entries for above charsets.
	* iconvdata/iso-ir-197.c: New file.
	* iconvdata/sami-ws2.c: New file.

	* sysdeps/unix/sysv/linux/vfork.c: Once again use generic version.

1999-01-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.d): Fix
	generation of dependency list to make it work with newer versions
	of gcc.

1999-01-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules (build-module): New macro, moved from...
	* elf/Makefile (build-module): ... here.
	* iconvdata/Makefile (build-module): ... and here.

1999-01-20  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/alpha/Versions: Add __atan2 for libm and GLIBC_2.0.

	* elf/Makefile (tests): Add preloadtest.  Add rules to build more test
	modules and the preloadtest binary.
	* elf/loadtest.c (TEST_ROUNDS): Increase to 1000.
	(testobjs): Add more modules.
	(tests): Add entries for new modules.
	* elf/preloadtest.c: New file.  Test for LD_PRELOAD.
	* elf/testobj1.c: Add 'preload' function.
	* elf/testobj2.c: Likewise.
	* elf/testobj3.c: Likewise.
	* elf/testobj4.c: New file.
	* elf/testobj5.c: New file.
	* elf/testobj6.c: New file.

1999-01-19  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-object.c (_dl_new_object): Micro-optimization.

	* elf/restest1.c: New file.  Symbol resolution test.
	* elf/testobj1_1.c: New file.  Module used in this test.
	* elf/Makefile: Add rules for restest1 generation and execution.

	* elf/dl-object.c (_dl_new_object): l_local_scope really gets
	assigned the local scope.

	* posix/test-vfork.c (main): Improve test to check for correct
	exit code.

	* sysdeps/unix/sysv/linux/i386/vfork.S: Rewrite to use clone.

	* sysdeps/unix/sysv/linux/bits/sched.h: Define CLONE_VFORK.

	* timezone/zdump.c: Update from tzcode1999a.
	* timezone/zic.c: Likewise.

1999-01-19  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/tgmath.h: Rename nextafterx to nexttoward.

1999-01-19  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Add baud rates >
	460800.
	* sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.

	* math/Makefile (libm-calls): Rename s_nextafterx to s_nexttoward.
	* math/Versions: Likewise.
	* math/bits/mathcalls.h: Likewise.
	* manual/arith.texi: Likewise.
	* sysdeps/libm-ieee754/s_nextafterl.c: Likewise.
	* sysdeps/libm-ieee754/s_nextafterx.c: Replaced by...
	* sysdeps/libm-ieee754/s_nexttoward.c: New file.
	* sysdeps/libm-ieee754/s_nextafterxf.c: Replaced by...
	* sysdeps/libm-ieee754/s_nexttowardf.c: New file.
	* sysdeps/libm-ieee754/s_nextafterxl.c: Replaced by...
	* sysdeps/libm-ieee754/s_nexttowardl.c: New file.

	* time/Makefile (routines): Removed strfxtime.
	* time/Versions: Likewise.
	* time/strfxtime.c: Removed.
	* time/time.h: Remove _LOCALTIME, _NO_LEAP_SECONDS, struct tmx,
	mkxtime, and strfxtime.

1999-01-18  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv_conf.c (add_module): Complete rewrite.  Use cleverer
	data structures and avoid creating intermediate representations
	first.  Rewrite also all helper functions.
	* iconv/gconv_db.c (find_derivation): Use new data structure for
	module database.
	* iconv/Versions: Remove __gconv_nmodules.
	* iconv/iconv_prog.c: Rewrite generation of charset name list to
	use new data structure.
	* iconv/gconv_int.h (struct gconv_module): Add new elements for
	database data structure.
	(__gconv_modules_db): Update type.
	(__gconv_transform_dummy): Removed.
	* iconv/gconv_builtin.h: Remove dummy transformation.
	* iconv/gconv_simple.c: Remove __gconv_transform_dummy.

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove
	__syscall_vfork, add vfork.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

1999-01-18  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/test-vfork.c: Include <sys/wait.h> for wait declaration.

1999-01-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/ctype.texi: Fix cross refs and typos.
	* manual/charset.texi: Likewise.

1999-01-18  Ulrich Drepper  <drepper@cygnus.com>

	* Rules: Add dummy.c and dummy.o to common-generated.
	Patch by Andreas Schwab.

1999-01-18 10:07 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* manual/libc-texinfo.sh: Use tsort.awk.
	* manual/tsort.awk: New file.
	* manual/Makefile (minimal-dist): Add tsort.awk.
	(distribute): Remove generated files: summary.texi,
	stamp-summary, chapters.texi, top-menu.texi, and texis.

1999-01-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/vfork.S: Test return value after
	fork syscall.

1999-01-17  Ulrich Drepper  <drepper@cygnus.com>

	* wctype/wcfuncs.c: Declare __ctype32_b.

	* elf/Makefile (test-modules): Add test-modules.

	* stdlib/canonicalize.c (canonicalize): Update write pointer after
	realloc.  Minor optimizations.

1999-01-16  Ulrich Drepper  <drepper@cygnus.com>

	* po/no.po: Update from norwegian translation team.

	* iconvdata/iso-2022-jp.c: Correct handling of G2 set.
	Patch by Shinya Hanataka <hanataka@abyss.rim.or.jp>.

	* elf/Makefile (tests): Add loadtest.
	Add rules to generate test modules.
	* Makeconfig (+link): Add $(LDFLAGS-$(@F)) to command line.
	* elf/loadtest.c: New file.
	* elf/testobj1.c: New file.
	* elf/testobj2.c: New file.
	* elf/testobj3.c: New file.

	* elf/dl-close.c: Correct removing module from global list.

	* elf/dl-open.c: Add debugging code.

	* include/string.h: Add __rawmemchr prototype.
	* string/Makefile (routines): Add rawmemchr.
	* string/Versions [GLIBC_2.1]: Add __rawmemchr and rawmemchr.
	* string/string.h: Add prototype for rawmemchr.
	* string/bits/string2.h: Optimize strchr with rawmemchr.
	* sysdeps/generic/rawmemchr.c: New file.
	* sysdeps/i386/rawmemchr.c: New file.
	* sysdeps/i386/i486/bits/string.h: Add rawmemchr inline code.
	Optimize strchr with rawmemchr.

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _LFS_LARGEFILE,
	_LFS64_LARGEFILE, and _LFS64_STDIO for Unix98.

1999-01-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nis_error.c (nis_errlist): Fix capitilasation.

1999-01-15  Ulrich Drepper  <drepper@cygnus.com>

	* posix/Makefile (tests): Add test-vfork.
	* posix/test-vfork.c: New file by Andreas Schwab.

	* manual/charset.texi: More misspelling fixes.
	Reported by Tom Tromey <tromey@cygnus.com>.
	Improve mbsinit example.

	* sysdeps/unix/sysv/linux/vfork.c: Removed.
	* sysdeps/unix/sysv/linux/i386/vfork.S: New file.

1999-01-14  Ulrich Drepper  <drepper@cygnus.com>

	* Make-dist: If file is generated but still distributed the later
	is correct.

	* sysdeps/unix/sysv/linux/arm/Dist: Add sys/user.h.

	* manual/Makefile (examples): Filter out the example code from
	add-ons.

	* version.h (VERSION): Bump to 2.0.110.

	* nis/nis_error.c (nis_errlist): Fix typo in string.

	* misc/regexp.h: Add restrict to function declarations.

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

	Patche by Ralf Baechle <ralf@gnu.org>:
	* sysdeps/mips/sys/regdef.h: New file, enhanced versions of
	deleted linux specific files.

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

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: New file.

1999-01-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* misc/regexp.h (compile): Correct end-of-line check, fix typo in
	docu.  Reported by Kalle Olavi Niemitalo <kalle@Niemitalo.fi>.

1999-01-14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add vfork.
	Patch by Richard Henderson <rth@twiddle.net>.

1999-01-13  Ulrich Drepper  <drepper@cygnus.com>

	* manual/nss.texi (NSS Module Interface): Document requirement on errno
	value after unsuccessful call of module function.

	* sysdeps/unix/sysv/linux/syscalls.list: Add __syscall_fork alias.
	* sysdeps/unix/sysv/linux/vfork.c: Use vfork syscall if available,
	otherwise use fork.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add vfork.
	* sysdeps/unix/sysv/linux/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc64/syscalls.list: Likewise.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Correct handling of
	INLINE_SYSCALL for syscall without parameters.

1999-01-13  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/make-syscalls.sh: Set shared-only-routines for
	versioned syscalls.

	* Rules: Remove rules for empty.* again.

1999-01-13  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/vfork.S: New file.

1999-01-13  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/bits/string.h: Correct several bugs in various
	functions which never worked.
	Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.

1999-01-12  Ulrich Drepper  <drepper@cygnus.com>

	* manual/charset.texi: Add many corrections.
	Patch by Benjamin Kosnik <bkoz@cygnus.com>.

1999-01-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/charset.texi: Fix some typos.

1999-01-12  Ulrich Drepper  <drepper@cygnus.com>

	* login/programs/pt_chown.c (main): Update copyright year.

1999-01-11  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/tempname.c: Open files with mode 0600.

	* ctype/Versions [GLIBC_2.0]: Export __ctype32_b.
	* include/wctype.h: Declare __iswctype.
	* stdio-common/vfscanf.c (__vfscanf): Use __iswspace instead of
	iswspace.
	* wctype/Makefile (routines): Add wcextra_l.
	* wctype/wcextra.c (iswblank): Implement function here and don't use
	__iswctype.
	(__iswblank_l):  Move definition to...
	* wctype/wcextra_l.c: ...here.  New file.
	* wctype/wcfuncs.c: Really implement functions and don't call
	__iswctype or __towctrans.
	* wctype/wctype.h: Change isw* and tow* macros.  Don't call
	__iswctype or __towctrans.  Instead optimize constant argument case.

	* iconv/gconv.h: Fix typos.

	* iconv/skeleton.c: Fix typos.  Optimize init function a bit.
	Correctly emit escape sequence to return to initial state in
	conversion function.

	* iconvdata/iso-2022-jp.c (gconv_init): Correctly initialize
	max_needed_to element.

	* manual/mbyte.texi: Removed.  This is now described in charset.texi.
	* manual/charset.texi: New file.
	* manual/Makefile (chapters): Replace mbyte by charset.
	* manual/ctype.texi: Document wide character functions.
	* manual/intro.texi: Fix reference to mbyte chapter.
	* manual/lang.texi: Likewise.
	* manual/locale.texi: Likewise.
	* manual/stdio.texi: Likewise.
	* manual/string.texi: Fix @node line for new charset chapter.
	* manual/libc.texinfo (UPDATED): Updated.  Also update copyright years.
	* manual/memory.texi (savestring): Optimize code to give a good
	example.

	* manual/filesys.texi: Fix wording.  Patches by Jim Meyering.

	* nscd/nscd_getgr_r.c: Include stdint.h to get uintptr_t definition.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd_gethst_r.c: Likewise.

	* stdlib/stdtold_l.c: Always include xlocale.h.

1999-01-11  Geoffrey Keating  <geoffk@ozemail.com.au>

	* stdlib/fpioconst.h (LDBL_MAX_10_EXP_LOG): Define to be same as
	DBL_MAX_10_EXP_LOG if there is no long double.
	(_fpioconst_pow10): Always use size as LDBL_MAX_10_EXP_LOG to match
	printf_fp.c.

1999-01-10  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* timezone/Makefile ($(testdata)/GB): Changed to ...
	($(testdata)/Europe/London): ... for tst-timezone test.
	($(objpfx)tst-timezone.out): Change GB to Europe/London.

	* timezone/tst-timezone.c (main): Enable DST switching test,
	change GB to Europe/London.

1999-01-10  Philip Blundell  <philb@gnu.org>

	* socket/Makefile (headers): Remove bits/sockunion.h.

1999-01-09  Philip Blundell  <philb@gnu.org>

	* socket/sys/socket.h: Don't include <bits/sockunion.h>.
	* sysdeps/generic/bits/sockunion.h: Deleted.
	* sysdeps/unix/sysv/linux/bits/sockunion.h: Likewise.

1999-01-08  H.J. Lu  <hjl@gnu.org>

	* io/fts.c (fts_close): Don't access memory after having it freed.

1998-01-08  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/Makefile (stamp-summary): Remove space after -t option
	for compatibility with non-GNU sort programs.

1999-01-08  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/search.texi (Comparison Functions): Fix compare_doubles
	example.

1999-01-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules (do-tests-clean): Remove reference to obsolete
	variable tests-static.

1999-01-07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/ntp_adjtime.c: Removed.  It's an alias
	for adjtimex.
	* sysdeps/unix/sysv/linux/Dist: Add ntp_gettime.c.
	* sysdeps/unix/sysv/linux/Makefile [subdir=time] (sysdep_routines):
	Remove ntp_adjtime.
	* sysdeps/unix/sysv/linux/syscalls.list: Add alias ntp_adjtime to
	adjtimex.
	* sysdeps/unix/sysv/linux/sys/timex.h: Correct prototype for
	ntp_adjtime.

	* sysdeps/i386/i686/mempcpy.S: Fix typos.

	* sysdeps/i386/i686/memset.S: New file.
	* sysdeps/i386/i686/bzero.S: New file.
	* sysdeps/i386/i686/strcmp.S: New file.
	* sysdeps/i386/i686/memcpy.S: New file.

	* sysdeps/unix/sysv/linux/Makefile [subdir=time] (sysdep_routines):
	Add ntp_adjtime and ntp_gettime.
	* sysdeps/unix/sysv/linux/Versions [GLIBC_2.1]: Add ntp_adjtime and
	ntp_gettime.

1998-12-29  Ulrich Windl  <Ulrich.Windl@rz.uni-regensburg.de>

	* manual/time.texi (Precision Time): Add documentation for
	ntp_gettime and ntp_adjtime.

1998-12-28  Ulrich Windl  <Ulrich.Windl@rz.uni-regensburg.de>

	* sysdeps/unix/sysv/linux/ntp_gettime.c: Created new file

	* sysdeps/unix/sysv/linux/ntp_adjtime.c: Created new file

	* sysdeps/unix/sysv/linux/sys/timex.h (struct ntptimeval): Added.
	Add prototypes for ntp_adjtime and ntp_gettime.

1999-01-07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/bits/select.h (__FD_ZERO): Remove early clobbers
	from c and D register output.

1999-01-07  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Fix bug in last change.

1999-01-07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Correct type for
	__fsfilcnt_t.  Patch by Bruce Elliott <bde@nwlink.com>.

1999-01-05  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/conf.texi: Remove pointers from first @node.  Move old
	@node spec inside comment.
	* manual/lang.texi: Likewise.
	* manual/libc-texinfo.sh: Also find `@node.*Top' in a comment.
	* manual/stdio.texi: Fix typo.

1999-01-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* wcsmbs/btowc.c: Accept all values in the range [SCHAR_MIN
	.. UCHAR_MAX].  Local var buf renamed to result and its type
	changed from char[] to wchar_t to get proper alignment.

	* posix/fnmatch.c: Also cast the arguments of the other ctype
	functions to unsigned char.

1999-01-07  Ulrich Drepper  <drepper@cygnus.com>

	* Rules: Add rules for empty.{o,os,op} back.

1999-01-05  Ulrich Drepper  <drepper@cygnus.com>

	* Makerules (common-mostlyclean): Add missing parentheses.

	* Rules: Add back rules for empty.o generation.

1999-01-05  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/net/if_arp.h: Add new ARPHRD definitions
	from latest (2.2.0pre4) kernel.

1999-01-05  Scott Bambrough  <scottb@corelcomputer.com>

	* sysdeps/unix/sysv/linux/arm/sys/user.h : New file.  Fixes problem
	on ARM platforms with programs that include <sys/user.h> and
	<sys/ptrace.h>.  Solution suggested by Geoff Keating earlier with
	fix for same problem on the PowerPC platform.

1999-01-04  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/register-dump.h: Correct widths of
	register values.
	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: New file.

1999-01-04  Ulrich Drepper  <drepper@cygnus.com>

	* csu/version.c (banner): Update date.
	* catgets/gencat.c: Update year in copyright message text.
	* db2/makedb.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* login/programs/utmpd.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* nscd/nscd.c: Likewise.
	* nss/getent.c: Likewise.
	* posix/getconf.c: Likewise.

1999-01-02  Philip Blundell  <philb@gnu.org>

	* sunrpc/Makefile: Ensure that we really use the right path for cpp.

1999-01-03  Philip Blundell  <philb@gnu.org>

	* Makefile (tests-clean): New target to delete test output files.
	* Makerules (do-tests-clean): New rule to support the above.
	* Rules (subdir_testclean): Likewise.

1999-01-03  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconv/Makefile: Use install-others instead of explicit
	dependency on subdir_install.

1999-01-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconv/gconv_db.c (find_derivation): Release lock before
	returning.
	(__gconv_find_transform): Likewise.

1999-01-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* inet/ether_ntoa.c (ether_ntoa): Make `asc' static since that's
	what we return.

1999-01-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules: Remove all references to obsolete variables
	tests-static and test-srcs-static.
	* Make-dist: Likewise.
	* Rules: Likewise.  Remove rules to generate obsolete empty.{c,o*}.

1999-01-03  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/pread.c: Use the i386 implementation.
	* sysdeps/unix/sysv/linux/arm/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/pwrite64.c: Likewise.

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

	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Reorder expression
	to avoid accessing global data in the usual case.

1999-01-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* wcsmbs/wcstold_l.c: Correct last patch to include wchar.h from
	system path.

1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/Makefile: Use rpath $ORIGIN for modules which use any of
	the conversion libraries.

	* include/features.h: Mention latest extensions in _POSIX_C_SOURCE
	description.

	* libio/genops.c (list_all_lock): New variable.
	(_IO_un_link, _IO_link_in): Acquire lock before modifying _IO_list_all.
	[PR libc/911].

	* sysdeps/i386/i686/strtok.s: Add missing cld.

	* sysdeps/i386/i686/mempcpy.S: New file.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	Suppress parentheses warnings:
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(DL_FIND_ARG_COMPONENTS): here,
	* sysdeps/powerpc/dl-machine.c: here,
	* sysdeps/powerpc/fclrexcpt.c (feclearexcept): here,
	* sysdeps/powerpc/fesetround.c (fesetround): here,
	* sysdeps/powerpc/feupdateenv.c (feupdateenv): here,
	* sysdeps/powerpc/fraiseexcpt.c (feraiseexcept): here,
	* sysdeps/powerpc/fsetexcptflg.c (fesetexceptflag): here,
	* sysdeps/powerpc/s_rint.c (__rint): here,
	* sysdeps/powerpc/s_rintf.c (__rintf): here,
	* sysdeps/powerpc/w_sqrt.c (__sqrt): here,
	* sysdeps/powerpc/w_sqrtf.c (__sqrtf): and here.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* wcsmbs/wcstold.c [__NO_LONG_DOUBLE_MATH]: Include wchar.h.
	* wcsmbs/wcstold_l.c [__NO_LONG_DOUBLE_MATH]: Likewise.  Also define
	appropropriate prototypes, correct procedure names.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/generic/crypt-entry.c: Prototype __crypt_r, suppress
	warning.
	(__crypt_r): Add __restrict.
	* sysdeps/generic/crypt.h: Remove internal routine.  Add __restrict.

1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/longlong.h: Add missing #else in SPARC definitions.

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

	Patches by Ralf Baechle <ralf@gnu.org>:
	* sysdeps/unix/sysv/linux/mips/sgidefs.h: Removed.
	* sysdeps/unix/sysv/linux/mips/sys/asm.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/fpregdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/fpregdef.h: Removed.

	* sysdeps/unix/sysv/linux/mips/Makefile: Remove delete files.
	* sysdeps/unix/sysv/linux/mips/Dist: Remove deleted files.

	* sysdeps/mips/sys/fpregdef.h: New files, enhanced versions of deleted
	linux specific files.
	* sysdeps/mips/sys/asm.h: Likewise.
	* sysdeps/mips/sgidefs.h: Likewise.
	* sysdeps/mips/fpregdef.h: Likewise.
	* sysdeps/mips/regdef.h: Likewise.

	* sysdeps/mips/Makefile: Add new headers.
	* sysdeps/mips/Dist: Add new files.

	* sysdeps/mips/fpu_control.h (_FPU_DEFAULT): Change value.

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

	* iconvdata/Makefile: Remove variable assignments and rules that
	are now auto-generated.  Include $(objpfx)iconv-rules instead.
	Btw, that removes a few typos.
	(charmaps): New variable.
	($(objpfx)iconv-rules): New target.
	(gen-8bit-modules): Renamed from sed-generated-headers, remove .h
	suffixes.
	(gen-8bit-gap-modules): Renamed from awk-generated-headers, remove
	.h suffixes.
	(gen-special-modules): New variable.
	(generated-modules): New variable.
	(headers): Use it.
	(before-compile): Likewise.
	(generated): Likewise, and add iconv-rules.
	* iconvdata/euc-cn.c: Renamed from euccn.c.
	* iconvdata/euc-jp.c: Renamed from eucjp.c.
	* iconvdata/euc-kr.c: Renamed from euckr.c.
	* iconvdata/euc-tw.c: Renamed from euctw.c.
	* iconvdata/iso_6937.c: Renamed from iso6937.c.
	* iconvdata/iso_6937-2.c: Renamed from iso6937-2.c.
	* iconvdata/t.61.c: Renamed from t61.c.
	* iconvdata/Makefile (distribute): Adjusted for those renames.
	Remove $(objpfx) from names.

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

	* sysdeps/generic/hp-timing.h: Fix comment.
	* sysdeps/generic/dl-hash.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.

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

	* posix/fnmatch.c (fnmatch): Always pass unsigned char values to
	FOLD macro.

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

	* nss/db-Makefile ($(VAR_DB)/shadow.db): Fix last change.

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

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Sync with
	current Linux 2.1.132 kernel sources.

1998-12-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Patches by Ralf Baechle <ralf@gnu.org> for Linux/MIPS:
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Add ipc, change
	pread/pwrite and llseek calls.

	* sysdeps/unix/sysv/linux/mips/sysdep.S: New file.

1998-12-29  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/thread-m.h [_LIBC] : Fix for NO_THREADS case.

1998-12-28  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.109.

	* Makefile (distribute): Add INTERFACE and CONFORMANCE.
	* elf/Makefile (distribute): Add hp-timing.h.
	* sysdeps/i386/i686/Dist: New file.

	* mach/Versions: Add mach_msg_send and mach_msg_receive.
	Patch by UCHIYAMA Yasushi <uch@nop.or.jp>.

	* sysdeps/unix/sysv/linux/netipx/ipx.h (SIOCIPXNCPCONN): New macro
	from latest kernel.

	* stdlib/fpioconst.c: If __NO_LONG_DOUBLE_MATH don't define constants
	beyond range of double.
	* stdlib/fpioconst.h (_fpioconst_pow10): Reduce size according to
	fpioconst.c change.
	* stdlib/strtold.c: Fall back on double functions if
	__NO_LONG_DOUBLE_MATH.
	* stdlib/strtold_l.c: Likewise.
	* wcsmbs/wcstold.c: Likewise.
	* wcsmbs/wcstold_l.c: Likewise.
	* sysdeps/ieee754/ldbl2mpn.c: Don't generate code if
	__NO_LONG_DOUBLE_MATH.
	* sysdeps/ieee754/mpn2ldbl.c: Likewise.

1998-12-28  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/bits/endian.h: Use #warning, not #error, if
	the endianness can't be determined, for makedepend.

1998-12-27  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c (_dl_num_relocations): New variable.
	(do_lookup): Increment _dl_num_relocations for every call.
	* elf/rtld.c (print_statistics): New function.
	(_dl_debug_statistics): New variable.  Set when statistics are asked
	for.
	(rtld_total_time, relocate_time, load_time): New variables.  Used
	in print_statistics.
	(_dl_start): Record start and end time of startup.  Call
	print_statistics if needed.
	(dk_main): Record times for relocations and loading.
	(process_dl_debug): Recognize statistics.

	Low-level, low-overhead, high-precision timing functionality.
	* sysdeps/generic/hp-timing.h: New file.
	* sysdeps/i386/i686/Makefile: New file.
	* sysdeps/i386/i686/hp-timing.h: New file.
	* sysdeps/i386/i686/hp-timing.c: New file.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Reverse order of OR
	clauses to avoid accessing global variables during rtld relocation.

	* sunrpc/rpc_main.c: Unify messages.

	* sysdeps/unix/sysv/linux/arm/Dist: Add ioperm.c and sys/io.h.

1998-12-27  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64):
	Remove __ from member names; rename __unused to f_spare.

1998-12-21  Mark Kettenis  <kettenis@phys.uva.nl>

	Implement fstatvfs and statvfs on the Hurd.
	* sysdeps/mach/hurd/bits/statfs.h: New file.
	* sysdeps/mach/hurd/bits/statvfs.h: New file.
	* sysdeps/mach/hurd/fstatvfs.c: New file.
	* sysdeps/mach/hurd/statvfs.c: New file.

	* sysdeps/generic/fstatfs64.c: Changed into stub.
	Moved previous contents to...
	* sysdeps/unix/sysv/linux/fstatfs64.c: ...here.
	* sysdeps/generic/fstatvfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
	* sysdeps/generic/statfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
	* sysdeps/generic/statvfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.

1998-12-25  Geoff Keating  <geoffk@ozemail.com.au>

	* crypt/sysdeps/unix/ufc-crypt.h: Use <stdint.h>.

	* crypt/configure: Delete the code dealing with building the add-on
	outside glibc, as this doesn't work.

1998-12-25  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-hash.h: Move to...
	* sysdeps/generic/dl-hash.h: ...here.  Correct parameter type (must
	be unsigned char).  Remove conditional from inner loop and rearrange
	binary operations (12-22% performance increase).
	* sysdeps/i386/i686/dl-hash.h: New file.  Another 10% faster than
	optimized generic version.

1998-12-23  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c (do_lookup): If looking up an unversioned symbol
	but the object file only contains versioned definitions than
	accept the definition if there is exactly one even if the version
	number is not the default version.  This helps dlsym() to find
	newly introduced symbols.

	* locale/programs/ld-collate.c: Unify messages and correct typos.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* manual/errno.texi: Likewise.
	* nis/nis_error.c: Likewise.
	* nis/nis_print.c: Likewise.
	* nis/nss_nisplus/nisplus-publickey.c: Likewise.
	* sunrpc/rpc_main.c: Likewise.

1998-12-20  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Add
	implementation.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Remove wrappers for
	now-inlined calls.

1998-12-22  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/ioperm.c: New file.
	Implementation of inb, outb etc for ARM systems.
	* sysdeps/unix/sysv/linux/arm/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Add appropriate
	entries for the above.

1998-12-21  Ulrich Drepper  <drepper@cygnus.com>

	* nss/db-Makefile (shadow.db): Create file with correct protections.
	Based on a patch by Joel Klecker <espy@debian.org>.

	* inet/gethstbynm_r.c: Remove NEED__RES definition since we do this
	anyway for digits_dots.c.
	* nss/getXXbyYY.c: Initialize _res before using digits_dots.c
	functions.
	* nss/getXXbyYY_r.c: Likewise.

1998-12-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sunrpc/key_call.c (getkeyserv_handle): Use __fcntl instead of
	fcntl.

1998-12-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* locale/weight.h (get_weight): Extract string elements as
	unsigned values.

1998-12-06  Mark Kettenis  <kettenis@phys.uva.nl>

	Reverse the change of 1998-04-22.  Providing a struct dirent with
	different members when __USE_FILE_OFFSET64 is defined is asking
	for trouble.  Instead add the necessary LFS magic to the 4.4BSD
	header.
	* sysdeps/unix/bsd/bsd4.4/bits/dirent.h: Add LFS definitions.
	* sysdeps/mach/hurd/bits/dirent.h: Removed.
	* sysdeps/mach/hurd/readdir64.c: Removed.
	* sysdeps/mach/hurd/readdir64_r.c: Removed.

1998-12-20  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/bits/mman.h [__USE_MISC] (MAP_ANONYMOUS): Define as
	alias for MAP_ANON.

	* stdio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
	Remove decls.  They don't exist at all on the Hurd.

	* sunrpc/svc_unix.c, sunrpc/clnt_unix.c: Avoid using `struct cmsghdr'
	and `struct ucred' #ifndef SCM_CREDENTIALS.

	* sunrpc/publickey.c (getsecretkey): Use `&errno' instead of
	`__errno_location ()'; means the same, works for Hurd.

	* sysdeps/mach/hurd/Makefile (subdirs): Don't elide sunrpc.

1998-12-18  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Include
	features.h and stddef.h.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h (struct
	sigaltstack): Move ss_size field at the end.
	Patches by Jeff Bailey <jbailey@nisa.net>.

	* time/getdate.c (check_mday): tm_mon contains values from 0 to 11,
	not 1 to 12.

	* manual/texinfo.tex: Update to latest version.

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add ipc.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	Patch by Cristian Gafton <gafton@redhat.com>.

1998-12-17  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/gconv-modules: Add remaining aliases from Internet
	standards.

	* iconv/gconv_int.h (gconv_module): Add new element from_regex_mem.
	* iconv/gconv_conf.c (module_compare): Make s1 and s2 const.
	(detect_conflict): New function.
	(add_alias): Call detect_conflict to see whether there is already
	a module for the new name.
	(add_module): Make sure there is no alias for the new name.
	(read_conf_file): Call add_alias with new argument.
	(__gconv_read_conf): Don't destroy module tree immediately after
	walking it.  We need it to test the internal conversions for
	conflicts.
	* iconv/gconv_db.c (find_derivation): Don't allocate memory for
	regular expression.  There is now room in the module descriptor.
	(free_mem): Don't free memory for regular expression.

	* sysdeps/unix/sysv/linux/bits/socket.h: Add AF_IRDA, PF_IRDA and
	MSG_TRYHARD.

	* sunrpc/clnt_unix.c (clntunix_destroy): Use __close not close.
	* libio/oldtmpfile.c: Likewise.
	* libio/oldiofdopen.c: Use __fcntl instead fcntl.
	* sysdeps/posix/profil.c: Use __sigaction instead of sigaction.

	* iconvdata/iso646.c (gconv_init): Return correct error value if we
	run out of memory.
	* iconvdata/iso-2022-jp.c: Likewise.

	* iconv/gconv_db.c (gen_steps): Respect error return value from
	init functions and abort.

	* iconvdata/iso646.c: Recognize NF_Z_62-010_1973 as charset name.

1998-12-17  H.J. Lu  <hjl@gnu.org>

	* sunrpc/rpc/xdr.h (XDR_DESTROY): Add ';'.
	(xdr_destroy): Likewise.

1998-12-17  Ulrich Drepper  <drepper@cygnus.com>

	* login/login.c: Determine pts/3 as terminal name if path is
	/dev/pts/3.  This is consistent with getlogin.  [PR libc/906]

1998-12-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/posix/tempname.c (__path_search): Add casts for format
	string.

1998-12-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sunrpc/rpc/xdr.h (XDR_DESTROY, xdr_destroy): Avoid dangling else
	problem.
	(IXDR_PUT_INT32): Fully parenthesize parameters.
	(IXDR_GET_LONG, IXDR_PUT_LONG): Mark GCC extension.  Fully
	parenthesize parameter.

1998-12-16  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/gconv-modules: Add some of the charset name aliases
	used in Internet standards.

1998-12-16  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.107.

	* sysdeps/i386/i486/bits/string.h: Pretty printing.

1998-12-16  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/rpc/xdr.h: Revert patch from 1998-12-14, partly revert
	patch from 1998-12-01.

1998-12-16  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/bits/local_lim.h (SYMLOOP_MAX): Define this #ifdef
	__USE_BSD as well as #ifdef __USE_GNU, so MAXSYMLINKS can use it.
	Reported by UCHIYAMA Yasushi <uch@nop.or.jp>

1998-12-16  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/ibm866.c: New file.
	* iconvdata/cp1258.c: New file.
	* iconvdata/cp1258.h: New file.
	* iconvdata/mac-uk.c: New file.
	* iconvdata/gconv-modules: Add rules for new modules.
	* iconvdata/Makefile: Likewise.

	* sysdeps/gnu/bits/ipc.h: Move libc internal bits to...
	* include/bits/ipc.h: ..here.  New file.

1998-12-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Don't change
	read-only struct termios_p* but change k_termios member directly.

1998-12-15  H.J. Lu  <hjl@gnu.org>

	* sysdeps/posix/tempname.c (__path_search): Fix the maximum
	string length.

1998-12-15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/msgctl.c: Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/msgget.c: Likewise.
	* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
	* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
	* sysdeps/unix/sysv/linux/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/semget.c: Likewise.
	* sysdeps/unix/sysv/linux/semop.c: Likewise.
	* sysdeps/unix/sysv/linux/shmat.c: Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
	* sysdeps/unix/sysv/linux/shmget.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Remove ipc syscall here.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add ipc syscall here.

	* time/strftime.c: Remove 'f' format.

	* time/strptime.c (get_number): Ignore trailing whitespace.
	(strptime_internal): Handle 'F' and 'k' formats.

	* sysdeps/posix/tempname.c (__path_search): Add second part of the
	patch by Andreas Jaeger.

1998-12-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdio-common/tst-tmpnam.c (main): Use void as parameter to avoid
	warnings about unused args.  Fix comment.

1998-12-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/posix/tempname.c (__path_search): Correct last patch.

1998-12-14  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/rpc/xdr.h (IXDR_GET_INT32): Case pointer before reading from
	it.
	(IXDR_PUT_INT32): Likewise for writing.
	Patch by Bruce Elliott <bde@nwlink.com>.

1998-12-08  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Don't clear
	the IBAUD0 bit in c_iflag.

	* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Clear the
	the IBAUD0 bit in c_iflag.

1998-12-14  Ulrich Drepper  <drepper@cygnus.com>

	* time/Makefile (tests): Add tst-strptime.
	* time/tst-strptime.c: New file.
	* time/strptime.c: Correct bugs in weekday and yearday computation.

1998-12-14  Ulrich Drepper  <drepper@cygnus.com>

	* time/strptime.c (strptime_internal): Set tm_wday and tm_yday in
	any of tm_year, tm_mon, or tm_mday was changed and the value
	itself wasn't specified.

	* include/stdio.h: Add new parameter to __path_search.
	* libio/oldtmpfile.c: Add 0 as new parameter to __path_search.
	* stdio-common/tmpfile.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/tmpnam.c: Likewise.
	* stdio-common/tmpnam_r.c: Likewise.
	* stdio-common/tempnam.c: Add 1 as new parameter to __path_search.
	* sysdeps/posix/tempname.c: Add new parameter.  If value is nonzero
	consider TMPDIR environment variable and dir parameter.  Otherwise not.
	* stdio-common/Makefile (tests): Add tst-tmpnam.
	* stdio-common/tst-tmpnam.c: New file.

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

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

	* timezone/Makefile: Protect inclusion of z.* by avoid-generated
	and inhibit_timezone_rules instead of no_deps.
	* Make-dist: Pass inhibit_timezone_rules=t when making
	echo-distinfo.

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

	* manual/Makefile (distribute): Remove dir-add.texinfo.

	* sysdeps/unix/sysv/linux/powerpc/Dist: Add sys/procfs.h and
	sys/user.h.

1998-12-11  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/Makefile (stamp-summary): Use ^L as separator for
	sorting.
	* manual/arith.texi: Add comments before all @deffoox lines to get
	them added to the summary.
	* manual/creature.texi: Likewise.
	* manual/math.texi: Likewise.

1998-12-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: Remove macro ISINF.  Change all usages of
	ISINF to isinf.

1998-12-13  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/tempname.c: Use __xstat instead of __stat.
	* sysdeps/unix/grantpt.c: Likewise.
	* sysdeps/unix/sysv/linux/ptsname.c: Likewise.
	* sysvipc/ftok.c: Likewise.
	Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.

	* stdlib/test-canon.c: Define PATH_MAX if the system does not.
	* string/stratcliff.c: Use MAP_ANON instead of MAP_ANONYMOUS.
	Patch by UCHIYAMA Yasushi <uch@nop.or.jp>.

1998-12-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/alpha/fpu/fsetexcptflg.c: Avoid -Wparentheses warning.

	* sysdeps/libm-ieee754/s_expm1.c (__expm1): Avoid -Wparentheses
	warning.
	* sysdeps/libm-ieee754/s_log1p.c (__log1p): Likewise.
	* sysdeps/libm-ieee754/e_logf.c (__ieee754_logf): Likewise.
	* sysdeps/libm-ieee754/s_expm1f.c (__expm1f): Likewise.
	* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Likewise.
	* sysdeps/libm-ieee754/s_log1pf.c (__log1pf): Likewise.

1998-12-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sunrpc/svc_udp.c (svcudp_bufcreate): Declare len as socklen_t.
	(svcudp_recv): Likewise.

1998-12-13  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss-nisplus.h: Change some mappings of NIS+ errors to
	NSS error codes to avoid endless loops.

1998-12-13  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/gconv-modules: Correct aliases for ISO-8859-13 and add
	aliases for ISO-8859-14.

1998-12-12  Geoff Keating  <geoffk@ozemail.com.au>

	* posix/fnmatch.c (fnmatch): Arguments to FOLD must not have
	side-effects.

1998-12-12  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/iso-8859-11.h: ISO 8859-11 conversion data.
	* iconvdata/iso-8859-11.c: ISO 8859-11 conversion module.
	* iconvdata/iso-8859-13.c: Likewise for 8859-13.
	* iconvdata/iso-8859-14.c: Likewise for 8859-14.
	* iconvdata/iso-8859-15.c: Likewise for 8859-15.
	* iconvdata/gconv-modules: Add rules for new modules.
	* iconvdata/Makefile: Likewise.

1998-12-12  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/printf_fp.c: #ifdef out long double handling code if
	__NO_LONG_DOUBLE_MATH is defined to avoid warnings.
	* stdio-common/printf_fphex.c: Likewise.
	* stdio-common/printf-size.c: Likewise.

1998-12-12  Ulrich Drepper  <drepper@cygnus.com>

	* login/Makefile: Install pt_chown using INSTALL_PROGRAM.
	Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.

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

	* sysdeps/powerpc/dl-machine.h (elf_machine_matches_host): Mark
	static inline, not extern inline.
	(elf_machine_dynamic): Likewise.
	(elf_machine_lazy_rel): Likewise.
	(elf_machine_plt_value): Likewise.
	* sysdeps/powerpc/backtrace.c: Include stddef.h to get NULL
	definition.
	Patchess by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.

	* sysdeps/mips/dl-machine.h (elf_machine_rel): Fixl_addr parameter
	type.  Reported by job bogan <job@piquin.uchicago.edu>.

	* sysdeps/unix/opendir.c (__opendir): Use __xstat instead of
	__stat.

1998-12-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* inet/netinet/in.h: Change obsolete structure member
	ipv6mr_ifindex to new ipv6mr_interface.

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

	* sysdeps/ieee754/dbl2mpn.c: Changed '#include "ieee754.h"' to
	'#include <ieee754.h>'.  ARM port has its own version of 'ieee754.h'
	due to its big endian floating point format.
	* sysdeps/ieee754/ldbl2mpn.c: Likewise.
	* sysdeps/ieee754/mpn2dbl.c: Likewise.
	* sysdeps/ieee754/mpn2ldbl.c: Likewise.
	* sysdeps/ieee754/mpn2flt.c: Likewise.
	Patch by Scott Bambrough <scottb@corelcomputer.com>.

1998-12-10  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/adjtime.c: Undo last change.

	* posix/PTESTS: Fix typo.

	* po/es.po: Update from translation team.
	* po/fr.po: Likewise.

1998-12-10  Geoff Keating  <geoffk@ozemail.com.au>

	* crypt/sysdeps/unix/crypt-entry.c: Don't include "patchlevel.h".

	* crypt/sysdeps/unix/crypt.h: Move __crypt_r, __setkey_r,
	__encrypt_r to...
	* crypt/sysdeps/unix/crypt-private.h: ...here.

	* crypt/sysdeps/unix/crypt.h: Add __restrict to the structure
	parameters.
	* crypt/sysdeps/unix/crypt-private.h: Likewise.  Also add const to
	first parameter of _ufc_mk_keytab_r.
	* crypt/sysdeps/unix/crypt.c: Update prototypes.
	* crypt/sysdeps/unix/crypt-entry.c: Likewise.
	* crypt/sysdeps/unix/crypt_util.c: Likewise.

	* crypt/sysdeps/unix/crypt-entry.c (crypt): Use __crypt_r not crypt_r.

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

	* nis/nss_compat/compat-pwd.c: Fix handling of +/- entries.

1998-12-10  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/Makefile: Call rpcgen program which -Y parameter so that
	it can find the preprocessor.

1998-12-09  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/sys/procfs.h: Use sys/user.h not
	asm/user.h.
	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.

	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: New file,
	like linux/sys/procfs.h but uses uid_t and gid_t.
	* sysdeps/unix/sysv/linux/powerpc/sys/user.h: New file,
	don't include <linux/ptrace.h>.

1998-12-08  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* posix/runptests.c (main): Check that regcomp did not succeed
	unexpectedly.
	* posix/runtests.c (run_a_test): Likewise.  Return appropriate
	exit code.
	* posix/TESTS: Regexp "a[b-a]" should not compile.
	* posix/PTESTS: Comment out bogus tests GA113(2), GA145(2) and
	GA147(2).

1998-12-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* locale/programs/ld-ctype.c (allocate_arrays): Don't crash if
	there is no codeset name.
	* locale/programs/ld-collate.c (collate_output): Don't crash if a
	character has no weight.

1998-12-10  Ulrich Drepper  <drepper@cygnus.com>

	* inet/getnetgrent_r.c (innetgr): Check host and domain name with
	strcasecmp, not strcmp.  [PR libc/894].

1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/regex.h: Declare re_comp, re_exec if compiling for libc to
	get prototypes.

	* wctype/wctype.h: Add prototypes for __iswblank_l and iswblank.

1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/gethostid.c: Include <netdb.h> to get
	prototype for __gethostbyname_r.

	* include/time.h: Add declarations of internal interfaces.

	* time/tzset.c: Remove declarations of internal interfaces.
	* time/gmtime.c: Likewise.
	* time/localtime.c: Likewise.
	* time/offtime.c: Likewise.
	* time/tzfile.c: Likewise.

1998-12-01 09:47 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/unix/sysv/linux/sys/timex.h: Copy out
	user-space-relevant definitions from linux/timex.h of kernel
	2.1.130 and remove include of kernel header.

	* sysdeps/unix/sysv/linux/adjtime.c: Remove portability crud.

1998-12-08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* posix/regex.c: Get regex.h from system path, not from local
	directory.

	* posix/regex.h: Move internal interfaces to ...
	* include/regex.h: ...here.

	* posix/unistd.h: Move internal interfaces to ...
	* include/unistd.h: ...here.

	* math/math.h: Move internal interfaces to ...
	* include/math.h: ...here.

	* posix/glob.h: Move internal interfaces to ...
	* include/glob.h: ...here.

	* string/string.h: Move internal interfaces to ...
	* include/string.h: ...here.

	* time/sys/time.h: Move internal interfaces to ...
	* include/sys/time.h: ...here.

	* resolv/netdb.h: Move internal interfaces to ...
	* include/netdb.h: ...here.

1998-12-08  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/eucjp.c: Handle Yen in overscore conversion from ISO 10646
	correctly.
	* iconvdata/iso-2022-jp.c: Handle Kana in 2022-JP2 correctly
	Fix various bugs in conversion routine.
	* iconvdata/jis0201.h: Correct variable name.
	* iconvdata/jis0208.c: Correct script to generate tables and regenerate
	them.
	* iconvdata/jis0208.h: Likewise.
	* iconvdata/jis0212.c: Likewise.
	* iconvdata/sjis.c: Likewise.
	Patch by HANATAKA Shinya <hanataka@abyss.rim.or.jp>.

1998-12-07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/speed.c (IBAUD0): New definition.  Bit
	set in c_iflag if cfsetispeed is call with SPEED set to zero.
	(cfgetispeed): Return zero if prior if IBAUD0 is set.
	(cfsetospeed): Clear IBAUD0 bit.
	(cfgetispeed): Set IBAUD0 bit if necessary.
	* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Clear
	the IBAUD0 bit in c_iflag when making the system call.
	Work around a Linux kernel bug which silently changes the
	PARENB/CREAD/CSIZE bits in c_cflag on pty.
	* sysdeps/unix/sysv/linux/speed.c (cfsetispeed): Make a real
	function.  Don't set speed is SPEED parameter is zero since this
	means set it to the output speed.
	Based on a patch by H.J. Lu <hjl@gnu.org>.

	* version.h (VERSION): Bump to 2.0.106.

	* Makeconfig (link-libc-static): Don't use link-libc since this
	includes the shared object.  Use gnulib only.

	* configure.in: Disable --disable-static.

1998-12-07 12:06  Ulrich Drepper  <drepper@cygnus.com>

	* po/de.po: Update from translation team.
	* po/ko.po: Likewise.

1998-12-07  Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/select.S: Save a4 through
	both paths.

1998-12-05  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/pselect.c: New file.

	* sysdeps/mach/hurd/poll.c: New file.

	* hurd/Makefile (routines): Add hurdselect.
	* hurd/hurdselect.c: New file.
	(_hurd_select): New function, guts taken from ...
	* sysdeps/mach/hurd/select.c (__select): ... here.
	Now work by just calling _hurd_select.
	* hurd/hurd/fd.h: Declare _hurd_select.

1998-12-05  Roland McGrath  <roland@baalperazim.frob.com>

	* time/strptime.c: Fix unterminated comment in last change.

1998-12-05  Ulrich Drepper  <drepper@cygnus.com>

	* ctype/ctype.h (_ISbit): Protect use of parameter with
	parentheses.
	* wctype/wctype.h (_ISwbit): Likewise.

	* locale/Versions: Make experimental locale interface available in
	GLIBC_2.1.

	* sysdeps/gnu/bits/utmp.h (struct exit_status): Define members
	without leading __ only for __USE_GNU.
	* sysdeps/gnu/bits/utmpx.h (struct __exit_status): Likewise.

1998-12-04  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp.h: Add __restrict.
	* dirent/dirent.h: Likewise.
	* elf/dlfcn.h: Likewise.
	* grp/grp.h: Likewise.
	* iconv/iconv.h: Likewise.
	* inet/aliases.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/stdio.h: Likewise.
	* locale/locale.h: Likewise.
	* misc/mntent.h: Likewise.
	* posix/wordexp.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/netdb.h: Likewise.
	* rt/aio.h: Likewise.
	* stdio-common/printf.h: Likewise.
	* stdlib/monetary.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/envz.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.

1998-12-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* misc/sys/cdefs.h: Only include features.h if _FEATURES_H isn't
	defined.  gcc's redundant include optimizer isn't clever enough to
	prevent a reinclusion here.
	Define __restrict to the empty string only if not GCC or
	GCC version less than 2.92.

1998-12-03  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/configure.in: Fix last change.

1998-12-03  Mark Kettenis  <kettenis@phys.uva.nl>

	* time/strptime.c (strptime_internal): Make use of `%C' format
	specifier if it is seen together with the `%y' specifier.

1998-12-04  Ulrich Drepper  <drepper@cygnus.com>

	* po/sk.po: New file.

1998-12-03  Scott Bambrough  <scottb@corelcomputer.com>

	* sysdeps/arm/dl-machine.h (dl_start_user): Incorrect address
	for _dl_main_searchlist passed to _dl_init_next.

1998-12-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* math/libm-test.c: Expand literal tabs in strings.  Normalize
	whitespace.

1998-12-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/sys/fsuid.h: Fix spelling.

1998-12-04  Mark Kettenis  <kettenis@phys.uva.nl>

	Provide backwards binary compatibility for the Hurd.
	* hurd/geteuids.c [PIC && DO_VERSIONING]: Make __getuids a weak
	alias for geteuids.
	* hurd/Versions [GLIBC_2.0]: Add __getuids,
	__hurd_file_name_lookup and _hurd_umask.
	[GLIBC_2.1]: Add _hurd_proc_init.
	* hurd/Makefile [versioning] (routines): Add compat-20.
	(shared-only-routines): Likewise.
	* hurd/hurdinit.c (_hurd_new_proc_init): Renamed from
	_hurd_proc_init.  Use it as the default _hurd_proc_init version
	for GLIBC_2.1.
	* hurd/compat-20.c: New file.
	* mach/Versions [GLIBC_2.0]: Add __vm_allocate.

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

	* elf/elf.h: Add R_MIPS_JALR and adjust R_MIPS_NUM appropriately.

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

	* inet/Versions: Remove inet6_isipv4mapped.

1998-12-02  Philip Blundell  <pb@nexus.co.uk>

	* inet/in6_addr.c (inet6_isipv4mapped): Obsolete, deleted.

1998-11-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/time.texi (Formatting Date and Time): Fix typo.

1998-11-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/configure.in: Only check for symlinks
	when configuring natively.  Use autoconf macros instead of rolling
	our own.  Handle defaulted prefix.

1998-12-01  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.105.

	* sysdeps/generic/Dist: Add bits/libc-tsd.h.

	* sysdeps/mach/hurd/Dist: Add bits/libc-tsd.h.

	* sysdeps/unix/sysv/linux/mips/Dist: Add xstatconv.c.

1998-11-29 1998  H.J. Lu  <hjl@gnu.org>

	* libio/genops.c (_IO_unbuffer_write): Renamed from
	_IO_unbuffer_all.
	(_IO_cleanup): Call _IO_unbuffer_write instead of
	_IO_unbuffer_all.

1998-12-01  Ulrich Drepper  <drepper@cygnus.com>

	* intl/localealias.c: Use *_unlocked version of stdio function if
	_LIBC_REENTRANT is defined, not _LIBC.

1998-12-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* include/grp.h: Add prototypes for internal functions
	__getgrgid_r and __getgrnam_r.

	* inet/herrno.c: Include <netdb.h> for prototype, undef h_errno.

	* resolv/nsap_addr.c: Include <arpa/inet.h> for inet_nsap_addr and
	inet_nsap_ntoa prototypes.

1998-12-01  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Pass -I option
	to gcc to have it find the correct system header.
	Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.

	* Makefile (postclean): Add sysd-sorted.
	Reported by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.

1998-12-01  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/auth_des.c: Use new XDR int32 functions for integers.
	* sunrpc/rpc/xdr.h: Add IXDR INT32 functions.
	* sunrpc/rpc_hout.c: Remove (u_long) casts in defines to avoid
	conflicts with new solaris version.
	* sunrpc/rpc_main.c: Fix bug in generating Makefile name (malloc
	doesn't zero allocated memory).
	* sunrpc/rpc_svcout.c: Local variables now starts with a _ to avoid
	conflicts with xdr functions.  Solves PR libc/877.
	* nis/rpcsvc/nis.x: Use always uint32_t.
	* nis/rpcsvc/nis.h: Likewise.
	* nis/rpcsvc/nis_object.x: Likewise.

1998-12-01  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c: Various cleanups.  Patch by Zack Weinberg.

	* sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use correct type for
	parameter.  Patch by Christian Gafton.

	* string/envz.h: Add prototype for envz_remove.
	Reported by Andreas Jaeger.

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

	* mach/Versions [libc, GLIBC_2.0]: Add __spin_lock,
	__spin_lock_init,  __mutex_lock, __mutex_trylock,
	__mutex_unlock.
	Remove get_priviliged_ports.  Moved to hurd/Versions.

	* hurd/Versions [libc, GLIBC_2.0]: Add _end.  This makes the Hurd
	brk implementation see the end of the data segment of the program
	instead of the shared library.
	Add __hurd_errno_location.  This inline function is used in user
	programs.
	Add _hurd_critical_section_lock, _hurd_critical_section_unlock,
	_hurd_fd_get, _hurd_port_free, _hurd_port_get,
	_hurd_port_locked_get.  These inline functions are used by macros
	used in mail.local in the Hurd distribution.
	Add get_privileged_ports.  Moved here from mach/Versions.
	Remove __hurd_file_name_lookup,	__hurd_file_name_lookup_retry,
	__hurd_file_name_split, __hurd_file_name_path_lookup.  These are
	not used outside libc.

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

	* hurd/hurdstartup.c: Really include set-hooks.h with <> instead
	of "".

1998-11-29  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/Makefile: Add xdr_intXX_t to routines.
	* sunrpc/Versions: Add xdr_int8_t, xdr_uint8_t, xdr_in16_t and
	  xdr_uint16_t.
	* sunrpc/rpc/xdr.h: Add prototypes for new xdr_intXX_t functions.
	* sunrpc/xdr.c: Remove xdr_int32_t and xdr_uint32_t.
	* sunrpc/xdr_intXX_t.c: New, contains all xdr_intXX_t functions.

	* nis/Depend: New.
	* nis/nss_nis/nis-service.c: Include generated prototype for parser.

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

	* nscd/nscd_getpw_r.c: Include nscd_proto.h for prototypes.

	* sysdeps/generic/errno-loc.c: Include <errno.h> for prototype,
	undefine errno to get variable.

	* sysdeps/unix/sysv/linux/i386/setfsuid.c: Include <sys/fsuid.h>
	instead of <unistd.h> for prototype.
	* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.

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

	* misc/err.h: Correct comments and use protected attribute keywords.
	Reported by Joseph Myers <jsm28@cam.ac.uk>.

1998-11-29  Roland McGrath  <roland@baalperazim.frob.com>

	* malloc/thread-m.h [_LIBC]: Include <bits/libc-tsd.h>, and
	remove tsd stuff from pthreads/cthreads libc sections.
	Use __libc_tsd_define for MALLOC key.
	[_LIBC] (tsd_key_t, tsd_key_create): Define to a zero-size type and a
	no-op, respectively.
	[_LIBC] (tsd_setspecific, tsd_getspecific): Use __libc_tsd_get/set.

	* elf/dl-error.c: Include <bits/libc-tsd.h>.
	Use __libc_tsd_define for DL_ERROR key.
	(tsd_setspecific, tsd_getspecific): Rewritten using __libc_tsd_get/set.

	* sysdeps/mach/hurd/bits/libc-tsd.h: New file.
	* sysdeps/generic/bits/libc-tsd.h: New file.
	* Makefile (distribute): Add bits/libc-tsd.h.

1998-10-12  Roland McGrath  <roland@baalperazim.frob.com>

	* elf/dl-error.c: Remove kludge to check for ld.so load address.
	There is no need if weak undefined symbols are not used in ld.so;
	see linuxthreads/ChangeLog for changes to files
	linuxthreads/sysdeps/pthread/bits/libc-lock.h and
	linuxthreads/sysdeps/pthread/bits/libc-tsd.h.

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

	* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).

	* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
	inline functions.
	* sysdeps/i386/bits/string.h: Likewise.

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

	* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Remove ipc_kludge.

1998-11-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* db2/progs/db_load/db_load.c (main): Avoid -Wparentheses warning.

1998-09-12  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/dl-sysdep.c: Do not define
	__hurd_threadvar_max.  Add comment explaining why we define
	__hurd_threadvar_stack_offset and __hurd_threadvar_stack_mask here.

1998-07-29  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/dl-sysdep.c (__hurd_sigthread_stack_base,
	__hurd_sigthread_stack_end, __hurd_sigthread_variables): Define to
	prevent inclusion of Hurd signal handling code.
	(__libc_write): New function.
	(_dl_sysdep_output): Removed.  The implementation in
	`elf/dl-misc.c' now also works for the Hurd.

1998-09-12  Mark Kettenis  <kettenis@phys.uva.nl>

	* hurd/hurdstartup.c: Do not include hurdmalloc.h; _hurd_startup
	does not use any of malloc/realloc/free anymore.  Include
	set-hooks.h with <> instead of "".

1998-11-29  Roland McGrath  <roland@baalperazim.frob.com>

	* sunrpc/svc_unix.c (__msgread): Move ON local var inside block
	within #ifdef SO_PASSCRED.  Avoids unused var when no SO_PASSCRED.
	* sunrpc/clnt_unix.c (__msgread): Likewise.

1998-11-28  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/setuids.c: Renamed to ...
	* hurd/seteuids.c: this.
	(setuids): Renamed to seteuids.
	* hurd/getuids.c: Renamed to ...
	* hurd/geteuids.c: this.
	(__getuids): Renamed to geteuids, no aliases.
	* hurd/hurd.h (geteuids, seteuids): Declare them.
	* hurd/Versions: Replace getuids; __getuids with geteuids; seteuids.
	* hurd/Makefile (routines): Updated.

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

	* sysdeps/generic/segfault.c (install_handler): Correct test for
	SEGFAULT_HANDLER=all.
	Patch by Zack Weinberg.

1998-11-28 23:23 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/unix/sysv/linux/configure.in: Test for symlinks in
	$prefix/include that may be clobbered on installation.

1998-11-27  Philip Blundell  <pb@nexus.co.uk>

	Fixes to allow compilation with static NSS:
	* nss/Makefile: Make explicit the dependency of getent on
	libnss_files.a.
	[build_static_nss]: Define $(otherlibs) appropriately.
	* nss/Depend: Add a dependency on `resolv'.

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

	Partial support for MIPS ISO C 9x exception handling:
	* sysdeps/mips/fclrexcpt.c: New file.
	* sysdeps/mips/ftestexcept.c: New file.
	* sysdeps/mips/fgetexcptflg.c: New file.
	* sysdeps/mips/fesetround.c: New file.
	* sysdeps/mips/fegetround.c: New file.
	* sysdeps/mips/fegetenv.c: New file.
	* sysdeps/mips/fesetenv.c: New file.
	* sysdeps/mips/feupdateenv.c: Likewise.
	* sysdeps/mips/bits/fenv.h: New file.

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

	* sysdeps/unix/sysv/linux/mips/bits/signum.h: Remove inclusion of
	<asm/signal.h> and add needed symbols from <asm/signal.h>; bring
	in sync with linux specific version.

	Patches by Ralf Baechle <ralf@uni-koblenz.de> for mips-linux:

	* sysdeps/unix/mips/sysdep.S: Define _errno as weak_alias, rewrite
	errno declaration.

	* sysdeps/unix/sysv/linux/mips/ustat.c: Use INLINE_SYSCALL instead
	of calling __syscall_*.
	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.

	* sysdeps/unix/sysv/linux/mips/syscalls.list: Update entries.

	* sysdeps/unix/sysv/linux/mips/sys/syscall.h: Add missing SYS_*
	constants, correct values according to Linux 2.1.130.

	* sysdeps/unix/sysv/linux/mips/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/mips/pread.c: New file.
	* sysdeps/unix/sysv/linux/mips/pread64.c: New file.

	* sysdeps/mips/Makefile (sysdep_routines): Use += instead of a
	:=.

	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Remove ipc_kludge.

	* sysdeps/unix/sysv/linux/mips/xstatconv.c: New file.

	* sysdeps/unix/sysv/linux/mips/xstat.c: Removed.

	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: New file.

	* sysdeps/unix/sysv/linux/mips/kernel_termios.h: Add copyright
	message, change name of include protection, remove inclusion of
	<bits/termios.h>.

	* sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
	(old_kernel_sigaction): Define.
	(struct kernel_sigaction): Rename sa_handler to k_sa_handler.

	* sysdeps/unix/sysv/linux/mips/bits/time.h: Removed, we can use
	the general linux version.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h (_STAT_VER_KERNEL): Added.

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Update file.

1998-09-03  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big
	endian.
	* math/math_private.h: Use __FLOAT_WORD_ORDER rather than
	BYTE_ORDER.
	* string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by
	<bits/endian.h>, make it the same as __BYTE_ORDER.

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

	* math/math.h: Avoid using long double functions in generic macros
	if __NO_LONG_DOUBLE_MATH.

	* sysdeps/arm/dl-machine.h: Fix handling of weak undefined symbols
	during bootstrapping.
	* scripts/config.sub: Add Netwinder specific matches.
	Patch by Scott Bambrough <scottb@corelcomputer.com>.

1998-11-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables
	if possible.
	($(common-objpfx)sysd-sorted): Likewise.

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

	* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of
	local variables t1,t2 only if needed.

	* sysdeps/libm-ieee754/e_atan2.c: Added braces to avoid compiler
	warnings.
	* sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise.
	* sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise.

	* sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid
	warning.

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

	* math/math.h: Add brace to correct #if expression.

1998-11-26  Philip Blundell  <philb@gnu.org>

	Undo change of 1998-11-12:
	* sysdeps/unix/sysv/linux/netlink/netlink.h: Deleted.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
	netlink/netlink.h.
	* sysdeps/unix/sysv/linux/Dist: Likewise.

1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_print.c (nis_print_entry): Changes to match Solaris output.

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

	* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_PLT): New defined macro.
	(elf_machine_got_rel): Remove scope variable.  Use scope from the map.
	Don't modify _dl_global_scope_end in the end.
	(__dl_runtime_resolv): Also use scope from the map.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* elf/dl-runtime.c: Don't define fixup and profile_fixup if
	ELF_MACHINE_NO_PLT is defined.
	* sysdeps/mips/sys/ucontext.h: New file.
	Patches by kaz Kojima <kkojima@rr.iij4u.or.jp>.

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

	* sysdeps/generic/pselect.c (__pselect): Change interface,
	set/restore sigmask.

	* misc/sys/select.h: Change declaration according to Stevens' Unix
	Network Programming.
	* include/sys/select.h (__pselect): Likewise.
	Reported by <bwelling@anomaly.munge.com> [PR libc/872].

	* include/fpu_control.h: New file, contains __setfpucw
	declaration.

	* sysdeps/generic/fpu_control.h: Remove __setfpucw declaration,
	it's an internal symbol.
	* sysdeps/alpha/fpu/fpu_control.h: Likewise.
	* sysdeps/arm/fpu/fpu_control.h: Likewise.
	* sysdeps/i386/fpu_control.h: Likewise.
	* sysdeps/m68k/fpu_control.h: Likewise.
	* sysdeps/powerpc/fpu_control.h: Likewise.
	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Likewise.
	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise.

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

	* version.h (VERSION): Bump to 2.0.104.

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

	* libio/bits/stdio.h (fread_unlocked): Add missing parentheses
	around parameter n.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* time/tzfile.c (__tzfile_read): Fix comment.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules (build-shlib): Pass -O1 down to linker to get
	optimized shared libraries.

1998-11-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makeconfig ($(common-objpfx)sysd-dirs): Cope with no Subdirs
	file.  Strip "-" from inhibited subdir name.  Combine into a
	single awk program.
	($(common-objpfx)sysd-sorted): Fix sed command.

1998-11-25  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (init): Restored as inline fn.
	Use constant _HURD_THREADVARS_MAX for temporary array size.

	* Makeconfig ($(common-objpfx)sysd-sorted): Use @ instead of / as sed
	s separator, since $(..) might contain a /.

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

	* configure.in (mips): Fix typo (Replace ,, by ;;).

	* libio/Versions: Clean up entries.

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

	* sysdeps/i386/fpu/bits/mathinline.h: Add optimizations for lrint
	and llrint.

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

	* sysdeps/unix/sysv/linux/netinet/ip_fw.h: Removed.  There are too
	many differences between the Linux 2.0 and 2.1 versions of this
	file and it's too difficult to convert all calls.  The file should
	only be needed by the ipfw program which has to take care of the
	correct kernel version and include files.

	* sysdeps/unix/sysv/linux/Dist: Remove netinet/ip_fw.h.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Likewise.

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

	* Makeconfig: Don't read sysd-sorted unless sysd-dirs is read.
	Patch by Zack Weinberg.

	* math/bits/mathcalls.h: Adjust comments.  Remove gamma_r prototype.

	* sysdeps/i386/fpu/bits/mathinline.h: Make log2 only available if
	__USE_ISOC9X is defined.  Provide rint optimization.

1998-11-21  H.J. Lu  <hjl@gnu.org>

	* libio/Versions (_IO_popen, _IO_proc_open, _IO_proc_close,
	popen, pclose): Add to GLIBC_2.1.

	* libio/Makefile (routines): Add oldiopopen and oldpclose.
	(shared-only-routines): Likewise.

	* libio/pclose.c (pclose): Make it default for GLIBC_2.1.
	* libio/iopopen.c (_IO_proc_open, _IO_popen, popen,
	_IO_proc_close): Likewise.

	* libio/iolibio.h (_IO_new_popen, _IO_old_popen, __new_pclose,
	__old_pclose): New prototypes.

	* libio/libioP.h (_IO_new_file_jumps): Removed.
	(_IO_old_proc_jumps): Added.
	(_IO_new_proc_open, _IO_old_proc_open): New prototypes.

	* libio/oldiopopen.c: New file.

	* libio/oldpclose.c: New file.

1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nss/Makefile: Build and install getent.
	* nss/getent.c: New, get entries from administrative database.

1998-11-22  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (init): Provide temporary storage
	for the per-thread variables of the main user thread to make it
	possible to use malloc as soon as _hurd_preinit_hook has been run.
	For cthreads, copy values to new stack from there.
	For non-cthreads, malloc threadvar array here and copy from temp space.
	(init1): No longer initialize threadvars here.
	(doinit1): Made static void at top level.
	(init): Folded into [PIC] _init or [!PIC] doinit1, since GCC cannot
	inline a function that uses dynamic auto arrays.

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

	* version.h (VERSION): Bump to 2.0.103.

	* aclocal.m4 (LIBC_PROG_BINUTILS): Also add AR and RANLIB using the
	same method.
	* configure.in: Don't define AR and RANLIB here.

	* inet/gethstbyad_r.c: Define NEED__RES_HCONV and POSTPROCESS for
	host name res_hconf code.
	* inet/gethstbynm_r.c: Likewise.
	* nss/getXXbyYY_r.c: Include resolv/res_hconf.h if NEED__RES_HCONF
	is defined.  Call res_hconf_init if necessary.  If POSTPROCESS is
	defined execute the code.
	* resolv/Makefile (routines): Add res_hconf.
	(headers): Add res_hconf.h.
	* resolv/res_hconf.c: Pretty print.
	* resolv/res_hconf.h: Likewise.

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

	* sysdeps/generic/bits/byteswap.h: Fix typos in non-GCC
	definitions.  Reported by Scott Bambrough <scottb@corelcomputer.com>.

1998-11-20 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* math/libm-test.c: Raise some epsilons a bit.

1998-11-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makeconfig ($(common-objpfx)sysd-sorted): Fix portability problems.

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

	* Makefile (distribute): Add scripts/gen-sorted.awk.

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

	* posix/regex.c (regex_compile): Handle extra long class names
	correctly.

1998-11-19  Geoff Keating  <geoffk@ozemail.com.au>

	* elf/rtld.c (_dl_start): Handle weak undefined symbols in ld.so
	correctly.

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

	* misc/error.c: Undo last change.

	* ctype/Versions: Add _tolower and _toupper.

1998-11-19  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/svc_unix.c (readunix): Check for POLLERR, POLLHUP and
	POLLNVAL.

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

	* Makeconfig: Add comment to all-subdirs definition.
	Add rule to generate sysd-sorted.  Include this file and and set
	subdirs value to $(sorted-subdirs).
	* scripts/gen-sorted.awk: New file.
	* Make-dist (+tsrcs): Add Depend.
	* nscd/Depend: New file.
	* nss/Depend: New file.
	* rt/Depend: New file.

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

	* sysdeps/unix/bsd/poll.c (__poll): Add code to extend sets if any
	passed file descriptor exceeds the size determined by
	getdtablesize.

	* sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Update
	from inline version in bits/socket.h.

	* sysdeps/unix/sysv/linux/bits/socket.h: Define __cmsg_nxthdr as
	inline function only is __USE_EXTERN_INLINES is defined.

	* time/strftime.c (my_strftime): Make code a bit clearer.
	Patch by Paul Eggert <eggert@twinsun.com>.

	* io/Makefile (CFLAGS-ftw.c): Removed.

	* manual/errno.texi: Change the short text for ENODEV to
	"No such device".

1998-11-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* io/Makefile (tests): Make sure that the test program has an
	explicit directory part.

1998-11-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* configure.in: Fix last change.

1998-11-18  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/Makefile (routines): Add create_xid.

	* sunrpc/clnt_tcp.c: Use non-guessable xid.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/create_xid.c: New, create non-guessable xid.

	* sunrpc/svc_tcp.c: Remove patch from 1998-06-15, use poll instead
	of select.
	* sunrpc/svc_unix.c: Use poll instead of select.

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

	* sysdeps/unix/sysv/linux/sleep.c (__sleep): Make Unix98 compliant
	by removing SIG_IGN handler for SIGCHLD if necessary.
	Patch by H.J. Lu <hjl@lucon.org>.

	* stdio-common/printf_fphex.c (__printf_fphex): Correct printing
	of denormalized numbers.

1998-10-06  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/dl-machine.h (elf_machine_load_address): Suppress
	another parentheses warning, make nano-optimisation.

	* sysdeps/powerpc/dl-machine.h (_dl_runtime_resolve): Preserve
	saved LR on stack so _mcount works.
	(_dl_prof_resolve): Likewise.
	* sysdeps/powerpc/register-dump.h: Print FPRs.  Adjust for correct
	signal handler calling convention.
	* sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Adjust for
	correct signal handler calling convention---more like x86 linux and
	mklinux, less like linux-ppc versions between 2.1 and 2.1.126.

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

	* configure.in: Correct allowed makeinfo version.

1998-11-17  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/generic/bits/mathdef.h: Fix typo.

1998-11-17  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/pwrite.c: Prototype the syscall
	under the right name (squish warning).
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.

1998-11-17  Geoff Keating  <geoffk@ozemail.com.au>

	* stdio-common/_itoa.c (_itoa): Add redundant parentheses to
	prevent warnings.

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

	* intl/locale.alias: Change `japanese' alias 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>

	* sysdeps/unix/opendir.c: Use o_directory_works differently.  Treat
	zero value as uninitialized so that variable can go into .bss.

	* dirent/opendir-tst1.c: Print error strings to stdout.

	* sysdeps/unix/sysv/linux/mmap64.c: New file.  Empty.
	* sysdeps/unix/sysv/linux/syscalls.list: Add mmap with mmap64 alias.
	* sysdeps/unix/sysv/linux/arm/mmap.S: Add mmap64 alias.
	* sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise.

1998-11-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* time/tzfile.c (__tzfile_read): Check that types[i].isdst is in
	range.

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

	* libio/bits/stdio.h (fread_unlocked): Do handle zero size and number.
	(fwrite_unlocked): Likewise.

1998-11-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* libio/bits/stdio.h (fread_unlocked): Don't evaluate non-constant
	twice.  Don't bother handling zero size.
	(fwrite_unlocked): Likewise.

1998-11-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* configure.in: Fix regex for makeinfo version string.

1998-11-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sunrpc/rpc_sample.c (write_sample_server): Avoid -Wparentheses
	warning.
	* sunrpc/rpc_svcout.c (write_program): Likewise.

1998-11-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* time/Makefile (CFLAGS-test_time.c): Add -Wno-format.

1998-11-16  Ulrich Drepper  <drepper@cygnus.com

	* misc/sys/mman.h: Pretty print prototypes.

1998-11-15  Ulrich Drepper  <drepper@cygnus.com

	* misc/error.c (error): Don't use result of strerror_r call directly
	since at least DEC Unix has a wrong return type.
	Patch by Johan Danielsson <joda@pdc.kth.se>.

1998-11-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Undo
	last change.

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

	* stdio-common/vfscanf.c: Don't return -1 in case of an invalid
	format, just stop.

	* version.h (VERSION): Bump to 2.0.102.

	* stdio-common/tstdiomisc.c (t2): Update test case for last scanf
	change.
	* stdio-common/scanf7.c (main): Likewise.

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

	* stdio-common/vfscanf.c: Return EOF for invalid format
	characters.

	* version.h (VERSION): Bump to 2.0.101.

	* Makerules (Versions.all): Generate this file from all Versions.def
	files.
	(sysd-versions): Use Versions.all instead of Versions.def.

1998-11-13  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/fpu/bits/setjmp.h (__JMP_BUF_SP): Correct value.
	Reported by Scott Bambrough.

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

	* locale/programs/config.h: Define HAVE_STRING_H for xstrdup.c.

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

	* libio/bits/stdio.h: Correct and improve fread_unlocked and
	fwrite_unlocked optimizations.

	* time/tzfile.c (__tzfile_read): Set __tzname based on last names
	in time not to last entries in the file.
	(__tzfile_compute): Likewise.  Fix for PR libc/863.

	* timezone/Makefile: Generate GB timezone data for test.
	* timezone/tst-timezone.c: More tests for DST switching time (disabled
	for now).

1998-11-13  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Remove
	d0 from clobber list.

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

	* inet/netinet/in.h: Add a few more IPPROTO_* macros.

	* libio/Makefile (headers): Add bits/stdio.h.
	* libio/iofread_u.c: Undefine fread_unlocked before definition.
	* libio/iofwrite_u.c: Undefine fwrite_unlocked before definition.
	* libio/stdio.h: Move optimizations into ...
	* libio/bits/stdio.h: ...here.  New file.

	* libio/iofread.c: Pretty print.

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

	* sysdeps/gnu/bits/utmpx.h: Protect members of struct
	__exit_status with `__'.  Rename pad member of struct utmpx to
	__unused.
	(RUN_LVL): Define unconditionally.
	* sysdeps/gnu/bits/utmp.h: Rename pad member of struct utmp to
	__unused.

1998-11-12  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/netlink/netlink.h: New file, support for
	Linux AF_NETLINK sockets (needed since the kernel version is
	unusable).
	* sysdeps/unix/sysv/linux/Makefile: Install it.
	* sysdeps/unix/sysv/linux/Dist: Distribute it.

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

	* timezone/tst-timezone.c (tests): Add entry for America/Chicago
	to test for bug in PR libc/863.

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

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Cleanup comment.

	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Rename macro
	parameter lazy to do_lazy to avoid clashing with struct member name.
	Reported by Ralf Baechle <ralf@uni-koblenz.de>.

1998-11-10  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
	if it is defined in <linux/limits.h>.

1998-11-09 13:07 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* include/protocols/routed.h: Include the real header with
	a full path from the top of the source tree.
	* include/protocols/rwhod.h: Likewise.
	* include/protocols/talkd.h: Likewise.
	* include/protocols/timed.h: Likewise.

	* timezone/Makefile: Don't include z.ZONE files if no_deps
	is set, not if avoid-generated is set.

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

	* signal/signal.h: Undo last change.  Get definition of timespec
	if __USE_POSIX199309.

	* string/bits/string2.h (__strpbrk_c2): Add intermediate cast to
	size_t to prevent gcc warning when using -Wqual-cast.
	(__strpbrk_c3): Likewise.
	Suggested by Alan Curry <pacman@cqc.com>.

1998-11-11  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/hurdsig.c (_hurdsig_init): Add assertion that no pending,
	unblocked signals are set in the startup masks.

	* hurd/hurdsig.c (_hurdsig_init): Take new args, INTARRAY and
	INTARRAYSIZE.  Initialize main thread's sigstate from INIT_SIG* ints.

	* hurd/hurd/signal.h: Update _hurdsig_init decl.
	* hurd/hurdinit.c (_hurd_proc_init): Take new args, INTARRAY and
	INTARRAYSIZE, pass them down to _hurdsig_init.
	* hurd/hurd.h: Update _hurd_proc_init decl.

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

	* math/cabs.c: Replace complex by _Complex.
	* math/cabsf.c: Likewise.
	* math/cabsl.c: Likewise.
	* math/cimag.c: Likewise.
	* math/cimagf.c: Likewise.
	* math/cimagl.c: Likewise.
	* math/conj.c: Likewise.
	* math/conjf.c: Likewise.
	* math/conjl.c: Likewise.
	* math/creal.c: Likewise.
	* math/crealf.c: Likewise.
	* math/creall.c: Likewise.

	* sysdeps/alpha/fpu/bits/mathdef.h: Define ISO C 9X stuff only if
	included from math.h and __USE_ISOC9X is defined.
	* sysdeps/generic/bits/mathdef.h: Likewise.
	* sysdeps/generic/i386/fpu/mathdef.h: Likewise.
	* sysdeps/generic/m68k/fpu/mathdef.h: Likewise.
	* sysdeps/generic/powerpc/bits/mathdef.h: Likewise.
	* sysdeps/generic/sparc/fpu/bits/mathdef.h: Likewise.

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

	* sysdeps/i386/fpu/bits/mathdef.h: Allow direct inclusion by
	<complex.h>.
	* sysdeps/alpha/fpu/bits/mathdef.h: Likewise.
	* sysdeps/generic/bits/mathdef.h: Likewise.
	* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
	* sysdeps/powerpc/bits/mathdef.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.

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

	* extra-lib.mk: Fix typo in last change.

	* math/complex.h: Include bits/mathdef.h to get __NO_LONG_DOUBLE_MATH
	is needed.
	Don't define long double functions if __NO_LONG_DOUBLE_MATH is defined.
	Don't define `complex' but instead `_Complex'.  The later is the
	reserved keyword.
	* math/bits/cmathcalls.c: Define _Mdouble_complex_ using _Complex,
	not complex.

1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/libc.texinfo: Remove colon from category name.
	* manual/Makefile (dir-add.info): Likewise.

1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* configure.in: Avoid autoconf bug.

1998-10-28  H.J. Lu  <hjl@gnu.org>

	* posix/getopt.h: Add "__" to arguments in prototypes.

1998-11-05  H.J. Lu  <hjl@gnu.org>

	* libio/iofgets.c (_IO_fgets): Don't report error
	if something was read in and errno is set to
	EAGAIN.
	* libio/iofgets_u.c (fgets_unlocked): Likewise.

1998-11-05  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel
	header; it defines too much.  Provide a local definition of struct
	sockaddr_pkt and a comment advising against its use.

1998-11-06  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* extra-lib.mk: Avoid empty include list.

1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* extra-lib.mk: Add support for $(lib)-shared-only-routines.

	* elf/Makefile (libdl-routines): Add dlopenold only if doing
	versioning.
	(libdl-shared-only-routines): New variable.

1998-11-06  Paul Eggert  <eggert@twinsun.com>

	Don't invoke localtime_r or gmtime_r unless it's the GNU C
	library's localtime_r and gmtime_r; there are too many buggy
	implementations of localtime_r and gmtime_r out there, and
	it's not worth keeping track of all the different bugs.

	* time/mktime.c (__EXTENSIONS__): Remove.
	(<unistd.h>): No need to include.
	* time/strftime.c: Likewise.

	* time/mktime.c (_POSIX_THREAD_SAFE_FUNCTIONS, HAVE_LOCALTIME_R):
	Remove.
	(my_mktime_localtime_r): Renamed from localtime_r; all uses changed.
	Base it on localtime unless _LIBC.

	* time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r;
	all uses changed.
	(my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
	Base them on localtime/gmtime if not _LIBC.

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

	* sysdeps/generic/isastream.c: Always return 0 unless it is an invalid
	file descriptor.  This makes this function actually usable.
	Proposed by Mark Kettenis <kettenis@phys.uva.nl>.

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

	* math/math.h: Unconditionally include bits/mathdef.h.  Declare
	long double functions only if __NO_LONG_DOUBLE_MATH is not
	defined.
	* sysdeps/generic/bits/mathdef.h: Define only if __USE_ISOC9X.
	Define __NO_LONG_DOUBLE_MATH.
	* sysdeps/m68k/fpu/bits/mathdef.h: Define only if __USE_ISOC9X.
	* sysdeps/i386/fpu/bits/mathdef.h: Likewise.

	* elf/rtld.c: Add a few __builtin_expects where they will improve
	a lot.

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

	* version.h (VERSION): Bump to 2.0.100.

	* sysdeps/i386/fpu/bits/mathinline.h (__pow2): Fix fldl -> fld.

	* sysdeps/libm-i387/s_fma.S: Optimize a bit.
	* sysdeps/libm-i387/s_fmaf.S: Likewise.

1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* libio/genops.c (_IO_least_marker): Add additional parameter
	end_p replacing fp->_IO_read_end.
	(save_for_backup): Likewise.  All callers changed.  Use _IO_size_t
	and _IO_ssize_t instead of int.
	(_IO_switch_to_main_get_area): Remove use of _IO_save_ptr.
	(_IO_switch_to_backup_area): Likewise.  Fix comments.
	(_IO_seekmark): Undo last change.
	(_IO_default_pbackfail): Correct use of backup area.
	* libio/libio.h (_IO_FILE_complete): Remove _IO_save_ptr.

1998-11-04 19:47 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Search for install-info and substitute it.
	Determine whether install-info is the buggy Debian version
	that doesn't understand INFO-DIR-SECTION.
	* config.make.in: Add INSTALL_INFO and OLD_DEBIAN_INSTALL_INFO
	to be substituted.
	* manual/Makefile: If OLD_DEBIAN_INSTALL_INFO, give
	install-info the --section argument it needs to work properly.
	(dir-add.texinfo): Delete target.
	(dir-add.info): Generate this directly.  Sort entries.  Put a
	colon at the end of the INFO-DIR-SECTION line.
	* manual/libc.texinfo: Put a colon at the end of the
	@dircategory line.

1998-11-05  Paul Eggert  <eggert@twinsun.com>

	* time/mktime.c (__mktime_internal): Adopt the traditional (and
	problematic) notion of what to do when tm_isdst doesn't match.

1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* posix/PTESTS: Fix spelling.

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

	* misc/efgcvt_r.c (fcvt_r): Remove code which tries to use libm
	functions.  Reduce error in computing normalized value by multiplying
	factor in loop and compute result in one step.
	Reported by Christian Gafton.

	* sysdeps/libm-i387/e_hypot.S: New file.
	* sysdeps/libm-i387/e_hypotf.S: New file.

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

	* elf/dlopenold.c: Compile only if DO_VERSIONING is also defined.

1998-11-03  H.J. Lu  <hjl@gnu.org>

	* libio/fileops.c (new_do_write): New function.
	(_IO_new_do_write): Call new_do_write.
	(_IO_new_file_xsputn): Likewise.

	* libio/oldfileops.c (old_do_write): New function.
	(_IO_old_do_write): Call old_do_write.
	(_IO_old_file_xsputn): Likewise.

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

	* time/mktime.c (__mktime_internal): Correct last change.  We must
	stop searching for the right isdst value before stepping to the
	initial value.

	* malloc/malloc.c: Make sure calloc really returned zeroed memory.
	Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

1998-11-02 16:12 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/generic/bits/signum.h: Define signals with their
	historical numbers when those are in the 1-15 range and
	consistent across platforms.
	Define compatibility aliases (SIGIOT, SIGCLD) if __USE_MISC.
	Define SIG_DFL, SIG_IGN, SIG_ERR as numeric constants cast
	appropriately instead of with fake function declarations
	(would cause link errors).
	If __USE_UNIX98, define SIG_HOLD.

1998-10-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/bits/sigaction.h (sigaction): Use
	union only if __USE_POSIX199309 is defined.

	* misc/sys/select.h (pselect): Declared only if __USE_GNU is
	defined.

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

	* time/mktime.c (__mktime_internal): Handle broken down times
	around the time of the DST switches more correctly.

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

	* elf/Makefile (libdl-routines): Add dlopenold.
	* elf/Versions [libdl, GLIBC_2.1]: Add dlopen.
	* elf/dl-open.c (_dl_open): Check whether RTLD_LAZY or RTLD_GLOBAL
	is set and bounce otherwise.
	* elf/dlopen.c: Rename function to __dlopen_check and make version
	named dlopen.
	* elf/dlopenold.c: New file.

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

	* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc.
	* elf/dl-open.c (_dl_global_scope_alloc): Move definition to
	* elf/dl-deps.c: ...here.
	* elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with
	new parameter and expect result.  Remove code handling RTLD_GLOBAL.
	Add return value of _dl_map_object_deps to
	_dl_main_searchlist->r_nlist.
	* elf/dl-deps.c (_dl_map_object_deps): Change to return value.
	If we parameter GLOBAL is nonzero add object and dependencies to
	the global scope.
	* elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps.
	* elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter.
	Mark all objects as in global scope.
	* elf/dl-object.c (_dl_new_object): Initialize l_global to zero.

	* sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols
	used in macro magic.

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

	* sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h>
	before <sys/socket.h> to make sockaddr_at available to
	<sys/socket.h>.

	* posix/glob.h: Remove __P from parameter lists of declarations.

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

	* time/tzset.c (tz_compute): Remove unused parameter timer.
	Change caller.

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

	* sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef.

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

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

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

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

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

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

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

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

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

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

1998-10-31  Ulrich Drepper  <drepper@cygnus.com>

	* aclocal.m4 (LIBC_PROG_FOO_GNU): Name output file using -o to
	avoid ld test generating an unwanted file.

	* posix/PTESTS: Remove comment about incorrect test (it is correct).

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

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

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

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

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

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

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

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

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

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

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

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

	* time/strptime.c (HERE_D_FMT): Fix typo.
	Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.

1998-10-30  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/Makefile (tests): Add rules to run gencat on test1.msg.
	(generate): Add test1.cat and test1.h.
	(distribute): Add test1.msg.
	* catgets/test1.msg: New file.

	* catgets/gencat.c: Do a better job in initializing dynamic
	memory [PR libc/844].

1998-10-30 18:11  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv_conf.c (__gconv_read_conf): Don't define as
	internal_function since it is called through a pointer.
	* iconv/gconv_db.c (free_derivation): Likewise.
	* iconv/gconv_int.h: Adjust prototype od __gconv_read_conf.

	* posix/wordexp.c: Add internal_function to parse_backtick definition.
	* rt/aio_misc.c: Add internal_function to __aio_free_request,
	__aio_find_req, __aio_find_req_fd, and __aio_enqueue_request
	definitions.
	* rt/aio_notify.c: Add internal_function to __aio_notify_only and
	__aio_notify definitions.
	* wcsmbsload.c: Add internal_function to __wcsmbs_load_conv definition.

1998-10-30  Ulrich Drepper  <drepper@cygnus.com>

	* Makerules (build-shlib): Add -O to generate optimized shared
	objects.

1998-10-30 11:15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/e_fmod.S: Remove invalid operand size suffix.
	* sysdeps/libm-i387/e_fmodf.S: Likewise.
	* sysdeps/libm-i387/e_fmodl.S: Likewise.
	* sysdeps/libm-i387/s_ilogb.S: Likewise.
	* sysdeps/libm-i387/s_ilogbf.S: Likewise.
	* sysdeps/libm-i387/s_logb.S: Likewise.
	* sysdeps/libm-i387/s_logbf.S: Likewise.
	* sysdeps/libm-i387/s_remquo.S: Likewise.
	* sysdeps/libm-i387/s_remquof.S: Likewise.
	* sysdeps/libm-i387/s_remquol.S: Likewise.
	* sysdeps/libm-i387/s_significand.S: Likewise.
	* sysdeps/libm-i387/s_significandf.S: Likewise.

1998-10-30  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Really correct
	_llseek.

1998-10-30  Geoff Keating  <geoffk@ozemail.com.au>

	* math/libm-test.c: Loosen deltas for sin(0.9)^2+cos(0.9)^2.

1998-10-29  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/vfprintf.c (vfprintf): Fix the remaining premature
	returns without cleaning up the lock.
	(printf_unknown): Add label all_done.

	* sysdeps/unix/sysv/linux/ttyname.c (ttyname): Keep Linux 2.0
	kernels in mind when reading /proc/self/fd/FD.
	* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise.

	* nscd/nscd.c (doc): It's "Name Service" not "Name Switch".

	* malloc/mtrace.c (tr_where): Replace snprintf call by mempcpy and
	_fitoa.

	* sysdeps/unix/sysv/linux/ttyname_r.c (ttyname_r): Try reading
	/prof/self/fd/FD first.
	* sysdeps/unix/sysv/linux/ttyname.c (ttyname): Likewise.

	* stdio-common/_itoa.h (_fitoa_word): New inline function.  Write
	formatted number starting at given position and return pointer to
	following byte.
	(_fitoa): Likewise, for long long.

1998-10-29  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/unix/sysv/linux/bits/sem.h,
	sysdeps/unix/sysv/linux/bits/ipc.h,
	sysdeps/unix/sysv/linux/bits/shm.h,
	sysdeps/unix/sysv/linux/bits/msq.h: Moved to ...
	* sysdeps/gnu/bits/sem.h, sysdeps/gnu/bits/ipc.h,
	sysdeps/gnu/bits/shm.h, sysdeps/gnu/bits/msq.h: ... here,
	so the same bits will be used for the Hurd.

1998-10-29  Ulrich Drepper  <drepper@cygnus.com>

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

1998-10-12  Philip Blundell  <pb@nexus.co.uk>

	* Makeconfig (sysdep-subdirs): Allow Subdirs files to remove
	directories as well as add them.

1998-10-28  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/neteconet/ec.h: New file.  Support for
	AF_ECONET sockets as found in recent Linux 2.1 kernels.
	* sysdeps/unix/sysv/linux/Dist: Distribute it.
	* sysdeps/unix/sysv/linux/Makefile: Install it.

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

	* string/bits/string2.h: __USE_GNU already implies __USE_MISC.

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

	* sysdeps/generic/bits/types.h (__FDS_BITS): New macro to access
	fds_bits member.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h (__FDS_BITS): Likewise.
	* sysdeps/unix/sysv/linux/bits/types.h (__FDS_BITS): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h (__FDS_BITS): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h (__FDS_BITS):
	Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h (__FDS_BITS):
	Likewise.
	* sysdeps/generic/bits/select.h (__FD_ZERO, __FD_SET, __FD_CLR,
	__FD_ISSET): Use it.
	* sysdeps/i386/bits/select.h (__FD_ZERO, __FD_SET, __FD_CLR,
	__FD_ISSET): Likewise.

1998-10-28  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Tidy up, correct
	llseek.

	* sysdeps/unix/sysv/linux/powerpc/pread.c: Do not use the i386 version.
	Instead call the system call wrapper function using an 64bit argument.
	* sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.

1998-10-27  Ulrich Drepper  <drepper@cygnus.com>

	* signal/signal.h: Don't include <time.h> for timespec, add
	forward declaration.

	* sysdeps/i386/bits/select.h [!__USE_XOPEN]: Add special version
	of __FD_* macros which use __fds_bits.
	* sysdeps/generic/bits/select.h: Likewise.
	Reported by Matt McLean <keys@yikes.com>.

1998-10-27  Philip Blundell  <pb@nexus.co.uk>

	* elf/elf.h: Update ARM definitions.

1998-10-27  Ulrich Drepper  <drepper@cygnus.com>

	* signal/signal.h: Include bits/sigthread.h only for Unix98.

1998-10-26  Ulrich Drepper  <drepper@cygnus.com>

	* include/libc-symbols.h: If HAVE_BUILTIN_EXPECT is not defined
	define __builtin_expect as a macro substituting to the first
	argument.
	* config.h.in: Define HAVE_BUILTIN_EXPECT.
	* configure.in: Add test for __builtin_expect.

	* sysdeps/unix/sysv/linux/bits/types.h: Include
	bits/pthreadtypes.h only not for POSIX 199506.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Likewise.

1998-10-26  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/sysv/linux/Versions: Move shutdown ...
	* socket/Versions [libc, GLIBC_2.0]: ... to here.

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

	* include/stdio.h: Included <stddef.h> for size_t.

	* stdio/stdio.h: Move __path_search, __gen_tempname, __libc_fatal
	to ...
	* include/stdio.h: ...here.
	* libio/stdio.h: Removed __path_search, __gen_tempname, __libc_fatal.

1998-10-26 11:09  Ulrich Drepper  <drepper@cygnus.com>

	* time/Makefile (tests): Add tst-posixtz.
	* time/tst-posixtz.c: New file.

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

	* elf/rtld.c (process_envvars): Accept any non-null value of
	LD_BIND_NOW, as mandated by the ABI.

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

	* sysdeps/unix/sysv/linux/pread.c: Rename __syscall_pread64 to
	__syscall_pread.
	* sysdeps/unix/sysv/linux/pwrite.c: Rename __syscall_pwrite64 to
	__syscall_pwrite.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.  Remove
	duplicate entries.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Remove
	s_pread64 and s_pwrite64.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.

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

	* sysdeps/unix/sysv/linux/llseek.c: Use INLINE_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Rename __sys_llseek
	to __syscall__llseek.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Remove entry for
	__sys_llseek.

1998-10-26  Cristian Gafton  <gafton@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add s_setfsgid
	and s_setfsuid.

1998-10-26  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzset.c (tz_compute): Correct last patch and describe this
	in a comment.

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

	* sysdeps/unix/sysv/linux/m68k/Makefile [subdir=signal]: Remove
	rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo,
	rt_sigaction and rt_sigpending.
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: Remove all entries
	for __syscall_* functions.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Implement INLINE_SYSCALL.

1998-10-26  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/Versions: Add _hurd_dtable, _hurd_dtablesize,
	_hurd_dtable_lock, _hurd_intern_fd.

	* sysdeps/mach/hurd/Versions: Add cthread_keycreate,
	cthread_getspecific, cthread_setspecific, __libc_getspecific.

	* mach/Versions: Fix typo in last change.

1998-10-25  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzset.c (tz_compute): If time to switch to DST is later in
	the year switch back in the next year.
	Reported by jwitford@hutch.com.au.

1998-10-24  Mark Kettenis  <kettenis@phys.uva.nl>

	* mach/Versions: Add evc_wait, mach_error, mach_error_string,
	mach_error_type, mach_msg_destroy, mig_deallocate_reply_port.
	Remove __mach_host_self, __mach_reply_port, __mach_setup_thread,
	__mach_port_allocate, __mach_port_allocate_name,
	__mach_port_insert_right __mutex_trylock, __mutex_lock,
	__mutex_unlock, __swtch, __switch, __task_create, __task_suspend,
	__task_set_special_port, __task_terminate, __thread_depress_abort,
	__thread_switch, __vm_allocate, __vm_deallocate, __vm_map.  These
	functions are not used outside libc.

	* sysdeps/mach/hurd/Versions: New file.
	[libc, GLIBC_2.0]: Add _cthread_exit_routine and
	_cthread_init_routine.  These are set by the Hurd cthreads library.
	Add __getcwd, __mmap.  If we don't add these, the weak definitions in
	the dynamic linker will not be replaced by the corresponding shared
	library routines once they are loaded.

1998-10-21  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/i386/init-first.c: Only define
	__libc_enable_secure if PIC is not defined.

1998-10-25  Roland McGrath  <roland@baalperazim.frob.com>

	* argp/Versions: Add _argp_unlock_xxx.  Lock-savvy functions call this
	to recurse into argp.

1998-10-25  Ulrich Drepper  <drepper@cygnus.com>

	* include/features.h: Define __USE_POSIS199506 is _POSIX_C_SOURCE is
	greater or equal than 199506L.

	* sysdeps/generic/bits/types.h (__fd_set): Define element as fds_bits
	only is __USE_XOPEN.  Otherwise use __fds_bits.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* locale/programs/charmap.c (parse_charmap): Accept tok_string
	for <code_set_name>.

1998-10-25  H.J. Lu  <hjl@gnu.org>

	* locale/programs/ld-ctype.c (ctype_finish): Also check
	<space>.

1998-10-25  Ulrich Drepper  <drepper@cygnus.com>

	* signal/signal.h: Include bits/sigthread.h only if __USE_POSIX199506.

	* sysdeps/unix/sysv/linux/bits/types.h: Include pthreadtypes.h only
	if __USE_POSIX199506 or __USE_UNIX98.

1998-10-24 22:34 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* string/bits/string2.h: Inline strdup+friends only if
	__USE_MISC || __USE_GNU (prevents namespace pollution).

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (LOCK_SH,
	LOCK_EX, LOCK_NB, LOCK_UN): Protect with __USE_BSD.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (LOCK_SH, LOCK_EX,
	LOCK_NB, LOCK_UN): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (LOCK_SH, LOCK_EX,
	LOCK_NB, LOCK_UN): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (LOCK_SH, LOCK_EX,
	LOCK_NB, LOCK_UN): Likewise.
	* sysdeps/unix/sysv/linux/bits/fcntl.h (LOCK_SH, LOCK_EX,
	LOCK_NB, LOCK_UN): Likewise.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* libio/ioseekoff.c (_IO_seekoff): Check the valid dir value.

	* libio/rewind.c (rewind): Clear the error.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* grp/grp.h (getgrent_r, getgrgid_r, getgrnam_r): Add "__" to
	"buffer".

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/alpha/bits/time.h (timeval): Protect
	with __need_timeval.
	* sysdeps/unix/sysv/linux/mips/bits/time.h (timeval): Likewise.
	* sysdeps/unix/sysv/linux/bits/time.h (timeval): Likewise.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* signal/signal.h (timespec, siginfo_t, sigwaitinfo, sigtimedwait,
	sigqueue): Protect with __USE_POSIX199309.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* time/time.h (timespec): Protect with __USE_POSIX199309 instead of
	__USE_POSIX.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* libio/fileops.c (_IO_new_file_seekoff): Always resync with
	the kernel file offset.
	* libio/oldfileops.c (_IO_old_file_seekoff): Likewise.

1998-10-24  H.J. Lu  <hjl@gnu.org>

	* time/tzfile.c (__tzfile_default): Set num_types to 2.

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

	* rt/aio.h: Move __aio_init to...
	* include/aio.h: ...here.

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

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove duplicate
	definition of O_LARGEFILE.

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

	* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Use path
	as first argument to statfs.

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

	* sysdeps/generic/setenv.c (setenv): Add braces around ambiguous else.

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

	* malloc/mtrace.c: Include <string.h> for strlen.

1998-10-24  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/bits/environments.h: New file.

	* sysdeps/mach/hurd/dl-sysdep.c (__getcwd): New weak function.

	* mach/Versions, hurd/Versions: Add numerous symbols.
	Remove libmachuser and libhurduser sections, punt
	versioning for those libraries for now.

	* misc/Versions: Add reboot here; it exists on all platforms.
	* sysdeps/unix/sysv/linux/Versions: Remove reboot here.

1998-10-23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOFOLLOW): New
	macro.
	* sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_LARGEFILE,
	O_NOFOLLOW, O_DIRECT): New macros.
	(O_DIRECTORY): Correct definition according to official 2.1.126.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_DIRECTORY,
	O_NOFOLLOW): New macros.

1998-10-24  Roland McGrath  <roland@baalperazim.frob.com>

	* include/ldsodefs.h: Test HAVE_ELF instead of __ELF__.

	* sysdeps/mach/hurd/opendir.c (__opendir): Return ENOENT for "".
	(__opendir): Add trailing slash to name for open, for ENOTDIR check.

1998-10-23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/Dist: Add setresuid.c, setresgid.c,
	setfsuid.c, and setfsgid.c.
	* sysdeps/unix/sysv/linux/arm/Dist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise.

	* version.h (VERSION): Bump to 2.0.99.

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove duplicate
	ustat definition.

	* sysdeps/unix/sysv/linux/i386/Dist: Remove s_pread64.c and
	s_pwrite64.c.

	* posix/fnmath.h: Don't redefine __P when used in glibc.
	* posix/glob.h: Likewise.

	* inet/rcmd.c (__ivaliduser2): Fix memory leak.
	Patch by Dick Streefland <dick_streefland@tasking.com>.

	* stdio-common/tst-ungetc.c: Add more test cases.

	* sysdeps/unix/sysv/linux/Dist: Add linux_fsinfo.h.
	* sysdeps/unix/sysv/linux/fstatvfs.c: Move filesystem magic number
	definitions to ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h: ...here.  New file.
	* sysdeps/unix/sysv/linux/fpathconf.c: New file.
	* sysdeps/unix/sysv/linux/pathconf.c: New file.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Handle _PC_LINK_MAX here.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c: Likewise.

1998-10-20  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Include
	<asm/ptrace.h> to define struct pt_regs.
	* sysdeps/unix/sysv/linux/arm/profil-counter.h: Don't bother
	including <asm/ptrace.h> here.

	* sysdeps/unix/sysv/linux/arm/sysdep.S: Remove spurious call to
	C_SYMBOL_NAME macro.

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

	* sysdeps/generic/sys/ptrace.h (__ptrace_request): Remove comma at
	end of enumerator list.
	* sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Likewise.
	* posix/wordexp.h: Likewise.

	* db/db.h: Use __PMT instead of __P in typedefs.
	* db/mpool.h: Likewise.
	* sysdeps/generic/bits/siginfo.h: Likewise.
	* nis/rpcsvc/ypclnt.h: Likewise.

1998-10-23  Ulrich Drepper  <drepper@cygnus.com>

	* libio/genops.c (_IO_seekmark): When switching to backup buffer
	make sure all characters from the read buffer are read after
	switching back to it.

1998-10-22  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Add support for Cygnus GNUPro compilers.

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

	* stdio/stdio.h: Use __PMT instead of __P in typedefs.

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use __PMT instead
	of __P for sa_restorer.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/kernel_sigaction.h (struct
	kernel_sigaction, old_kernel_sigaction): Likewise.

1998-10-22  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add __syscall_pread
	and __syscall_pwrite aliases.

	* sunrpc/rpc/auth.h (AUTH_DH): New macro.  Alias for AUTH_DES.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Drastically simplify and
	improve INLINE_SYSCALL using macro assembler magic.

1998-10-22  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Add
	sanity check for n.
	* sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Likewise.

	* sysdeps/posix/fpathconf.c (__fpathconf): Set errno to
	EINVAL if errno == ENODEV.  Tested by VSX-PCT.

	* sysdeps/posix/isatty.c (__isatty): Don't reset errno.  Tested
	by VSX-PCT.

	* posix/execvp.c (execvp): Check "".  Tested by VSX-PCT.

1998-10-22  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/arm/sysdep.h: Wrap assembler macros in #ifdef
	__ASSEMBLER__.

1998-10-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Remove EXTRAVARS_* macros
	and adjust formats.

1998-10-21 14:38  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysdep.h (INLINE_SYSCALL): New macro.  Simply call
	__syscall_* function.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Use INLINE_SYSCALL instead
	of calling __syscall_* function.
	* sysdeps/unix/sysv/linux/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
	* sysdeps/unix/sysv/linux/getdents.c: Likewise.
	* sysdeps/unix/sysv/linux/getpriority.c: Likewise.
	* sysdeps/unix/sysv/linux/getresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/getresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/poll.c: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/reboot.c: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/siglist.h: Likewise.
	* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/ustat.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define INLINE_SYSCALL using
	inline assembler.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Remove various
	__syscall_* definitions.

	* sysdeps/unix/sysv/linux/syscalls.list: Move various __syscall_*
	definitions to...
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: ...here...
	* sysdeps/unix/sysv/linux/arm/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/mips/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: ...and here.

	* sysdeps/unix/sysv/linux/Makefile [subdir=signal] (sysdep_routines):
	Move definition to...
	* sysdeps/unix/sysv/linux/alpha/Makefile: ...here...
	* sysdeps/unix/sysv/linux/arm/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/mips/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: ...and here...
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: ...and here.

	* sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc]
	(sysdep_routines): Remove s_pread64 and s_pwrite64.

	* sysdeps/unix/sysv/linux/i386/pread.c: New file.
	* sysdeps/unix/sysv/linux/i386/pread64.c: New file.
	* sysdeps/unix/sysv/linux/i386/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/i386/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/i386/s_pread64.S: Removed.
	* sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Removed.

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

	* sysdeps/unix/sysv/linux/siglist.h: Fix some typos in these files
	and bring them in synch.
	* sysdeps/unix/siglist.c: Likewise.
	Reported by Vladimir Michl <michlv@risc.upol.cz> [PR libc/832].

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

	* sysdeps/unix/sysv/linux/i386/setresuid.c: Allow -1 as arguments.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setregid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setregid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setregid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setregid.c: New file.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_setreuid and
	s_setregid.
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.

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

	* sunrpc/rpc_main.c (close_output, close_input): New functions.
	(c_output, h_output, s_output, l_output, t_output, svc_output,
	clnt_output, mkfile_output): Call them at the end.

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

	* db/Makefile (LDFLAGS-db1.so): New variable, to avoid duplicating
	link command.

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

	* sysdeps/unix/sysv/linux/m68k/setfsuid.c: Add real contents.
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: Add s_setfs[ug]id.

1998-10-20  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_pread64 and
	s_pwrite64.
	* sysdeps/unix/sysv/linux/powerpc/pread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/pread64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c: New file.
	Patch by Geoffrey KEATING <geoffk@discus.anu.edu.au>.

1998-10-18  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/unix/opendir.c: Check at runtime for kernel support for
	O_DIRECTORY.

1998-10-20  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Fix
	argument types.

1998-10-19  Ulrich Drepper  <drepper@cygnus.com>

	* math/tgmath.h: Make nested function calls work.

	* include/ldsodefs.h: Fix typo.

	* posix/Makefile (tests): Add tst-preadwrite.
	* posix/tst-preadwrite.c: New file.

	* sysdeps/unix/opendir.c (__opendir): Add back fstat call to make
	sure that descriptor is in any case for a directory.

1998-10-19 18:59 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* math/tgmath.h (__TGMATH_UNARY_REAL_IMAG): Fix typo: val -> Val.
	(atan2): Takes two arguments.

1998-10-19  Ulrich Drepper  <drepper@cygnus.com>

	* include/ldsodefs.h: New file.

	* iconv/gconv.c: Include ldsodefs.h, not elf/ldsodefs.h.
	Remove change to avoid using _CALL_DL_FCT.
	* iconv/gconv_db.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* iconv/skeleton.c: Likewise, here for DL_CALL_FCT.
	* malloc/mtrace.c: Include ldsodefs.h, not elf/ldsodefs.h.
	* nss/nsswitch.c: Likewise.
	* nss/nsswitch.h: Likewise.

1998-10-19  Philip Blundell  <pb@nexus.co.uk>

	* sunrpc/Makefile (otherlibs): If static NSS is in use, set to the
	required libraries.
	* login/Makefile (otherlibs): Likewise.
	* nscd/Makefile (otherlibs): Likewise.
	* Makeconfig (link-libc) [! build_shared]: Add $(otherlibs).

	* debug/Makefile (install-bin): Only build catchsegv if using ELF.

	* inet/Makefile: Add -DSTATIC_NSS to CFLAGS.

1998-10-19  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/syscalls.list: Added setfsgid
	and setfsuid.

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

	* nscd/connections.c: Fix typos in comments and strings.

	* nscd/nscd.conf: Update according to recent changes to nscd.

	* nscd/cache.c (prune_cache): Remove wrong comment.

1998-10-19 13:24  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/ld-collate.c (collate_startup): Clear bit for this
	category in copy_posix.
	(collate_finish): Don't warn about UNDEFINED not being defined.
	* locale/programs/ld-ctype.c (ctype_startup): Clear bit for this
	category in copy_posix.
	* locale/programs/ld-messages.c (messages_startup): Likewise.
	* locale/programs/ld-monetary.c (monetary_startup): Likewise.
	* locale/programs/ld-numeric.c (numeric_startup): Likewise.
	* locale/programs/ld-time.c (time_startup): Likewise.
	* locale/programs/localedef.c: Move copy_def_list_t definition into
	locales.h.  Define copy_posix variable.
	(main): Before processing copy list add &copy_posix to copy_list.
	* locale/programs/locales.h: Add definition of copy_def_list_t.
	* locale/programs/locfile.c: Clear bit for appropriate category in
	copy_posix.mask for copy instruction.

1998-10-19  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/setresgid.c: Remove #include of
	non-existing file with generic implementation.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.

1998-10-19  Philip Blundell  <pb@nexus.co.uk>

	* iconv/gconv_db.c: Include ELF header only if STATIC_GCONV is not
	defined.  Avoid using _CALL_DL_FCT if it is not defined.
	* iconv/gconv.c: Likewise.

1998-10-19  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/connections.c (dbs): Define defualt values for timeouts and
	set enabled to 0 by default.
	(CACHE_PRUNE_INTERVAL): New constant.  Use it instead of magical 15 in
	nscd_run.

	* locale/C-ctype.c (_nl_C_LC_CTYPE_class): Clear ISCNTRL bit for
	character >= 0x80.
	(_nl_C_LC_CTYPE_class32): Likewise.
	Reported by HJ Lu.

1998-10-19  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add
	_HURD_THREADVAR_DL_ERROR.

	* hurd/Makefile (user-interfaces): Add login, password.

	* sysdeps/mach/hurd/Makefile (+cflags): Append -Wno-parentheses.

1998-08-06  Mark Kettenis  <kettenis@phys.uva.nl>

	[submitted 1998-08-06]
	* mach/Machrules: Create target directory and force re-evaluation
	of Makefile to prevent `make' from optimizing away most of the
	implicit rules and `vpath' directives.

1998-10-19  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): If _hurd_msgport_thread
	is null, short-circuit to __mach_msg.

	* sysdeps/mach/hurd/i386/init-first.c (posixland_init): New function,
	broken out of init1.
	(init1) [PIC]: Call it.
	(__libc_init_first) [! PIC]: Call it.

	* sysdeps/mach/hurd/i386/init-first.c (init1): Don't call
	__libc_init_secure.  Instead set __libc_enable_secure here from
	the exec flags.
	(__libc_enable_secure): New variable it.
	* sysdeps/mach/hurd/enbl-secure.c: New file, empty placeholder module.

1998-10-19  Roland McGrath  <roland@baalperazim.frob.com>

	* nscd/nscd-client.h: New file, broken out of "nscd.h".
	* nscd/nscd.h: Move defns needed by clients to "nscd-client.h",
	and #include that.
	* nscd/Makefile (distribute): Add nscd-client.h.
	* nscd/nscd_getgr_r.c, nscd/nscd_gethst_r.c, nscd/nscd_getpw_r.c:
	Include "nscd-client.h" instead of "nscd.h"

1998-10-18  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/getcwd.c (__getcwd): Don't stop processing
	directory entries when a lstat call fails.
	Patch by Colin Plumb <colin@nyx.net>.

	* resolv/nss_dns/dns-host.c: Add missing errnop parameter to the
	NSS functions.
	* resolv/nss_dns/dns-network.c: Likewise.

	* grp/Makefile: Don't search for linuxthreads in add-ons, use
	have-thread-library to determine whether threads are available.
	* pwd/Makefile: Remove wrong comment.

	* inet/Makefile: Define CFLAGS-gethstbyad_r.c, CFLAGS-gethstbynm_r.c,
	and CFLAGS-gethstbynm2_r.c to -DUSE_NSCD=1.

	* locale/C-messages.c: Define default strings for YESTR and NOSTR.

	* nss/Versions: Add __nss_hosts_lookup.

	* nss/getXXbyYY.c: Remove unneeded assignment.

	* nss/getXXbyYY_r.c: Include nscd/nscd_proto.h only if needed.

	Almost complete rewrite of the NSCD to make it smaller, faster,
	add more functionnality and make it easier to extend.
	* nscd/Makfile (routines): Add nscd_gethst_r.
	(nscd-modules): Add hstcache, gethstbyad_r, gethstbynm2_r, and cache.
	* nscd/cache.c: New file.
	* nscd/gethstbyad_r.c: New file.
	* nscd/gethstbynm2_r.c: New file.
	* nscd/hstcache.c: New file.
	* nscd/nscd_gethst_r.c: New file.
	* nscd/connections.c: Rewritten.  Don't start new thread for every
	new connection.  Use a fixed set of threads which handle all
	connections and also the cache cleanup.
	* nscd/grpcache.c: Rewritten to use generic cache handling functions
	in cache.c.
	* nscd/nscd.c: Recognize new parameter nthreads.  Adjust initialization
	for rewrite.  Remove handle_requests function.
	* nscd/nscd.h (NSCD_VERSION): Bump to 2.
	Define new data structure for the new unified cache and the host
	database entries.
	* nscd/nscd_conf.c: Rewrite parsing partly to allow adding of more
	databases easily.  Recognize check-files and threads definitions.
	* nscd/nscd.conf: Add definition of enable-cache and check-files to
	passwd and group definitions.  Add new set of definitions for hosts.
	* nscd/nscd_getgr_r.c: Rewrite for new protocol.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd_proto.h: Add prototype for host database functions.
	* nscd/nscd_stat.c: Rewrite to simplify printing of information
	for many databases.
	* nscd/dbg_log.c: Remove unnecessary variable initializations.
	Global variable debug_flag is renamed to dbg_level.
	* nscd/dbg_log.h: Declare set_logfile.

1998-10-16  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/bits/fcntl.h: Add dummy definition of
	O_LARGEFILE back.

1998-10-16  Paul Eggert  <eggert@shade.twinsun.com>

	* time/mktime.c: Some systems require <unistd.h> to be
	included before <time.h> for localtime_r to be declared
	properly.
	* time/strftime.c: Likewise.

1998-10-16  Ulrich Drepper  <drepper@cygnus.com>

	* db/Makefile: Add rule to generate shared object with the soname
	from glibc 2.0.

	* sysdeps/unix/opendir.c: Use O_DIRECTORY if available.  If not
	available double check to verify it's a directory.

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add O_DIRECTORY.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl: Likewise.
	* sysdeps/unix/sysv/linux/bits/fcntl.h: Remove O_* constants which
	are not generally available.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: New file.

	* sysdeps/unix/sysv/linux/i386/setgroups.c: Add range check for values.
	* sysdeps/unix/sysv/linux/arm/Makefile: New file.
	* sysdeps/unix/sysv/linux/arm/setegid.c: New file.
	* sysdeps/unix/sysv/linux/arm/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setgid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/arm/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/arm/setuid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setegid.c: New file.
	* sysdeps/unix/sysv/linux/i386/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setgid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/i386/setuid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setegid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setgid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/m68k/setuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setgid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setuid.c: New file.

	* sysdeps/unix/sysv/linux/arm/syscalls.list: Add s_setgid, s_setresuid,
	s_setresgid, and s_setuid.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc]
	(sysdep_routines): Add setfsgid, setfsuid, setresgid, and setresuid.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.

1998-10-16  Ulrich Drepper  <drepper@cygnus.com>

	* time/mktime.c: Define _POSIX_THREAD_SAFE_FUNCTIONS to get
	localtime_t declaration on some systems.

1998-10-16 10:07  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/Makefile [! elf]: Define CFLAGS-gconv_simple.c to
	-DSTATIC_GCONV.
	* iconv/skeleton.c: Include ELF header only of STATIC_GCONV is not
	defined.  Avoid using DL_CLL_FCT if it is not defined.

1998-10-16 10:40 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* resolv/arpa/nameser.h: Include sys/types.h unconditionally.
	Include endian.h unconditionally.  Remove portability goop
	depending on #ifdef linux, #ifdef BSD, #ifdef machine-type.

1998-10-16 11:39 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sunrpc/rpc/types.h: Mark file so fixincludes won't modify it.

1998-10-15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/ioctls.h: Remove __kernel_termios
	again.  Use char[44] to define size of the struct.

	* sysdeps/unix/sysv/linux/arm/Dist: Add bits/armsigctx.h.

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

	* string/bits/string2.h (strcmp): Don't cache the result of
	__builtin_constant_p in variables, otherwise constant folding
	can fail in big functions.

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

	* string/bits/string2.h: Add prototypes for the new inline
	functions.

1998-10-15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/ioctls.h: Include termios.h to
	have all types defined.
	Patch by Matti Aarnio <matti.aarnio@sonera.fi>.

1998-10-08  Paul Eggert  <eggert@twinsun.com>

	* time/mktime.c (my_mktime_localtime_r): Renamed from localtime_r.
	Define also if HAVE_LOCALTIME_R && defined localtime_r, with
	a body that merely expands localtime_r; this works around a
	bug in Digital Unix 4.0A and 4.0D.

1998-10-14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_ioctl.
	* sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: New file. Define
	__ioctl to __syscall_ioctl and include Linux version of this file.
	* sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/ioctl.c: New file.  Redirect
	ioctl calls which handle struct termios.
	Based on a patch by Dan Jacobowitz <drow@false.org>.

1998-10-14  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.98.

	* sysdeps/unix/sysv/linux/alpha/bits/ioctls.h: Define __kernel_termios
	here instead of including kernel_termios.h.

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

	* sysdeps/unix/opendir.c (__opendir): Remove label lose2 which is
	unnecessary after the changes of 1998-10-12.

1998-10-13  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c (inline_outb): Fix output
	parameter format string.
	(inline_outw): Likewise.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Include
	string.h to get memcpy prototype and NULL definition.

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

	* misc/sys/cdefs.h (__THROW): New macro.
	* argp/argp.h: Use it to replace the kludgey __P in inline
	function definitions.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* libio/stdio.h: Likewise.
	* stdio/stdio.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* string/argz.h: Likewise.
	* io/sys/stat.h: Likewise.

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

	* Rules (stdio_lim): New variable.
	($(stdio_lim:h=st)): Use this as intermediate stamp file, depend
	on Rules and config.make, use $(move-if-change) to avoid unnessary
	recompilations, and cleanup command.
	(common-generated): Add bits/stdio_lim.st.

1998-10-12  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/Makefile (CFLAGS-ioperm.c): New
	variable to prevent warnings from use of modern CPU instructions.
	Patch by Richard Henderson <rth@cygnus.com>.

	* sysdeps/unix/opendir.c: Test whether NAME is directory before
	opening it.

1998-10-12  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Add missing
	semicolon so that profiling works.

1998-10-12  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/glob.c: #undef mempcpy before #define.

	* sysdeps/unix/bsd/clock.c: Use prototype defns.

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

	* Rules [posix in sysdirs]: Set L_tmpnam to 20.
	Patch by Zack Weinberg <zack@rabi.columbia.edu>.

	* string/bits/string2.h [!_STRING_ARCH_unaligned]
	(__mempcpy_small): Add parameter for 1 byte copy and use it.
	Reported by Geoff Keating <geoffk@ozemail.com.au>.

1998-10-09  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/bits/posix_opt.h (_XBS5_ILP32_OFF32): Remove,
	it is already defined in <bits/environments.h>.

1998-10-09  Ulrich Drepper  <drepper@cygnus.com>

	* posix/ptestcases.h: Fix typo.

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

	* posix/regex.c (regcomp): Allocate and prepare a fastmap.
	(regexec): Allocate regs.start and regs.end as one block.

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

	* sysdeps/unix/sysv/linux/bits/socket.h: Remove comma at end of
	enum decl.

1998-10-08  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/profil-counter.h: Move definition of
	sigcontext union to ...
	* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: ... here.  New
	file.
	* sysdeps/unix/sysv/linux/arm/register-dump.h: Add support for
	version 2.0 kernels.

1998-10-08  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/mtrace.c (tr_reallochook): Produce better output for real
	reallocation case.

	* signal/sigsetops.c: Make sure __USE_EXTERN_INLINES is defined.
	* argp/argp-xinl.c: Likewise.

	* sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add missing
	Ruffian entry back.
	Patch by Christian Gafton.

1998-10-08  Paul Eggert  <eggert@twinsun.com>

	* time/mktime.c (__mktime_internal): When the requested time falls
	in a spring-forward gap of size DT, return a time that is DT away
	from the requested time, preferring a time whose tm_isdst differs
	from the requested value.  Bump the max number of probes from 4 to
	6 to account for the extra probes needed to discover a
	spring-forward gap in the worst case.

1998-10-07 17:05  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: Improve the autodetection
	of the weird alpha architectures.
	Patch by Cristian Gafton <gafton@redhat.com>.

1998-02-18 23:31  Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: Add support for
	RAWHIDE and TSUNAMI.  Patch from Jay.Estabrook@digital.com.

1998-10-07  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-open.c (_dl_global_scope_alloc): Make global.
	(dl_open_worker): Use realloc, not malloc to resize array.
	* elf/rtld.c (_dl_initial_searchlist): New variable.
	(_dl_main): Copy content of _dl_main_searchlist to
	_dl_initial_searchlist.
	* elf/ldsodefs.h: Add declarations for _dl_initial_searchlist and
	_dl_global_scope_alloc.
	* elf/Versions [libc, GLIBC_2.1]: Add _dl_initial_searchlist.
	* elf/dl-close.c (_dl_close): When removing object with global
	scope remove allocated searchlist if no dynamically loaded object
	is on it anymore.
	* elf/dl-support.c (_dl_initial_searchlist): Renamed from fake_scope.
	(_dl_global_scope, _dl_main_searchlist): Use _dl_initial_searchlist.

	* malloc/mtrace.c (tr_where): Don't print space in location string,
	print it afterwards.  Print better symbol name information.

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

	* manual/filesys.texi (Setting Permissions): Fix example for
	reading umask.

1998-10-07  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/sprof.c (load_profdata): Fix typo in error message.

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

	* sysdeps/m68k/dl-machine.h (RTLD_START): Fix clearing startup
	flag.

1998-10-04  Roland McGrath  <roland@baalperazim.frob.com>

	* mach/mach.h: Remove __mach_msg decl; <mach/message.h> now does it.

1998-10-06  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.97.

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

	* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Use __P
	in definitions of inline stat functions so that they match the
	declaration.
	* stdlib/stdlib.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* libio/stdio.h: Likewise.
	* stdio/stdio.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* string/argz.h: Likewise.
	* argp/argp.h: Likewise.

1998-10-06  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/bits/in.h: Remove ipv6_mreq which is in
	netinet/in.h.

1998-10-05  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/bits/in.h: Add various new structures
	and constants.  Tidy up formatting a little.

	* sysdeps/unix/sysv/linux/bits/socket.h (SOL_IPV6, SOL_ICMPV6):
	Move definitions to in.h.

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

	* sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
	SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added.
	Remove inclusion of <linux/swap.h>.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* io/sys/stat.h: Use __P in definitions of inline stat functions
	so that they match the declaration.

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

	* sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added.

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

	* sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current
	linux 2.1 version.

1998-10-02  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/dl-machine.h: Fix typo in last change.

	* sysdeps/arm/bits/huge_val.h: New file.

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

	* sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added.

	* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add
	define.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to
	store result of realloc instead of using BUF.

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

	* misc/sgtty.h (_SGTTY_H): Correct spelling.
	Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817].

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

	* manual/memory.texi (Obstacks): Document
	obstack_alloc_failed_handler usage.

	* malloc/obstack.h: Enhance comment about
	obstack_alloc_failed_handler usage.
	* malloc/obstack.c: Likewise.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* misc/sys/cdefs.h (__extension__): Define as empty if no gcc or
	gcc before 2.8 is used.

1998-10-01  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/machine-gmon.h: Correct args to mcount().  Patch
	from Scott Bambrough.

	* sysdeps/unix/sysv/linux/arm/register-dump.h: New file.

	* libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't
	include the lock member.

1998-09-03  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler.

1998-10-01  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/zic.c: Update from tzcode1998h.
	* timezone/europe: Update from tzdata1998i.
	* timezone/southamerica: Likewise.

	* sys/types.h: Protect use of long long by __extension__.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/geeric/bits/byteswap.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-32/stdint.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

1998-09-29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* string/bits/string2.h (__string2_1bptr_p): Don't use a statement
	expression.
	(__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk,
	__strsep): Greatly reduce size of expansion by combining common
	expressions.
	(__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to
	inline function.
	(__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used
	by the above definitions.

1998-09-27  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use
	correct struct ipc_perm definition.

1998-09-29  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free.

1998-09-29  Cristian Gafton  <gafton@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[].
	* sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
	* sysdeps/unix/sysv/linux/Dist: Add net/if_shaper.h.
	* sysdeps/unix/sysv/linux/Makefile [subdirs=inet] (sysdep_headers):
	Add net/if_shaper.h.

1998-09-29  Ulrich Drepper  <drepper@cygnus.com>

	* nis/ypclnt.c (yp_all): Close socket opened by __yp_bind.

	* nis/ypclnt.c: Remove not needed close calls.

1998-09-28 23:55  Ulrich Drepper  <drepper@cygnus.com>

	* nis/ypclnt.c (__yp_bind): Pretty print.  Optimize readv result
	check a bit.  Also close socket of domain client.  Close socket
	in IPPORT_RESERVED error case.

1998-09-28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Use
	CMSG_ALIGN (fixes a bug) and correct test for availability of
	another entry.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Sync with generic
	Linux version.
	(__cmsg_nxthdr): Use CMSG_ALIGN (fixes a bug) and correct test for
	availability of another entry.
	Patch by ak@muc.de.

	* sysdeps/unix/sysv/linux/netinet/ip.h (IPOPT_NOOP): Fix typo.
	Patch by ak@muc.de.

	* libio/libio.h [!__STDC__]: Define const only if not defined.

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

	* posix/annexc.c (xsystem): New function.  Use it instead of
	system.

1998-09-28  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/longlong.h: Remove #endif for #if removed in last change.

1998-09-25  Ulrich Drepper  <drepper@cygnus.com>

	* time/strftime.c [emacs]: Define my_strftime to emacs_strftimeu.
	Define ut_argument, ut_argument_spec, and ut_argument_spec_iso to
	allow using `ut' parameter.
	[!emacs]: Define ut_argument, ut_argument_spec, and
	ut_argument_spec_iso as empty.  Define ut to 0.  Add ut_argument and
	argument_spec to prototypes and definitions.
	(my_strftime): Don't call tzset of ut != 0.
	Compute diff as 0 is ut != 0;
	[emacs]: Define new emacs_strftime function.
	Based on a patch by Paul Eggert.

1998-09-24  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (my_strftime): When asking for the length of the
	subformatted buffer, do not limit the length to look for;
	otherwise, we have no reliable way to distinguish between the
	empty buffer and an error.

1998-09-25  Ulrich Drepper  <drepper@cygnus.com>

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

1998-09-25  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear bits don't
	set them.
	* stdlib/longlong.h (sparc udiv_qrnnd): Define inline version for
	cpus lacking hardware multiply and divide.

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

	* db/Makefile ($(inst_slibdir)/libdb.so$(libdb1.so-version)): Use
	$(<F), not $(^F).

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

	* db/btree/bt_delete.c: Fix -Wparentheses warning.

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

	* Makefile ($(inst_includedir)/gnu/lib-names.h): Use
	$(do-install).

1998-09-24  Ulrich Drepper  <drepper@cygnus.com>

	* debug/catchsegv.sh: Also produce output if clone process died.

1998-09-24  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (f_wkday): Remove duplicate definition.
	(f_wkday, f_month, a_wkday, a_month, ampm): Define as macros when
	!defined _NL_CURRENT && !HAVE_STRFTIME; this propagates the
	1998-09-11 fix to this case.
	(wkday_len, month_len): Remove these macros; they're no longer needed.

1998-09-24  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (my_strftime): Don't store past the end of a
	zero-sized buffer.

1998-09-24  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (underlying_strftime):
	Set the buffer to a nonzero value before calling
	strftime, and check to see whether strftime has set the buffer to zero.
	This lets us distinguish between an empty buffer and an error.

1998-09-24  Paul Eggert  <eggert@shade.twinsun.com>

	* time/strftime.c (INT_STRLEN_BOUND): Fix typo by changing 100 to 1000.
	This fix is propagated from tzcode1998g.tar.gz.

1998-09-24  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/siglist.c: Make sys_siglist a weak alias for
	_sys_siglist.  [!HAVE_GNU_LD]: Do not define _sys_siglist as
	sys_siglist.  This is handled correctly by the weak_alias macro.

1998-09-24  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/getcwd.c: Prevent compiler warning from redefinition
	of mempcpy.  Reported by Andreas Jaeger.

	* misc/regexp.h (compile): Use alloca instead of __alloca.  It won't
	pollute the namespace since the compiler will resolve it inline.
	Reported by Florian La Roche <florian@suse.de>.

1998-09-24 10:29  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/private.h: Update from tzcode1998g.

	* timezone/africa: Update from tzdata1998h.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

1998-09-23 17:28 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* misc/sys/mman.h: New file.

	* sysdeps/generic/bits/mman.h: New file.
	* sysdeps/unix/bsd/osf/bits/mman.h: New file.
	* sysdeps/unix/bsd/sun/sunos4/bits/mman.h: New file.
	* sysdeps/unix/bsd/ultrix4/bits/mman.h: New file.
	* sysdeps/unix/sysv/irix4/bits/mman.h: New file.

	* sysdeps/generic/sys/mman.h: Removed.
	* sysdeps/unix/bsd/osf/sys/mman.h: Removed.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Removed.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Removed.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Removed.
	* sysdeps/unix/sysv/linux/sys/mman.h: Removed.

	* include/sys/mman.h: Look directly for misc/sys/mman.h.
	* misc/Makefile (headers): Add bits/mman.h.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
	bits/mman.h.

	* sysdeps/unix/sysv/linux/alpha/Dist: Don't mention bits/mman.h.
	* sysdeps/unix/sysv/linux/arm/Dist: Likewise.
	* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
	* sysdeps/unix/sysv/linux/mips/Dist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise.

1998-09-23 16:27 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/mach/alpha/sysdep.h: Don't use #include_next.
	* sysdeps/mach/alpha/thread_state.h: Likewise.
	* sysdeps/mach/i386/sysdep.h: Likewise.
	* sysdeps/mach/i386/thread_state.h: Likewise.
	* sysdeps/mach/mips/sysdep.h: Likewise.
	* sysdeps/mach/mips/thread_state.h: Likewise.
	* sysdeps/posix/profil.c: Likewise.
	* sysdeps/i386/i586/memcopy.h: Likewise.
	* sysdeps/mach/pagecopy.h: Likewise.

1998-09-23 15:25  Ulrich Drepper  <drepper@cygnus.com>

	* libio/stdio.h: Define __need_getopt and include getopt.h to define
	getopt stuff.
	* posix/unistd.h: Likewise.
	* stdio/stdio.h: Likewise.
	* posix/getopt.h: Remove _GNU_SOURCE use.  If __need_getopt is defined
	define only getopt and the variables.

1998-09-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* scripts/test-installation.pl (installation_problem): Don't link
	the test program against libdb1.

1998-09-23 13:52  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (all-subdirs): Add db.
	* Versions.def: Add definition for libdb1.
	* shlib-versions: Add definitions for libdb1.
	* db/Makefile (extra-libs): Replace by libdb1.
	(libdb-routines): Rename to libdb1-routines.
	(headers): Rename to db1-headers.
	(distribute): Add $(db1-headers).
	(install-others): Define to install symlink libdb.so.NN and the
	$(db1-headers).
	(CPPFLAGS): Add -DUSE_LIBDB1
	Remove rules to build makedb.
	* db/Versions: Rename libdb to libdb1.
	* include/db.h: If USE_LIBDB1 is defined include db/db.h.
	* db/makedb.c: Removed.

	* scripts/versions.awk: Recognize digits in library names.

	* db/btree/bt_open.c: Fix compiler warnings.
	* db/btree/bt_put.c: Likewise.
	* db/btree/bt_split.c: Likewise.
	* db/hash/hash.c: Likewise.
	* db/hash/hash_bigkey.c: Likewise.
	* db/recno/rec_close.c: Likewise.

	* Makefile: Add localedata/% goal.

1998-09-22 19:58 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* posix/execvp.c: Don't give up searching the PATH if execve
	returns ENOTDIR.

1998-09-22 12:53  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/init-first.c (init): Don't call setfpucw only
	if _dl_fpu_control_set is set.
	* sysdeps/generic/dl-sysdep.c: Don't set _dl_fpu_control_set.
	* elf/rtld.c: Don't define _dl_fpu_control_set.
	* elf/Versions: Remove _dl_fpu_control_set.

1998-09-22 11:51  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (SA_ONSTACK): Define.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
	Correct values of other SA_* macros according to kernel headers.

1998-09-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-load.c (_dl_init_paths): Avoid warning about unused
	variable l.
	* elf/dl-error.c (_dl_catch_error): Avoid warning about clobbering
	old.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldsodefs.h: Fix typo in comment.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/genops.c (_IO_default_pbackfail): Add cast to unsigned
	char when comparing buffer contents with putback character.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/Makefile (dl-routines, elide-routines.os, rtld-routines):
	Undo last change.
	* elf/Versions: Undo last change.  Export _dl_fpu_control and
	_dl_fpu_control_set.
	* elf/rtld.c (_dl_fpu_control, _dl_fpu_control_set): New
	variables.  Include <fpu_control.h>.
	* sysdeps/generic/dl-sysdep.c: Store AT_FPUCW value in
	_dl_fpu_control instead of __fpu_control, set _dl_fpu_control_set
	to indicate that is was seen.
	* sysdeps/unix/sysv/linux/init-first.c: Omit call to __setfpucw
	only if _dl_fpu_control was set and is equal to desired value.
	* math/Makefile (aux): Undo last change.
	* math/Versions: Export __fpu_control with version GLIBC_2.0.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/dl-machine.h (elf_machine_lazy_rel): Slightly
	optimized.

1998-09-21 10:00  Ulrich Drepper  <drepper@cygnus.com>

	* string/bits/string2.h: Add mempcpy optimization.
	* sysdeps/generic/mempcpy.c: Undefined __mempcpy.
	* intl/localealias.c: Define mempcpy only if not already defined.

	* sysdeps/i386/i486/bits/string.h: Define ffsl only if not already
	defined.

1998-09-20 10:48 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* csu/abi-note.S: Emit the note directly instead of defining
	a preprocessor macro that's only used once.  Don't include sysdep.h.
	* abi-tags: Generalize Solaris entry.

1998-09-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/bsd/getpt.c (__libc_ptyname1, __libc_ptyname2):
	Change to array to avoid runtime relocation.
	* sysdeps/unix/sysv/linux/ptsname.c: Update declarations.

1998-09-21 12:22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/Makefile ($(objpfx)libmcheck.a): Fix use of $(LN_S).
	* math/Makefile ($(objpfx)libieee.a): Likewise.

1998-09-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/getpt.c: Fix order of argument to weak_alias.
	Patch by John Tobey <jtobey@banta-im.com>.

1998-09-20  Ulrich Drepper  <drepper@cygnus.com>

	* login/Makefile (distribute): Remove pty-internal.h, add
	pty-private.h.

	* stdlib/tst-strtol.c: Add more checks.
	Patch by Zack Weinberg <zack@rabi.columbia.edu>.

1998-09-20 09:37  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Versions [GLIBC_2.1] (libc): Add __fpu_control.
	* elf/elf.h: Add AT_FPUCW.
	* elf/Makefile (dl-routines): Add fpu_control.
	(elide-routines.os): Add fpu_control.
	(rtld-routines): Add fpu_control.
	* math/Makefile (aux): Remove fpu_control.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle AT_FPUCW.
	(_dl_show_auxv): Likewise.
	* sysdeps/unix/sysv/linux/init-first.c (init): Use __setfpucw only
	if different from OS default.

	* stdio-common/tstscanf.c: Add test case for (nil).

1998-09-18 17:41  Ulrich Drepper  <drepper@cygnus.com>

	* libio/fileops.c (_IO_new_file_underflow): Before allocating
	buffer make sure the pushback buffer is destroyed.
	(_IO_new_file_seekoff): Likewise.
	If mode==0 quit early with the result.
	Clear OEF flag after successful fseek.
	* libio/libio.h (_IO_FILE_complete): Add _IO_save_ptr.
	* libio/ftello.c (ftello): Add offset from original buffer if
	stream has pushed back characters.
	* libio/ftello64.c (ftello64): Likewise.
	* libio/iofgetpos.c (_IO_fgetpos): Likewise.
	* libio/iofgetpos64.c (_IO_fgetpos64): Likewise.
	* libio/ioftell.c (_IO_ftell): Likewise.
	* libio/genops.c (_IO_switch_to_main_get_area): Swap _IO_read_ptr
	and _IO_save_ptr.
	(_IO_switch_to_backup_area): Save _IO_read_ptr in _IO_save_ptr.
	(_IO_default_pbackfail): Only stored push back character in original
	buffer if it is the same as the one in the file at this position.
	* libio/iofclose.c: Free backup buffer if one is available.
	* libio/ioseekoff.c (_IO_seekoff): Only remove pushback buffer if
	mode!=0.

	* strdlib/strtol.c (strtol): Handle 0x... string for base!=0 correctly.

	* time/strftime.c [_LIBC] (ampm): Use tp->tm_hour not hour12.

	* stdio-common/vfscanf.c: Fix reading (nil) for %p.

1998-09-18  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/programs/pt_chown.c (more_help): Correct message that
	describes the purpose of the program.

	* login/openpty.c: Do not include pty-private.h.
	(pts_name): New function.  Return name of slave pseudo terminal in
	an allocated buffer if necessary.
	(openpty): Use pts_name to get name of the slave end of the pseudo
	terminal pair.

	* sysdeps/unix/grantpt.c (grantpt): Free buffer allocated by
	pts_name before return.

1998-09-18 11:15  Ulrich Drepper  <drepper@cygnus.com>

	* math/math.h: Define __NO_MATH_INLINES if __STRICT_ANSI__.

1998-09-18  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* login/openpty.c: Include pty-private.h instead of
	pty-internal.h.

1998-09-09  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/dl-machine.h (elf_machine_lazy_rel): Optimise a bit.

1998-09-07  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/dl-machine.h (RTLD_START): Keep in step with
	recent ld.so changes.
	(elf_machine_runtime_setup): Correct behaviour when profiling.

1998-09-17 19:34  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/sysv4/bits/utsname.h: Fix typo.
	Patch by John Tobey <jtobey@banta-im.com>.

1998-09-17  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/pty-internal.h: Removed.  Moved constants related to the
	`grantpt' helper program protocol to ...
	* login/pty-private.h: ... here.  New file.
	* sysdeps/unix/sysv/linux/ptsname.c (ptsname): Reimplementation
	to make the function work with kernels >= 2.1.115.
	* sysdeps/unix/sysv/linux/getpt.c (getpt): Reimplement to call BSD
	version if using the cloning device fails.
	* sysdeps/unix/sysv/linux/grantpt.c: New file.
	* sysdeps/unix/sysv/linux/unlockpt.c: General cleanup.
	* sysdeps/unix/bsd/getpt.c (__getpt): Largely rewritten to allow
	use by Linux specific code.
	* sysdeps/unix/bsd/unlockpt.c: General cleanup.
	* sysdeps/unix/grantpt.c: Largely rewritten.  (pts_name): New
	function.  (grantpt): Use pts_name, check group and permission
	mode in addition to owner.  Try to set the owner, group and
	permission mode first without invoking the helper program.
	* login/programs/pt_chown.c: Largely rewritten.  Add argp and
	internationalization support.  Use symbolic constants instead of
	hardwired numbers for permission mode.
	* sysdeps/unix/bsd/ptsname.c: New file.

1998-09-17 22:04  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Undo last change.

	* posix/wordexp.c: Undo last change.

1998-09-16  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/grpcache.c (save_grp): Partly undo last change.

	* nscd/pwdcache.c (save_pwd): Undo last change.

1998-09-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy
	function.  Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789].

1998-09-15  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
	Add profiling support.
	(TRAMPOLINE_TEMPLATE): New macro.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
	(RTLD_START): Prettify, and set __libc_stack_end properly.
	(elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef
	and check for sym being NULL instead.
	* sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes
	of stack space.
	* sysdeps/sparc/sparc64/lshift.S: Likewise.
	* sysdeps/sparc/sparc64/mul_1.S: Likewise.
	* sysdeps/sparc/sparc64/rshift.S: Likewise.
	* sysdeps/sparc/sparc64/submul_1.S: Likewise.
	* sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old
	MEDANY code model %g4 usage.
	* sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old
	MEDANY code model %g4 usage.
	* sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY
	code model address formation.
	* sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do
	include elf/ldsodefs.h
	(DT_SPARC): Remove.
	(elf_machine_matches_host): It is now EM_SPARCV9.
	(elf_machine_dynamic): Clean up to remove ugly cast.
	(elf_machine_fixup_plt): Rework for new V9 ABI, add support for
	new PLT formats.
	(elf_machine_rela): Don't do anything at all for R_SPARC_NONE.
	Prettify rest of function.
	[R_SPARC_COPY]: Check for sym being NULL.
	[R_SPARC_32]: Handle it.
	[R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the
	MEDMID code model.
	[R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the
	MEDANY code model.
	[R_SPARC_NONE]: Remove this case, as it is now checked earlier.
	(elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats.
	Add profiling support.
	(TRAMPOLINE_TEMPLATE): New macro.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
	(RTLD_START): Prettify and set __libc_stack_end.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO):
	Define.
	* sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64.
	(SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define.
	* sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove
	unused variable scratch.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
	(__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub):
	Declare.
	(__sigaction): Rewrite rt_sigaction case to pass correct sigreturn
	stub to rt_sigaction syscalls.  Rewrite non-rt case to use correct
	old format kernel sigaction structures.
	* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move...
	* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix
	ucontext include.
	(_JMPBUF_UNWINDS): Define.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare
	statfs64 structure, which is exactly the same as the normal one.
	* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes
	of stack.  Use correct syscall trap number.  Add branch prediction
	settings to branch instructions.  Remove old MEDANY code model %g4
	referneces for non-PIC.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
	__libc_longjmp and __libc_siglongjmp strong aliases.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64):
	Also define to __no__readdir64_decl around readdir.c inclusion.
	(__readdir64): Add strong alias.
	* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit):
	Set strong and weak names properly.

1998-09-16 11:25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/Makefile (AWK): Default to gawk if standalone.

1998-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (distribute): Undo last change.
	* Make-dist (+tsrc) [not subdir]: Also include indirection headers
	for sysdep headers.
	(+subdir-headers): Removed, unused.

1998-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use
	$(do-install).

1998-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for
	absolute name in $(config-sysdirs), can never happen.
	($(+sysdir_pfx)sysd-rules): Likewise.
	* Makeconfig (full-config-sysdirs): Likewise.
	(all-Subdirs-files): Prepend $(..).

	* configure.in: Don't check for absolute name in $add_ons_pfx, can
	not happen.  Let --enable-add-ons=yes work if no add-ons actually
	exist.

1998-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Rules ($(common-objpfx)bits/stdio_%.h): Remove extra
	continuations in command.

1998-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/oldstdfiles.c (_IO_stdin_used): Update declaration.

1998-09-16 00:47  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: If expansion or substitution occurs
	anywhere in a word, the entire word is subject to field-splitting.

	* posix/wordexp.c (parse_glob): Look for end of word instead of
	end of field when deciding what to glob.
	(field_split_word): New function, now the only place where
	field-splitting is performed.
	(parse_dollars): New parameter - tell the caller if
	field-splitting should be performed on this word.

	* posix/wordexp-test.c (testit): Only call wordfree if wordexp
	succeeded (or failed with WRDE_NOSPACE).

1998-09-15 19:53 1998  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (wordexp): Don't convert IFS characters to
	blanks.

	* posix/wordexp-test.c: Words not the result of expansion or
	substitution should remain unchanged.

1998-09-15  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dynamic-link.h [!ELF_MACHINE_PLTREL_OVERLAP]
	(_ELF_DYNAMIC_DO_RELOC): Correctly set ranges[1].lazy.

1998-09-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdio-common/Makefile: Include Makeconfig so that
	$(inst_includedir) is defined.

1998-09-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* io/pwd.c: Include <mcheck.h>.

1998-09-15 08:00  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/pwdcache.c (save_pwd): Correct copying.
	* nscd/grpcache.c (save_grp): Likewise.

1998-09-14 23:36  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/pwdcache.c (save_pwd): Rewrite to use only one malloc call.
	(free_pwd): Adjust for this change.
	* nscd/grpcache.c (save_grp): Rewrite to use only one malloc call.
	(free_grp): Adjust for this change.

1998-09-14  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/pwdcache.c (cache_pwdinit): Allocate uidtbl of correct size.

1998-09-14 15:29  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/Makefile (headers): Remove bits/stdio_lim.h.
	(install-others): Add bits/stdio_lim.h.
	Add rule to install bits/stdio_lim.h.

	* sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist: New file.

	* Makefile (distribute): Add include/sys/mman.h.

	* sysdeps/powerpc/Dist: Add dl-machine.c and dl-start.S.
	* sysdeps/unix/sysv/linux/Dist: Add sys/sendfile.h.
	* sysdeps/unix/sysv/linux/arm/Dist: Add init-first.h.

	* grp/initgroups.c: Include stdlib.h.
	Patch by Zack Weinberg.

1998-09-14 22:46  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Chet Ramey confirmed that bash's behaviour
	for field-splitting :abc: is correct, and that two fields should
	result. Revert tests to reflect this.

	* posix/wordexp.c (w_emptyword): Remove function.
	(exec_comm): Don't use w_emptyword.
	(parse_param): Likewise.

1998-09-14 15:00  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/arm/fpu/Dist: Moved to...
	* sysdeps/arm/Dist: ...here.
	* sysdeps/posix/Dist: Removed.
	* sysdeps/unix/sysv/linux/Dist: Move sys/debugreg.h to...
	* sysdeps/unix/sysv/linux/i386/Dist: ...here.

1998-08-26  Geoff Keating  <geoffk@ozemail.com.au>

	* csu/init.c: Don't drag _IO_2_1_stdin_ into the executable.

1998-09-14 11:26  Ulrich Drepper  <drepper@cygnus.com>

	* wcsmbs/wcsmbs-tst1.c: Include stdlib.h.

1998-09-14  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* libc-work/nis/nss_nisplus/nisplus-service.c
	(_nss_nisplus_parse_servent): Convert port in network byte order.

1998-09-14 07:53 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* stdlib/stdlib.h: Add a switch, __need_malloc_and_calloc,
	to provide only malloc and calloc.
	* include/stdlib.h: Support the above.
	* string/bits/string2.h: Use __need_malloc_and_calloc when
	including stdlib.h.
	(__string2_1bptr_p): Avoid -Wbad-function-cast warnings.

	* iconvdata/iso-2022-jp.c: Include <stdlib.h>.
	* iconvdata/iso646.c: Include <stdlib.h>.

1998-09-14 07:51 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sunrpc/rpc_cout.c: Add braces around ambiguous else.
	* sysdeps/libm-ieee754/w_pow.c: Likewise.
	* sysdeps/libm-ieee754/w_powf.c: Likewise.
	* sysdeps/libm-ieee754/w_powl.c: Likewise.

1998-09-14 07:57 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* stdio-common/stdio_lim.h.in: New file.  All parameters
	are adjustable at build time.
	* Rules: Add a rule to build bits/stdio_lim.h from
	stdio-common/stdio_lim.h.in.  (It has to be in Rules so that
	all subdirectories know how to make the file.  It can't be
	in Makerules because then it gets built at top level and the
	dependencies are wrong.)

	* stdio-common/Makefile (distribute): Add stdio_lim.h.in.
	* sysdeps/unix/sysv/linux/Makefile: Delete rules to make
	stdio_lim.h.
	* sysdeps/unix/sysv/linux/stdio_lim.h.in: Removed.
	* sysdeps/unix/sysv/linux/Dist: Take out stdio_lim.h.in.
	* sysdeps/posix/Makefile: Removed.
	* sysdeps/posix/mk-stdiolim.c: Removed.
	* sysdeps/generic/bits/stdio_lim.h: Removed.

1998-09-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* argp/argp-help.c: Fixup indentation.
	* nss/nss_files/files-alias.c: Quiet -Wparentheses warning.
	* resolv/nss_dns/dns-network.c: Likewise.
	* resolv/res_send.c: Likewise.
	* rt/aio_cancel.c: Likewise.
	* rt/aio_misc.c: Likewise.

1998-09-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (install-symbolic-link): Remove the link list file at last.
	* Makerules (install-clean-symbolic-link-list): Removed.

1998-09-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* timezone/tst-timezone.c: Print time in UTC to get consistent
	output.

1998-09-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/rtld.c (_dl_rpath): Removed.
	* elf/dl-support.c (_dl_path): Removed.
	* elf/Makefile ($(objpfx)ld.so): Don't pass -rpath.
	(CFLAGS-dl-support.c): Removed.

	* elf/dl-load.c (env_path_list): Renamed from fake_path_list.  All
	uses changed.
	(_dl_init_paths): Always set env_path_list from LD_LIBRARY_PATH,
	instead of appending it to the main map's rpath info.
	(_dl_map_object): Consistently use LD_LIBRARY_PATH after all
	DT_RPATHs.  This makes it effective again.
	(decompose_rpath): Remove second parameter, callers changed.
	(fillin_rpath): Allocate enough space in curwd.
	(expand_dynamic_string_token): Cope with get_origin returning -1.

1998-09-14  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* libc-work/nis/nss_compat/compat-pwd.c: Add support for
	passwd.adjunct.

	* nis/nss_nis/nis-pwd.c (_nss_nis_getpwent_r): Correct test for
	invalid password.

1998-09-13 18:06  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/locale.c: Update dates.

1998-09-13  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/generic/bits/types.h: Include <features.h>.  Make sure
	size_t is defined.  Some reordering of definitions to make
	maintaining this file in parallel with the linux-specific file easier.

1998-09-13  Ulrich Drepper  <drepper@cygnus.com>

	* io/pwd.c (main): Add call to mtrace.

	* malloc/mtrace.pl: Quote @ in string.

1998-09-13 19:25  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (parse_arith): Fix memory leaks.
	(exec_comm): Likewise.
	(parse_param): Likewise.
	(wordexp): Likewise.
	(exec_comm): Reduce number of function return points.
	(parse_param): Likewise.
	(wordexp): Likewise.

1998-09-13 14:53  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Field-splitting ':abc:' with IFS=: should
	yield three fields, not two.  Test both parameter expansion and
	command substitution for correct field-splitting behaviour.

	* posix/wordexp.c (w_emptyword): New function.
	(parse_param): Use it.
	(exec_comm): Likewise, for consistency with the way parse_param
	splits fields.
	(parse_param): Fix some memory leaks.

1998-09-13 18:04  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/dl-machine.c (PPC_DCBST,PPC_SYNC,PPC_ISYNC,PPC_ICBI):
	Don't mark asm `volatile'.
	(__elf_machine_runtime_setup): Clear the last partial block in the PLT
	from the data cache too.  Assume it isn't in the instruction cache yet.
	(__elf_machine_fixup_plt): Clear the modified address from the caches.

1998-09-12  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/generic/segfault.c (install_handler): Install signal
	handler with SA_ONSTACK instead of setting the stack flags to
	SS_ONSTACK.  Do not install handler for SIGSTKFLT if it is not
	defined.

1998-09-12 14:24 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* signal/signal.h: Fix multiple inclusion guard to cover the
	entire file.
	* wcsmbs/wchar.h: Remove prototype of internal function
	__mbsrtowcs.
	* sysdeps/i386/i486/bits/string.h (memchr): Don't do
	arithmetic on `void *'.

1998-09-12 01:09  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Fix wrong tests.  Add new tests.

	* posix/wordexp.c (wordexp): Perform word-splitting instead of
	field-splitting here.
	(wordexp): If out of memory mid-word, free the word (but still
	leave pwordexp alone for caller to see).
	(parse_param): Allow for zero-length fields (smarter checking of
	memory allocation failure).
	(w_addword): Convert NULL words to "".
	(wordexp): Convert left-over IFS characters to blanks (like bash).

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

	* configure.in: Use test -f instead of test -e.
	Patch by John Tobey <jtobey@banta-im.com>.

	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h: New file.
	* sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h: New file.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h: New file.
	* sysdeps/unix/sysv/linux/sigstack.c: Fix typo.
	* sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c: Fix typo.
	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h: New file.
	* sysdeps/unix/sysv/sysv4/solaris2/sys/param.h: New file.
	Patches by John Tobey <jtobey@banta-im.com>.

	* time/strftime.c (my_strftime): Delay use of *tp values until
	latest possible point to allow partly initialized structures
	(e.g., from strptime).

	* iconvdata/Makefile (modules): Add ISO_10367-BOX, MAC-IS, NATS-DANO,
	and NATS-SEFI.
	Define *-routines variables for new modules.
	(distribute): Add .c files for new modules.
	(awk-generated-headers): Add iso_10367-box.h, mac-is.h, nats-dano.h,
	and nats-sefi.h.
	Add rules for header generation.
	* iconvdata/gconv-modules: Add entries for new modules.
	* iconvdata/iso_10367-box.c: New file.
	* iconvdata/mac-is.c: New file.
	* iconvdata/nats-dano.c: New file.
	* iconvdata/nats-sefi.c: New file.

1998-04-30 18:20  H.J. Lu  <hjl@gnu.org>

	* elf/dl-load.c (_dl_init_paths): Don't check the dynamic
	loader if PIC is not defined.

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

	* iconvdata/Makefile (modules): Add CSN_369103, CWI, DEC-MCS,
	ECMA-CYRILLIC, GOST_19768-74, GREEK-CCITT, GREEK7, GREEK7-OLD, INIS,
	INIS-8, INIS-CYRILLIC, ISO_6937-2, ISO_2033, ISO_5427, ISO_5427-EXT,
	and ISO_5428.
	Define *-routines variables for new modules.
	(distribute): Add .c files for new modules.
	(awk-generated-headers): Add csn_369103.h, cwi.h, dec-mcs.h,
	ecma-cyrillic.h, gost_19768-74.h, greek-ccitt.h, greek7.h,
	greek7-old.h, inis.h, inis-8.h, inis-cyrillic.h, iso_2033.h,
	iso_5427.h, iso_5427-ext.h, and iso_5428.h.
	Add rules for header generation.
	* iconvdata/gconv-modules: Add entries for new modules.
	* iconvdata/csn_369103.c: New file.
	* iconvdata/cwi.c: New file.
	* iconvdata/dec-mcs.c: New file.
	* iconvdata/ecma-cyrillic.c: New file.
	* iconvdata/gost_19768-74.c: New file.
	* iconvdata/greek-ccitt.c: New file.
	* iconvdata/greek7-old.c: New file.
	* iconvdata/greek7.c: New file.
	* iconvdata/inis-8.c: New file.
	* iconvdata/inis-cyrillic.c: New file.
	* iconvdata/inis.c: New file.
	* iconvdata/iso6937-2.c: New file.
	* iconvdata/iso_2033.c: New file.
	* iconvdata/iso_5427-ext.c: New file.
	* iconvdata/iso_5427.c: New file.
	* iconvdata/iso_5428.c: New file.

	* iconvdata/iso6937.c (from_ucs4): Correct 0x80, 0x81, and 0xb9
	entries.
	Convert U02dd correctly.

1998-09-11 20:46  Richard Henderson  <rth@cygnus.com>

	* sysdeps/alpha/dl-machine.h (_dl_start_user): Pass pointer to
	_dl_main_searchlist not _dl_default_scope to _dl_init_next.
	* sysdeps/sparc/sparc32/dl-machine.h (_dl_start_user): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h (_dl_start_user): Likewise.

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

	* resolv/res_init.c (res_init): Handle resolv.conf file with only
	one nameserver correctly.  Patch by HJ Lu.

	* iconvdata/Makefile (modules): Add IEC_P27-1, BALTIC, ASMO_449,
	and ANSI_X3.110.
	Define *-routines variables for new modules.
	(distribute): Add .c files for new modules.
	(awk-generated-headers): Add iec_p27-1.h, baltic.h, and asmo_449.h.
	Add rules for hedaer generation.
	* iconvdata/gconv-modules: Add entries for new modules.  Pretty print.
	* iconvdata/ansi_x3.110.c: New file.
	* iconvdata/asmo_449.c: New file.
	* iconvdata/baltic.c: New file.
	* iconvdata/iec_p27-1.c: New file.

	* iconvdata/t61.c (from_ucs4): Correct 0x23, 0x24, 0x80, and 0x81
	entries.
	Convert U02dc correctly.

	* math/atest-exp.c: Add parentheses to avoid gcc warnings.
	* math/atest-exp2.c: Likewise.
	* math/atest-sincos.c: Likewise.

	* posix/getopt.h: Don't define non-POSIX stuff unless _GNU_SOURCE
	is defined.

1998-09-11 10:51  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* string/strcoll.c: Optimize a few expressions.
	* string/strxfrm.c: Likewise.

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

	* manual/locale.texi: Fix typos.

1998-09-10  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/random_r.c (__setstate_r): Allow call with same state
	array as currently used (PR libc/774).

	* include/limits.h: Include gcc's header even if this file is
	found more than once before it (PR libc/778)

	* sysdeps/unix/sysv/linux/Makefile [subdir==misc]
	(sysdep_headers): Remove sys/debugreg.h.
	* sysdeps/unix/sysv/linux/i386/Makefile [subdir==misc]
	(sysdep_headers): Add sys/debugreg.h.
	* sysdeps/unix/sysv/linux/sys/debugreg.h: Removed.
	* sysdeps/unix/sysv/linux/i386/sys/debugreg.h: New file.

	* stdio-common/tmpnam.c: Move local static variable buf to
	toplevel and rename to tmpnam_buffer to ease debugging.
	Patch by Joe Keane <jgk@jgk.org>.
	Optimize s == NULL case a bit.

	* iconvdata/testdate/ISO-8859-10..UCS2: Update after charmap
	correction.

1998-09-10 12:51  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/res_init.c (res_init): Initialize _res.nscount and
	_res.nsaddr.sin_port differently for the can when no loopback
	is available to allow immediate timeout in non-networking environments.
	Patch by Cristian Gafton <gafton@redhat.com>.

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

	* localedata/charmaps/ISO-8859-10: Character 0xBD is HORIZONTAL
	BAR and not EM DASH.
	* localedata/charmaps/ISO_8859-SUPP: Likewise (character 0xD0).
	* localedata/charmaps/ISO-8859-7: Likewise (character 0xAF).
	Fixes PR libc/717.

1998-09-10 11:53  Ulrich Drepper  <drepper@cygnus.com>

	* timezone/Makefile: Add rules to generate Asia/Tokyo zoneinfo files
	for test.
	* timezone/tst-timezone.c (tests): Fix typo in last patch.

	* time/tzfile.c (__tzfile_read): Handle case when there are no
	transitions.  Set __timezone based on computed offset.
	* time/tzset.c (tzset_internal): Set __timezone before returning.

	* time/tzset.c (tzset_internal): Optimize handling of local string
	copy.

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

	* timezone/tst-timezone.c (tests): Add test for Asia/Tokyo (see PR
	libc/776).

1998-09-09  Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* math/libm-test.c (exp10_test): Adapt epsilons for powerpc.
	(csqrt_test): Likewise.
	* sysdeps/powerpc/bits/fenv.h: Add parens.

1998-09-09 18:48  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/powerpc/dl-start.S (_start): Pass pointer to
	_dl_main_searchlist not _dl_default_scope to _dl_init_next.
	Patch by Benjamin Kosnik <bkoz@cygnus.com>.

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

	* elf/dl-close.c (_dl_close): Don't free imap->l_origin if it is
	the special `-1' pointer.

1998-09-09 09:32  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Make function
	inline.

1998-09-07  Paul Eggert  <eggert@twinsun.com>

	* time/mktime.c (__EXTENSIONS__): Define if not defined.
	(_REENTRANT): Remove.  It has undesirable consequences in
	Solaris 2.6 (e.g. it turns off the putc macro).  Defining
	__EXTENSIONS__ makes localtime_r and gmtime_r visible, which
	is what we want.
	* time/strftime.c: Likewise.

1998-09-08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-error.c: Fix spelling.

1998-09-08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdlib/strfmon.c: Quiet -Wparentheses warnings.
	* stdio-common/_itoa.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* wcsmbs/wcstok.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* posix/getopt.c: Likewise.
	* sysdeps/posix/getaddrinfo.c: Likewise.
	* posix/wordexp.c: Likewise.
	* io/ftw.c: Likewise.
	* io/fts.c: Likewise.
	* misc/getpass.c: Likewise.
	* iconv/gconv_conf.c: Likewise.
	* argp/argp-fmtstream.c: Likewise.
	* argp/argp-help.c: Likewise.
	* elf/dl-load.c: Likewise.
	* locale/programs/stringtrans.c: Likewise.
	* catgets/gencat.c: Likewise.
	* posix/getconf.c: Likewise.
	* iconv/gconv_conf.c: Likewise.
	* iconv/iconv_prog.c: Likewise.

	* string/strcoll.c: Optimize a few expressions.
	* string/strxfrm.c: Likewise.

1998-09-08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-open.c (dl_open_worker): Move decl of new_global up one
	level to avoid uninit variable warning.

1998-09-09 10:34  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/dl-machine.h(RTLD_START): Push _dl_main_searchlist
	instead of _dl_default_scope[2] as argument to _dl_init_next.

	* sysdeps/m68k/fpu/bits/mathinline.h (isinf): Avoid conflict with
	C9x macro.

1998-09-08  Ulrich Drepper  <drepper@cygnus.com>

	Fix compatibility problems introduced in last change.
	* csu/initfini.c: Don't define __gmon_start__ if WEAK_GMON_START is
	defined.
	* sysdeps/unix/sysv/linux/i386/Makefile [subdir==csu]: Add
	-DWEAK_GMON_START to CFLAGS-initfini.s.

	* elf/dl-object.c (_dl_new_object): Store map address in
	_dl_loaded if _dl_loaded is NULL.
	* elf/rtld.c (dl_main): Don't update _dl_loaded here.

	* sysdeps/generic/setrlimit64.c: Remove stub warning.

1998-09-07  Ulrich Drepper  <drepper@cygnus.com>

	* db2/common/db_apprec.c (__db_apprec): Add braces to make gcc
	quiet.
	* db2/btree/bt_cursor.c: Likewise.
	* db2/common/db_region.db_c: Likewise.
	* db2/common/db_salloc.db_c: Likewise.
	* db2/db/db.c: Likewise.
	* db2/db/db_rec.c: Likewise.
	* db2/hash/hash.c: Likewise.
	* db2/hash/hash_page.c: Likewise.
	* db2/hash/hash_rec.c: Likewise.
	* db2/log/log_findckp.c: Likewise.
	* db2/log/log_get.c: Likewise.
	* db2/log/log_put.c: Likewise.
	* db2/mp/mp_fget.c: Likewise.
	* db2/mp/mp_fput.c: Likewise.
	* db2/mp/mp_region.c: Likewise.
	* stdlib/strtol.c: Likewise.
	* string/strcoll.c: Likewise.
	* string/strxfrm.c: Likewise.
	* argp/argp-help.c: Likewise.
	* argp/argp-parse.c: Likewise.
	* resolv/res_debug.c: Likewise.

1998-09-07 09:58  Ulrich Drepper  <drepper@cygnus.com>

	* math/tgmath.h (scalb): Only define for __USE_MISC or
	__USE_XOPEN_EXTENDED.  Patch by Zack Weinberg.

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

	* libio/stdio.h: Fix comment.

	* stdio/stdio.h: Make vfscanf, vscanf and vsscanf available if
	__USE_ISOC9X.

1998-09-06 09:53 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* Makeconfig (+gccwarn): Remove -Wno-parentheses.

	* elf/dl-open.c: Quiet -Wparentheses warnings.
	* iconvdata/johab.c: Likewise.
	* iconvdata/uhc.c: Likewise.
	* inet/inet_net.c: Likewise.
	* io/fts.c: Likewise.
	* locale/newlocale.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/mntent_r.c: Likewise.
	* misc/ttyslot.c: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/nsap_addr.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* stdio-common/_itoa.c: Likewise.
	* stdlib/strtod.c: Likewise.
	* string/strverscmp.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sysdeps/libm-ieee754/e_cosh.c: Likewise.
	* sysdeps/libm-ieee754/e_gamma_r.c: Likewise.
	* sysdeps/libm-ieee754/e_sinh.c: Likewise.
	* sysdeps/posix/getaddrinfo.c: Likewise.

1998-09-06 15:13  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dlsym.c (dlsym_doit): Use new RTLD_DEFAULT macro to test
	for use of global scope.
	* elf/dlvsym.c (dlvsym_doit): Likewise.

1998-09-02  Paul Eggert  <eggert@twinsun.com>

	* strftime.c (my_strftime): When mbrlen returns (size_t) -2,
	copy the redundant bytes at the end of the format as-is; don't
	just copy their first byte and then rescan, as that might get
	us an encoding error.
	Account correctly for the length of multibyte sequences in the
	format.

1998-09-03 20:14  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Add tests for different IFS values.
	Change unquoted-newline test so that newline is not in IFS.

	* posix/wordexp.c (wordexp): Correct null/unset mix-up when
	determining IFS characters.  Return WRDE_BADCHAR for unquoted
	special characters _except_ if they are separators.

1998-09-06 10:56  Ulrich Drepper  <drepper@cygnus.com>

	* include/tgmath.h: New file.

	* libio/stdio.h: Correct reversed #ifs.
	Patch by Zack Weinberg.

	* manual/creature.texi: Better explain reason for feature select
	macros.
	Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.

1998-09-06 10:25 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* include/alloca.h: Add multiple-inclusion guard.
	* include/db.h: Likewise.
	* include/db_185.h: Likewise.
	* include/dlfcn.h: Likewise.
	* include/fcntl.h: Likewise.
	* include/grp.h: Likewise.
	* include/libintl.h: Likewise.
	* include/mntent.h: Likewise.
	* include/pwd.h: Likewise.
	* include/sched.h: Likewise.
	* include/search.h: Likewise.
	* include/setjmp.h: Likewise.
	* include/shadow.h: Likewise.
	* include/signal.h: Likewise.
	* include/stdio.h: Likewise.
	* include/stdlib.h: Likewise.
	* include/string.h: Likewise.
	* include/termios.h: Likewise.
	* include/time.h: Likewise.
	* include/ulimit.h: Likewise.
	* include/utmp.h: Likewise.
	* include/wchar.h: Likewise.
	* include/sys/file.h: Likewise.
	* include/sys/gmon.h: Likewise.
	* include/sys/ioctl.h: Likewise.
	* include/sys/mman.h: Likewise.
	* include/sys/resource.h: Likewise.
	* include/sys/select.h: Likewise.
	* include/sys/socket.h: Likewise.
	* include/sys/statfs.h: Likewise.
	* include/sys/time.h: Likewise.
	* include/sys/times.h: Likewise.
	* include/sys/wait.h: Likewise.

1998-09-06 09:00  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 2.0.96.

	Rewrite runtime linker to be truly thread-safe.  There is now no
	global variable specifying the scope.  We create all needed
	scopes at the time the link maps are created.
	* elf/Versions [GLIBC_2.1]: Add _dl_loaded and _dl_main_searchlist.
	* elf/link.h: Add struct r_scope_elem and use this for l_searchlist,
	l_symbolic_searchlist, l_scope, and l_local_scope elements in
	struct link_map.
	* elf/dl-close.c: Rewritten accordingly.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/dlvsym.c: Likewise.
	* elf/ldsodefs.h: Likewise.
	* elf/rtld.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.

	* elf/dlfcn.h: Declare dladdr only for __USE_GNU.
	Define RTLD_DEFAULT.

1998-09-05  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/mach/hurd/i386/init-first.c (init1): Call
	__getopt_clean_environment with __environ instead of envp.

1998-09-05  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/i386/Makefile (omit-deps): Define to crt0.

	* string/argz-extract.c (__argz_extract): Add de-consting cast for
	setting results.

	* string/argz.h (argz_next): Add de-consting cast for return.
	* string/argz-next.c (__argz_next): Likewise.

	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet] (sysdep_headers):
	Don't add netinet/udp.h, netinet/ip_icmp.h here.
	* sysdeps/gnu/Makefile: Do it here instead.
	* sysdeps/unix/sysv/linux/Dist: Move those files from here ...
	* sysdeps/gnu/Dist: ... to here.

	* sysdeps/unix/sysv/linux/netinet/ip_icmp.h,
	sysdeps/unix/sysv/linux/netinet/tcp.h,
	sysdeps/unix/sysv/linux/netinet/udp.h: Moved to sysdeps/gnu/netinet.

1998-09-04  Roland McGrath  <roland@baalperazim.frob.com>

	* string/argz.h (argz_extract, argz_next): Use `const' for ARGZ param.
	* string/argz-next.c, string/argz-extract.c: Fix defns.

1998-09-03  Roland McGrath  <roland@baalperazim.frob.com>

	* mach/Makefile: Use -include for mach-syscalls.mk to silence warning.

	* sysdeps/mach/hurd/sysd-stdio.c: Declare fns
	__stdio_{read,write,seek,close,fileno} using __io_*_fn types.
	* sysdeps/generic/sysd-stdio.c: Likewise.

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

	* elf/dl-load.c (fillin_rpath): Handle "/" as RPATH correctly.
	(_dl_map_object_from_fd): Make NAME argument const.
	Remove last parameter in _dl_new_object call.
	(print_search_path): Correct construction of composed path name.
	(_dl_map_object): Prevent looking at RPATH of the main map twice.
	Remove last parameter in _dl_new_object call.
	* elf/dl-object.c: Remove last parameter.  Determine whether create
	origin entry based on empty realname.  Handle file in root directory
	correctly.
	* elf/ldsodefs.h: Adjust prototype for _dl_new_object.
	* elf/rtld.c (dl_main): Add comment describing reason for memory leak.
	Remove last parameter in _dl_new_object call.
	* sysdeps/generic/dl-origin.h: Handle file in root directory correctly.
	* sysdeps/unix/sysv/linux/dl-origin.h: Likewise.

1998-09-01  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Add more comments and correct some.
	Free l_searchlist and l_dupsearchlist.

	* debug/catchsegv.sh: Add one more pair of quotes.

1998-09-01 17:53  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-load.c (add_name_to_object): Change return type to void and
	make NAME parameter const.  Allocate room for NAME in same memory
	block used for l_libname entry.
	(_dl_map_object_from_fd): Don't free NAME on failure.
	(map_segment): Pass SONAME to add_name_to_object, not a copy.
	(_dl_map_object): Don't create copy of NAME.  Pass NAME to
	_dl_map_object_from_fd.
	* elf/dl-object.c (dl_new_object): Allocate room for NAME in same
	memory block used for l_libname entry.
	* elf/dl-close.c: Adjust free()ing for this change.

1998-09-01 15:36  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/Makefile: Include Makeconfig before testing config-sysdirs.

	* malloc/mtrace.c: Add bug report address.  Update email address.
	Add more @XXX@ to print correct address size.

	* elf/dl-addr.c (_dl_addr): Make sure that map to be examined is
	really initialized.

	* elf/dl-close.c (_dl_close): Use l_map_start and l_map_end info
	for munmap call instead of examining phdr again.
	Free all malloc()ed strings and arrays.

1998-08-09  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/Makefile [subdir=elf]: Add new files split out of
	dl-machine.h.
	* sysdeps/powerpc/dl-machine.c: New file.
	* sysdeps/powerpc/dl-machine.h: Move much stuff into separate
	files.  Revise ELF_PREFERRED_ADDRESS to take account of
	the new mapping information (fixes bug involving huge bloated
	web browser).  Set ELF_MACHINE_PLTREL_OVERLAP.
	* sysdeps/powerpc/dl-start.S: New file.

	* elf/dl-load.c (_dl_map_object_from_fd): Initialise l_map_start,
	l_map_end.
	* elf/do-rel.h: Call elf_machine_rel only once (to save space).
	* elf/dynamic-link.h: Allow PLT relocs to be in the middle of the
	others.  Call elf_dynamic_do_##reloc only once (to save even more
	space).
	* elf/link.h: Add new members l_map_start and l_map_end to keep
	track of the memory map.
	* elf/rtld.c (_dl_start): Initialise l_map_start for ld.so and
	the executable.

1998-09-01 11:53  Ulrich Drepper  <drepper@cygnus.com>

	* debug/Makefile (catchsegv): We need not rewrite SOVER anymore.
	Reported by Andreas Jaeger.

	* posix/glob.h: Use __size_t instead of size_t in definitions and
	make sure this is defined.

1998-09-01 10:34  Ulrich Drepper  <drepper@cygnus.com>

	* manual/locale.texi: Almost complete rewrite.  Document more functions
	and functionality.
	* manual/arith.texi: Correct reference.
	* manual/string.texi: Pretty printing.

	* manual/texinfo.tex: Update from last available version.

1998-08-31 22:44  Ulrich Drepper  <drepper@cygnus.com>

	* nis/nss_nis/nis-pwd.c (_nss_nis_getpwnam_r): Correct test for
	invalid password.
	(_nss_nis_getpwuid_r): Likewise.
	Patch by Matthew Arnison <matthewa@physics.usyd.edu.au>.

	* inet/rcmd.c: Implement netgroup support.
	Patch by Dick Streefland <dick_streefland@tasking.com>.

1998-08-31  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Update _dl_loaded if the first
	object on the list is removed.  Don't use this code for PIC.
	Reported by HJ Lu [PR libc/770].

1998-08-31 15:56  Ulrich Drepper  <drepper@cygnus.com>

	* db2/db_int.h: Use <db.h> instead of "db.h" to find header in include.

	* include/stdio.h: Add __vsscanf.

	* libio/stdio.h: Make vfscanf, scanf, and vsscanf available if
	__USE_ISOC9X.
	Remove __vsscanf declaration.
	Always declare fgetpos and fsetpos.

	* math/math.h: Define isinf as macro.
	* math/bits/mathcalls.h: Change to declare __isinf all the time.
	Don't declare scalb for ISO C 9x.

	* math/tgmath.h: Define fma.  Rewrite the underlying macros.

	* stdlib/stdlib.h: Declare strtof and strtold is __USE_ISOC9X.

	* sysdeps/unix/sysv/linux/bits/sigcontext.h: Allow inclusion from
	sys/ucontext.h.

	* sysdeps/wordsize-32/inttypes.h: Define missing PRI* and SCN*
	macros.

1998-08-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/standalone/bits/errno.h (ENOMSG): Remove duplicate.
	Reported by jreising@frequentis.com [PR libc/767].

1998-08-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* io/lockf.c (lockf): Move initilisation of fl.l_whence and
	fl.l_start at beginning of function.
	Patch by Geoff. Dash <geoffd@zeta.org.au> [PR libc/769].

1998-08-31  Ulrich Drepper  <drepper@cygnus.com>

	* io/sys/stat.h (ALLPERMS): Fix type (S_ISTXT -> S_ISVTX).
	Reported by Rob.Hagopian@vu.union.edu [PR libc/763].

	* nscd/nscd.init: Make it work in RedHat systems.
	Patch by Christian Gafton.

1998-08-29  Philip Blundell  <philb@gnu.org>

	* catgets/Makefile: Don't try to run test programs when
	cross-compiling.

1998-08-31  Ulrich Drepper  <drepper@cygnus.com>

	* signal/signal.h: Include bits/sigthread.h only if __USE_POSIX.
	Reported by Zack Weinberg.

1998-08-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Dist: Add umount.S and umount2.S.
	* elf/Makefile (distribute): Remove ldd.sh.in.

1998-08-31 11:46  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/dl-origin.h (get_origin): Remove unused
	variable.

1998-08-29  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/register-dump.h: Move to ...
	* sysdeps/unix/sysv/linux/i386/register-dump.h: ...here.

1998-08-28 22:49  Ulrich Drepper  <drepper@cygnus.com>

	* elf/do-rel.h (elf_dynamic_do_rel): Call elf_machine_lazy_rel
	with load address, not map address.
	* sysdeps/alpha/dl-machine.h (elf_machine_lazy_rel): Change first
	parameter and use this value.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_lazy_rel): Change first
	parameter.
	* sysdeps/powerpc/dl-machine.h: Likewise
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise

1998-08-28 09:22  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c (process_envvars): Fix copy&paste error.

	* malloc/malloc.c (malloc_hook_ini): Don't overwrite realloc and
	memalign hook.
	(realloc_hook_ini): Don't overwrite memalign hook.
	(memalign_hook_ini): Don't overwrite malloc and memalign hooks.
	Reported by Philippe Troin <phil@fifi.org>.

	* malloc/mcheck.c (mprobe): Call checkhdr with adjusted pointer.
	Patch by Philippe Troin <phil@fifi.org>.

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

	* sysdeps/generic/segfault.c (install_handler): Protect the
	non-POSIX signals with #ifdef.
	(catch_segfault): Add missing mode parameter for open.
	* debug/catchsegv.sh: Avoid termination message from shell.  Allow
	other termination signals.

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

	* debug/Makefile (distribute): Add register-dump.h.

1998-08-28 10:41  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/register-dump.h: New file.

1998-08-27 19:42  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (distribute): Add dl-origin.h.
	* sysdeps/generic/dl-origin.h: New file.
	* sysdeps/unix/sysv/linux/dl-origin.h: New file.
	* elf/link.h (struct link_map): Add l_origin field.
	* elf/dl-load.c (expand_dynamic_string_token): New function.
	(decompose_path): Remove WHERE argument, take link map pointer instead.
	Call expand_dynamic_string_token instead of local_strdup to make copy
	of rpath.
	(_dl_init_paths): Call decompose_path with correct argument.
	(_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is
	not defined.
	Check EI_OSABI and EI_ABIVERSION fields in header.
	Call _dl_new_object with extra argument.
	(_dl_map_object): Call decompose_path with correct argument.
	Call expand_dynamic_string_token instead of local_strdup to also
	expand DST.
	Call _dl_new_object with extra argument.
	* elf/dl-object.c (_dl_new_object): Determine l_origin for all maps
	but the main one if new argument is nonzero.
	* elf/ldsodefs.h: Adjust for _dl_new_object change.
	* elf/dl-support.c: Define _dl_origin_path.
	* elf/rtld.c: Likewise.  Set _dl_origin_path based on LD_ORIGIN_PATH.
	(dl_main): Call _dl_new_object with extra argument.

	* elf/dl-close (_dl_close): Free l_name and l_origin.

	* sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P
	modifier in asm, not c.

	* sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c
	to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.

1998-08-26 17:48  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Move map->l_nsearchlist value into local
	variable so that map can be freed.
	Reported by Philippe Troin <phil@fifi.org>.

	* elf/dl-open.c (dl_open_worker): Correct test for extending global
	scope array.
	Patch by Philippe Troin <phil@fifi.org>.

1998-08-26  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/register-dump.h: Rewrite.  Much nicer this way.
	Don't call writev() with a 100-element vector.
	* sysdeps/generic/segfault.c (catch_segfault): Skip top-level NULL
	return address.

	* sysdeps/powerpc/elf/libc-start.c: Sync up with generic version.
	In particular, set __libc_stack_end.
	* sysdeps/powerpc/elf/start.S: Allow _init and _fini to be
	undefined.  Fix copyright notice.

1998-08-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/Makefile (gmp-objs): New variable.
	($(objpfx)atest-exp, $(objpfx)atest-sincos, $(objpfx)atest-exp2):
	Depend on it.
	(tests): Add atest-exp atest-sincos atest-exp2.
	(tests-static): Remove atest-exp atest-sincos atest-exp2.

1998-08-25  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/dl-cache.c: Move static variable cache and cachesize
	to toplevel.
	(_dl_unload_cache): New function.
	* elf/Versions [libc GLIBC_2.1]: Add _dl_unload_cache.
	* elf/dl-open.c (_dl_open): Unload map file before freeing the lock.
	* elf/rtld.c (dl_main): Unload map file before jumping to user code.

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Define O_DIRECT.
	Correct comment for O_LARGEFILE.
	* sysdeps/unix/sysv/linux/bits/fcntl.h: Define O_DIRECT.
	Change O_LARGEFILE to correct value.

1998-08-25 14:34  Ulrich Drepper  <drepper@cygnus.com>

	* libio/iogetline.c (_IO_getline_info): Don't read anything for
	N == 0.  Patch by HJ Lu.

1998-08-25 11:43  Ulrich Drepper  <drepper@cygnus.com>

	* elf/elf.h: Add syminfo stuff and other DT_* from Solaris' ELF.

1998-08-25  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>

	* argp/argp.h: Use __inline__ not inline.

	* sysdeps/i386/bits/select.h (FD_ZERO): Rewrite asm not to indicate
	an input register as being clobbered.
	* sysdeps/i386/memset.c (memset): Likewise.
	* sysdeps/i386/bzero.c (__bzero): Likewise.
	* sysdeps/i386/memcopy.h ({BYTE,WORD}_COPY_[FB]WD): Likewise.

1998-08-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdlib/jrand48_r.c (__jrand48_r): Set also upper half of result.
	Fixes PR libc/757 (Reported by Michael Creutz <creutz@bnl.gov).

1998-08-24 16:34  Ulrich Drepper  <drepper@cygnus.com>

	* debug/catchsegv.sh: Handle text preceding backtrace better.
	* sysdeps/generic/segfault.c: Allow register dump.  Allow handler
	to be installed for other signals than SIGSEGV.
	* sysdeps/generic/register-dump.h: New file.
	* sysdeps/i386/register-dump.h: New file.
	* sysdeps/powerpc/register-dump.h: New file.

	* sysdeps/unix/sysv/linux/i386/profil-counter.h: Use macros from
	sigcontextinfo.h.
	* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Use i386 version.

1998-08-24  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: New file.

1998-08-09  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/chown.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/lchown.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add chown, remove
	getresuid, getresgid.

1998-08-16  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/clone.S: Fix bugs.  Set up stack
	pointer in userland.

1998-08-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/sys/mount.h (MNT_FORCE): Define as enum
	and fix value.

1998-08-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldd.bash.in: Add missing quotes around $file.  Make loop
	over arguments Bourne shell compatible.  Don't exit unsuccessfully
	if nonelf returns successfully.  Avoid duplicating most of the
	script.
	* sysdeps/unix/sysv/linux/ldd-rewrite.sed: Add missing quotes
	around $file.

1998-08-24 10:37  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_headers): Add
	sys/reg.h.
	* sysdeps/unix/sysv/linux/m68k/sys/reg.h: New file.
	* sysdeps/unix/sysv/linux/m68k/Dist: Distribute it.

1998-08-23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.1]: Add
	__modify_ldt and modify_ldt.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Add modify_ldt.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
	Use orl $-1 instead of movl $-1 to save two bytes.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h (SYSCALL_ERROR_HANDLER):
	Likewise.

1998-08-17  H.J. Lu  <hjl@gnu.org>

	* libio/Versions (_IO_do_write, _IO_file_attach,
	_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
	_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
	_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
	_IO_file_write, _IO_file_xsputn): Added to GLIBC_2.1.

	* libio/fileops.c (_IO_do_write, _IO_file_attach,
	_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
	_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
	_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
	_IO_file_write, _IO_file_xsputn): Change the prefix to
	"_IO_new_". Added to GLIBC_2.1.

	* libio/libioP.h (_IO_do_write, _IO_file_attach,
	_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
	_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
	_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
	_IO_file_write, _IO_file_xsputn): Add prototypes for the prefix
	"_IO_new_".

	* libio/oldfileops.c (_IO_do_write, _IO_file_attach,
	_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
	_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
	_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
	_IO_file_write, _IO_file_xsputn): Added to GLIBC_2.0.

1998-08-23  Richard Henderson  <rth@cygnus.com>

	* Makeconfig (LDFLAGS): Remove.

	* csu/initfini.c: Return to .text before __gmon_start__.

	* elf/elf.h (EM_FAKE_ALPHA): Rename from EM_OLD_ALPHA.
	(STO_MIPS_*): Rename from STO_*.
	(STB_MIPS_SPLIT_COMMON): Rename from STB_SPLIT_COMMON.
	(STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.

	* math/atest-exp.c (mpn_bitsize): Fix bit location calculation.
	(main): e3s is negative on zero.
	* math/atest-exp2.c: Likewise.
	* math/atest-sincos.c: Likewise.

1998-08-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makerules (install): Add comment about absolute paths.

1998-08-23  Ulrich Drepper  <drepper@cygnus.com>

	* libio/vsnprintf.c (_IO_vsnprintf): Set first byte of destination
	array to NUL to handle maxlen==1 case correctly.
	Patch by HJ Lu.

1998-08-23  Richard Henderson  <rth@cygnus.com>

	* sysdeps/alpha/elf/crtbegin.S: Fix .prologue; no pv used.
	* sysdeps/alpha/elf/crtend.S: Likewise.
	* sysdeps/alpha/elf/start.S: Likewise.

	* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix .prologue;
	non-standard pv usage.

	* sysdeps/unix/sysv/linux/alpha/brk.S: Use jmp macro for relaxation.
	* sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.

	* sysdeps/alpha/fpu/e_sqrt.c: Use the asm version when the input is
	a finite non-denormal, deferring to the full IEEE version otherwise.

	* sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor):
	Early out for -0.  Optimize for !_IEEE_FP_INEXACT.
	* sysdeps/alpha/fpu/s_floor.c: New.
	* sysdeps/alpha/fpu/s_floorf.c: New.
	* sysdeps/alpha/fpu/s_ceil.c: New.
	* sysdeps/alpha/fpu/s_ceilf.c: New.

1998-08-22  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/bits/string.h: New file.

1998-08-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/configure.in: Obey --with-headers,
	document it.

	* sysdeps/unix/sysv/linux/alpha/configure.in: New file, contains
	test for recent Linux 2.1.100+ headers.

1998-08-21  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_compat/compat-initgroups.c: Optimize NIS query.

1998-08-21 17:21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/glob64.c: Define __stat using __xstat64.

1998-08-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (elf/ldso_install): Put back.  The problem still persists.
	* elf/Makefile (ldso_install): Likewise.

1998-08-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* db2/db/db.c (db_open) [_LIBC]: Rename to __nss_db_open and
	create weak alias.
	* include/db.h: Declare __nss_db_open.
	* db2/Versions: Export it.

	* db2/makedb.c: Convert to use db2 API.
	* nss/nss_db/db-XXX.c: Likewise.
	* nss/nss_db/db-netgrp.c: Likewise.
	* nss/nss_db/db-alias.c: Likewise.
	(_nss_db_getaliasent_r): Allow retrying with a larger buffer.

1998-08-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
	sys_setresuid, already built automatically (or not).
	* sysdeps/unix/sysv/linux/syscalls.list: Define __setresuid
	instead of __syscall_setresuid and add back setresuid.
	* sysdeps/unix/sysv/linux/seteuid.c: Use __setresuid instead of
	__syscall_setresuid.

1998-08-21  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sys/mount.h: Fix typo.

1998-08-20  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (sh-ldd-rewrite): Remove expression to remove
	BASH-ONLY marked region.
	* elf/ldd.bash.in: Remove special BASH-ONLY markers.

1998-02-20 17:54  H.J. Lu  <hjl@gnu.org>

	* libio/oldfileops.c (_IO_file_seekoff): Don't adjust pointers if
	_IO_SYSSEEK fails.

	* libio/iolibio.h (_IO_pos_BAD): Define of type _IO_fpos64_t.

	* libio/libioP.h (FILEBUF_LITERAL): Also initialize new _offset
	element.

1998-08-21  Roland McGrath  <roland@baalperazim.frob.com>

	* elf/ldd.bash.in (TEXTDOMAIN, TEXTDOMAINDIR): Surround setting these
	with magic comments ###BASH-ONLY and ###END-BASH-ONLY.
	* elf/Makefile ($(objpfx)ldd): Generate always from ldd.bash.in.
	(common-ldd-rewrite): New variable, old contents of $(sh-ldd-rewrite).
	(sh-ldd-rewrite): Use that, add cmds to remove code surrounded by
	those magic comments, and to use /bin/sh for @BASH@.
	(bash-ldd-rewrite): Use $(common-ldd-rewrite).
	* elf/ldd.sh.in: File removed.

1998-08-20 20:07  Ulrich Drepper  <drepper@cygnus.com>

	* pwd/getpw.c (__getpw): Use %lu for uid and gid parameter and
	cast them to unsigned long int.
	* pwd/putpwent.c (putpwent): Likewise.
	Patch by John Tobey <jtobey@banta-im.com>.

1998-08-20 17:14  H.J. Lu  <hjl@gnu.org>

	* libio/libioP.h (FILEBUF_LITERAL): Set the _offset field to
	_IO_pos_BAD.

1998-02-20 17:54  H.J. Lu  <hjl@gnu.org>

	* libio/fileops.c (_IO_file_seekoff): Don't adjust pointers if
	_IO_SYSSEEK fails.

1998-08-20 19:14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (sysdeps_routines):
	Add umount and umount2.
	* sysdeps/unix/sysv/linux/syscalls.list: Remove umount.
	* sysdeps/unix/sysv/linux/umount.S: New file.
	* sysdeps/unix/sysv/linux/umount2.S: New file.
	* sysdeps/unix/sysv/linux/sys/mount.h: Declare umount2.
	Define MNT_FORCE.

	* sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (sysdep_headers):
	Add sys/sendfile.h.
	* sysdeps/unix/sysv/linux/syscalls.list: Add sendfile.
	* sysdeps/unix/sysv/linux/sys/sendfile.h: New file.

	* sysdeps/unix/sysv/linux/sys/acct.h: Pretty print.

	* sysdeps/unix/sysv/linux/Versions [GLIBC_2.1]: Add umount2 and
	sendfile.

1998-08-20 16:01  Ulrich Drepper  <drepper@cygnus.com>

	* elf/ldd.sh.in: Redirect warnings and error messages to stderr.
	* elf/ldd.bash.in: Likewise.

	* elf/sln.c: Avoid warning for no main prototype.

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Remove O_READ and
	O_WRITE.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add F_SETSIG and
	F_GETSIG.
	* sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.

1998-08-20  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/fpu/ieee754.h: Move to...
	* sysdeps/arm/ieee754.h: ... here.

	* sysdeps/arm/__longjmp.S: Put return value in correct register.
	Don't set the condition flags unnecessarily.
	* sysdeps/arm/fpu/__longjmp.S: Likewise.  Restore floating point
	registers correctly.

	* sysdeps/arm/dl-machine.h: Fix problems with profiling code
	(patch from Scott Bambrough).

	* sysdeps/arm/sysdep.h (CALL_MCOUNT): Add missing semicolons.

	* csu/initfini.c (_init): Don't check whether __gmon_start__ is
	NULL, just call it unconditionally.
	(__gmon_start__): Provide stub version as a weak symbol.

1998-07-30  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/init-first.h: New file (from patch
	by Scott Bambrough)

	* sysdeps/unix/sysv/linux/arm/errlist.c: New file; ARM tools don't
	like `@' in .type directives.

	* sysdeps/arm/bsd-setjmp.S: Use PLT for procedure call.
	* sysdeps/arm/bsd-_setjmp.S: Likewise.

	* sysdeps/arm/dl-machine.h: Set __libc_stack_end.

1998-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN): Correct value.
	(F_GETOWN): Likewise.

	* sysdeps/unix/sysv/linux/bits/siginfo.h (SI_SIGIO): Add it (from
	Linux 2.1.117).

1998-08-20  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/glob.c [_LIBC]: Define __stat only if not
	already defined.

1998-08-18  Ulrich Drepper  <drepper@cygnus.com>

	* include/features.h: Define __USE_EXTERN_INLINES for recent
	enough gcc.
	* argp/argp.h: Define extern inline functions only if
	__USE_EXTERN_INLINES is defined.
	* libio/stdio.h: Likewise.
	* math/math.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* sysdeps/generic/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat
	to allow compilation without optimization.

1998-08-14  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no
	more entries.
	* nis/nss_compat/compat-initgroups.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-initgroups.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.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.

	* nis/rpcsvc/yp.h: Generate new without 1024 byte limits.

	* nis/ypclnt.c: Try binding dir only first time, could be to old.

	* nis/yp_xdr.c: Remove 1024 byte limit.
	* nis/ypupdate_xdr.c: Likewise.

	* nis/nss_nis/nis-publickey.c: Make sure, nobody could send
	wrong data.

1998-08-18  Roland McGrath  <roland@baalperazim.frob.com>

	* Rules (binaries-static, binaries-shared static pattern rules):
	Depend on lib%, not just libc%, from $(link-libc{,-static}).

	* sysdeps/mach/hurd/Makefile (link-libc-static): New variable; set
	this here, overriding Makeconfig generic value so we link against
	the RPC libs.

1998-08-17  Ulrich Drepper  <drepper@cygnus.com>

	* posix/tstgetopt.c (options): Add NULL entry at end
	Patch by Adrian Miranda <ade@psg.com>.

1998-08-15 18:21  Ulrich Drepper  <drepper@cygnus.com>

	* elf/elf.h: Add EI_OSABI, ELFOSABI*, and EI_ABIVERSION.  Move EI_PAD
	to 9.

1998-08-15 14:11  Ulrich Drepper  <drepper@cygnus.com>

	* elf/elf.h: Add PPC Diab relocations.

	* malloc/Makefile (libmcheck.a): Use $(LN_S) not ln.

1998-08-14 10:08  Ulrich Drepper  <drepper@cygnus.com>

	* manual/texinfo.tex: Update.

1998-08-07  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/backtrace.c: New file.

1998-08-14  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/fpu/setjmp.S: Correct value of R0 before calling
	sigjmp_save.
	* sysdeps/arm/elf/setjmp.S: Obsolete, deleted.

1998-08-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (install-symbolic-link): Fix spelling.

1998-08-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/elf.h (SHT_HIOS): Fix value.

1998-08-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/regex.c (WIDE_CHAR_SUPPORT): Don't generate defined as
	part of the expansion, this is undefined by the standard.

1998-08-13 19:41  Ulrich Drepper  <drepper@cygnus.com>

	* posix/getconf.c: Add support for systems with incomplete confname.h.

	* sysdeps/posix/sigset.c: Allow SIG_HOLD being undefined.

	* sysdeps/posix/wait3.c: Make it work.

1998-08-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makefile ($(inst_slibdir)/libc-$(version).so): Remove.
	(elf/ldso_install): Remove.

	* elf/Makefile (distribute): Add sln.c.
	(others): Add sln.
	(others-static): Add sln.
	(install-rootsbin): Add sln.
	(others-static): Add sln.
	(ldso_install): Remove.

1998-07-24 10:58  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (install-clean-symbolic-link-list): Make phony.
	* Makefile (install-symbolic-link): Make phony.  Depend on
	subdir_install for parallel makes.


1998-07-22  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (distribute): Add sln.c

1998-07-21 07:10  H.J. Lu  <hjl@gnu.org>

	* elf/sln.c: New file.

	* Makerules (symbolic-link-prog, symbolic-link-list): New macros.
	(install-clean-symbolic-link-list): New target.
	(install): Depend on install-clean-symbolic-link-list.
	(make-shlib-link): Changed for $(symbolic-link-list).

	* Makefile (install-symbolic-link): New target.
	(install): Depend on install-symbolic-link.

1998-08-12 17:03  Ulrich Drepper  <drepper@cygnus.com>

	* include/unistd.h: Protect against multiple inclusion.

	* posix/glob.c: Don't define __glob_pattern_p is NO_GLOB_PATTERN_P
	is defined, not is glob is defined.
	* sysdeps/unix/sysv/linux/glob64.c: Define NO_GLOB_PATTERN_P.

1998-08-01 17:18  H.J. Lu  <hjl@gnu.org>

	* sunrpc/rpcsvc/rusers.x (xdr_utmp): Use xdr_bytes instead of
	xdr_string for ut_line, ut_name and ut_host.

1998-08-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/paths.h (_PATH_MAILDIR): Change to
	/var/mail in accordance with FHS 2.0.
	Reported by Javier Kohen <root@jkohen.tough.com.ar> [PR libc/639].

1998-08-12  Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/syscalls.list (recvmsg, sendmsg):
	Update aliases for cancelation.

	* sysdeps/unix/sysv/linux/alpha/glob.c: Undef glob*64 before
	playing with symbol versions.

1998-08-12  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/bits/posix_opt.h: Rewritten with comments and
	multiple inclusion protection.
	(_POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC, _POSIX_MAPPED_FILES,
	_POSIX_MEMORY_PROTECTION, _POSIX_POLL, _POSIX_SELECT): New macros,
	define all these to 1.
	(_POSIX_SYNC_IO): Add #undef, to remind us that pathconf reports it.

1998-08-12  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/usleep.c: Include <unistd.h>.
	(usleep): Return void.

1998-08-11  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/if_index.c (struct if_freenameindex): Add forward
	decl to inhibit warning in if_freenameindex defn.

	* sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Remove unused variable.

	* sysdeps/mach/hurd/getdomain.c (getdomainname): Renamed from __ name.

	* sysdeps/mach/hurd/reboot.c: Include <sys/reboot.h>.
	* sysdeps/mach/hurd/getdents.c: Include <unistd.h>.
	* sysdeps/mach/hurd/sbrk.c: Include <unistd.h>.
	* sysdeps/mach/usleep.c: Likewise.

	* sysdeps/mach/hurd/bind.c (bind): Add a const.

	* sysdeps/mach/hurd/getdents.c (__getdirentries): Use prototype defn.
	* sysdeps/unix/bsd/init-posix.c (__init_posix): Likewise.
	* sysdeps/unix/bsd/times.c (timeval_to_clock_t): Likewise.
	* sysdeps/mach/hurd/reboot.c (reboot): Likewise.
	* sysdeps/mach/usleep.c (usleep): Likewise.
	* sysdeps/mach/hurd/chflags.c (chflags): Likewise.
	* sysdeps/mach/hurd/fchflags.c (fchflags): Likewise.
	* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
	* sysdeps/mach/hurd/stdio_init.c (__stdio_init_stream): Likewise.

1998-08-11  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/glob64.c: Include <sys/types.h>, <glob.h>, <errno.h>.
	(glob64): Fix typo.

	* malloc/malloc.c (free_check, realloc_check): Don't cast to long for
	%p arg to fprintf, since `void *' is the right type already.

1998-07-25 19:47  Jose M. Moya  <josem@gnu.org>

	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): Do not loop forever
	for unknown root directories.
	(__getcwd): Return NULL when the current root directory could not
	be reached.

1998-08-11 18:39  Ulrich Drepper  <drepper@cygnus.com>

	* string/strsignal.c (strsignal): Count real-time signals from zero.


See ChangeLog.8 for earlier changes.
