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.
