Wed Dec 18 03:31:58 1996 Ulrich Drepper <drepper@cygnus.com>
* dirent/scandir.c: Undo change from Mon Dec 2 15:32:15 1996.
The stream is private and usages outside glibc don't care about
reentrancy.
* io/fts.c: Likewise.
* io/ftw.c: Likewise.
* sysdeps/posix/getcwd.c: Likewise.
* sysdeps/posix/ttyname.c: Likewise.
* sysdeps/posix/ttyname_r.c: Likewise.
* sysdeps/posix/glob.c: Likewise.
* libio/iovsprintf.c: Add cast to prevent warning.
* libio/iovsscanf.c: Likewise.
* libio/libioP.h: Define mmap to __mmap and munmap to __munmap
to keep namespace clean.
* new-malloc/malloc.c: Update to last version from Wolfram Gloger.
Add hooks and check functions from old GNU malloc.
* new-malloc/malloc.h: Likewise.
* nis/ypclnt.c: Remove prototype for xdr_free.
* snrpc/rpc/xdr.h: Add prototype for xdr_free.
* manual/nss.texi: Correct description of default values and don't
meantion NSS as an add-on.
* nss/grp-lookup.c: Provide default value as
"compat [NOTFOUND=return] files".
* nss/pwd-lookup.c: Likewise.
* nss/spwd-lookup.c: Likewise.
* nss/network-lookup.c: Correct default to
"dns [!UNAVAIL=return] files".
* nss/nsswitch.c: Change default-default value to "nis
[NOTFOUND=return] files" since compat is only available for group,
passwd, and shadow.
* stdlib/on_exit.c (on_exit): Rename to __on_exit and make old name
a weak alias.
* stdlib/stdlib.h: Add prototype for __on_exit.
* sysdeps/unix/sysv/linux/schedbits.h: Add prototype for __clone.
* time/Makefile: Undo change from Sun Dec 8 06:56:49 1996.
The new malloc now has mcheck.
* time/ap.c: Likewise.
* time/tzset.c (__tzset): Rename to __tzset_internal.
(tzset): Rename to __tzset. Make tzset a weak alias for __tzset.
* time/localtime.c: Use __tzset_internal not __tzset.
* time/strftime.c [_LIBC]: Define tzname as __tzname and tzset
as __tzset to prevent namespace pollution.
* wctype/iswctype.h (icwctype): Rename to __iswctype. Make iswctype
a weak alias of __iswctype.
* wctype/wctype.h: Add prototype for __iswctype.
(iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph,
iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank):
Use __iswctype for the test, not iswctype.
1996-12-16 Paul Eggert <eggert@twinsun.com>
* hurd/hurd/sigpreempt.h
(struct hurd_signal_preemptor.preemptor, _hurdsig_preemptors),
hurd/hurd/signal.h (struct hurd_sigstate.preemptors),
hurd/hurdfault.c, hurd/hurdfault.h (_hurdsig_fault_preemptor),
hurd/hurdsig.c (_hurdsig_preempters):
Renamed to fix spelling from `preempter' to `preemptor'.
All uses changed.
1996-12-15 Paul Eggert <eggert@twinsun.com>
* ctime.c (ctime): Return asctime (localtime (t)), as the C
standard requires.
Tue Dec 17 02:05:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/libc-lock.h (__libc_lock_trylock): Invert return
value because Mach/cthreads uses the opposite convention from
Posix/glibc.
Mon Dec 16 22:41:01 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/fcloseall.c: Correct test of already_called.
Reported by Thomas Bushnell, n/BSG.
Mon Dec 16 14:52:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* mach/lock-intern.h (__mutex_try_lock): New function.
Sun Dec 15 16:33:44 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* termios/sys/ttydefaults.h (TTYDEF_OFLAG): Only use OXTABS if
defined, else XTABS.
(CEOL, CSTATUS): Use _POSIX_VDISABLE if defined.
Sun Dec 15 11:56:19 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/mremap.S: New file.
* sysdeps/unix/sysv/linux/m68k/Dist: Distribute it.
* sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines): Add mremap.
Sun Dec 15 01:53:20 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile (subdirs): Change crypt to md5-crypt.
* crypt/Makefile, crypt/md5-crypt.c, crypt/md5.c, crypt/md5.h,
crypt/md5c-test.c, crypt/md5test.c: Move to new directory
md5-crypt.
* sysdeps/unix/sysv/linux/configure.in: Refer to linuxthreads and
crypt instead of LinuxThreads and des-crypt.
* Makefile (subdirs): Add nss back.
* sysdeps/unix/inet/Subdirs: Move nis to end of file to fulfill
dependencies.
* libio/iofclose.c: Implement fclose(NULL) as closing all streams.
* stdio-common/Makefile (routines): Add fcloseall.
* stdio-common/fcloseall.c: New file.
* sysdeps/generic/abort.c: Make implementation POSIX.1 compatible.
* sysdeps/mach/libc-lock.h: Add definition of __libc_lock_trylock.
* sysdeps/stub/libc-lock.h: Define __libc_lock_trylock to always
return 0.
* stdio-common/printf.h: Define MIN and MAX only if not already
defined.
* stdio-common/vfprintf.c: Set errno to EBADF if stream does not
allow writing. Required by POSIX.1.
* libio/libioP.h (CHECK_FILE): Use MAYBE_SET_EINVAL instead of
assignment.
* interp.c: Update copyright.
* libio/clearerr.c: Likewise.
* libio/ioseekoff.c: Likewise.
* libio/ioseekpos.c: Likewise.
* stdio/fclose.c: Likewise.
* stdio/fflus.c: Likewise.
* libio/libio.h [!_IO_MTSAFE_IO]: Define _IO_cleanup_region_start
and _IO_cleanup_region_end as empty.
* libio/fgetc.c: Use _IO_cleanup_region_start and
_IO_cleanup_region_end instead of __libc_cleanup_region_start and
__libc_cleanup_region_end.
* libio/fputc.c: Likewise.
* libio/freopen.c: Likewise.
* libio/fseek.c: Likewise.
* libio/getc.c: Likewise.
* libio/getchar.c: Likewise.
* libio/iofclose.c: Likewise.
* libio/iofflush.c: Likewise.
* libio/iofgetpos.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofputs.c: Likewise.
* libio/iofread.c: Likewise.
* libio/iofsetpos.c: Likewise.
* libio/ioftell.c: Likewise.
* libio/iofwrite.c: Likewise.
* libio/iogetdelim.c: Likewise.
* libio/iogets.c: Likewise.
* libio/ioputs.c: Likewise.
* libio/iosetbuffer.c: Likewise.
* libio/iosetvbuf.c: Likewise.
* libio/ioungetc.c: Likewise.
* libio/iovspintf.c: Use cleanup handler to make sure no dangling
locks can stay over.
* libio/iovsscanf.c: Likewise.
* libio/genops.c: Use _IO_lock_init_recursive and _IO_lock_fini
instead of __libc_lock_init_recursive and __libc_lock_fini.
* libio/filedoalloc.c: Only use __isatty when compiling GNU libc.
Otherwise use isatty.
* libio/fileops.c: Likewise for __open and open.
* login/utmp_file.c (getutent_r_file): Use fcntl instead of
flock.
* nis/ypclnt.h: Add more casts to prevent warnings.
* nss/Makefile (services): Remove dns.
(libnss_dns, libnss_dns-inhibit-o): Remove definition.
($(objpfx)libnss_dns.so): Removed.
* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Moved to...
* resolv/nss_dns: ...here.
* resolv/Makefile (extra-libs): Add libnss_dns.
(libnss_dns-routines, libnss_dns-inhibit-o): Define as in
nss/Makefile.
* nss/XXX-lookup.c: Call __nss_database_lookup with new argument
specifying alternate name for entry in /etc/nsswitch.conf
* nss/nsswitch.c: If no entry with primary name is found in
/etc/nsswitch.conf try alternate name if given.
* nss/nsswitch.h: Add new parameter in prototype for
__nss_database_lookup.
* nss/spwd-lookup.c: Provide alternative entry name to look for.
This makes our NSS compatible with Solaris' nsswitch.conf files.
* string/tst-strlen.c: Change all counting variables to type size_t
to prevent warnings.
* sysdeps/posix/fpathconf.c: Update copyright.
* sysdeps/posix/pathconf.c: Don't call fpathconf to do the work.
Opening the file at this path may fail if it is a FIFO or pipe.
These changes make the time implementation POSIX.1 compliant.
* time/localtime.c (__localtime_r): Always call __tzset not only
if __tzset_run is zero.
* time/strftime.c: Add definition of memset_space to help to
reduce for systems which have memset.
(strftime): Don't use tm_zone member of argument for zone name.
Instead always use tzname[].
Call tzset() as required by POSIX.1 before any action.
* time/tzset.c (tzset): Set tzname[] as required by POSIX.1.
Remove global variable __tzset_run. __tzset is now called always
when a dependent function is used.
(__tzset): Caching happens based on the contents of the
environment variable TZ.
Fri Dec 13 01:06:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/paths.h: Add _PATH_KLOG.
Thu Dec 12 09:16:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rellns-sh: Correctly handle a relative source file name.
Wed Dec 11 19:18:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/utmp_file.c (setutent_file): Seek back to beginning of the
file if resetting.
Thu Dec 12 16:39:12 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* hurd/hurdinit.c (map0): Delete function. Don't do this on
_hurd_preinit_hook.
* hurd/hurdstartup.c (_hurd_startup): Map page zero redzone here.
Thu Aug 8 16:17:38 1996 Ulrich Drepper <drepper@cygnus.com>
* pwd/getpwent.c: Define BUFLEN from NSS_BUFLEN_PASSWD.
* pwd/getpwent_r.c: Likewise.
* pwd/getpwnam.c: Likewise.
* pwd/getpwnam_r.c: Likewise.
* pwd/getpwuid.c: Likewise.
* pwd/getpwuid_r.c: Likewise.
* grp/getgrent.c: Define BUFLEN from NSS_BUFLEN_GROUP.
* grp/getgrent_r.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrgid_r.c: Likewise.
* grp/getgrnam.c: Likewise.
* pwd/fgetpwent_r.c: New file. Reentrant version of fgetpwent.
* pwd/fgetpwent.c: Rewrite to use fgetpwent_r.
* pwd/Makefile (routines): Add fgetpwent_r.
* pwd/pwd.h: Add prototypes for __fgetpwent_r and fgetpwent_r.
* grp/fgetgrent_r.c: New file. Reentrant version of fgetgrent.
* grp/fgetgrent.c: Rewrite to use fgetgrent_r.
* grp/Makefile (routines): Add fgetgrent_r.
* grp/grp.h: Add prototypes for __fgetgrent_r and fgetgrent_r.
Implement shadow password lookup functions. This is no complete
shadow password suite.
* shadow/Makefile: New file.
* shadow/fgetspent.c: New file.
* shadow/fgetspent_r.c: New file.
* shadow/getspent.c: New file.
* shadow/getspent_r.c: New file.
* shadow/getspnam.c: New file.
* shadow/getspnam_r.c: New file.
* shadow/putspent.c: New file.
* shadow/sgetspent.c: New file.
* shadow/sgetspent_r.c: New file.
* shadow/shadow.h: New file.
* shadow/spwd-lookup.c: New file.
* shadow/nss_files/files-spwd.c: New file.
Thu Aug 8 13:33:45 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/ftime.c: New file. Available system
call is only a stub.
Reported by Matthias Urlichs.
* Makeconfig [!default_cflags]: Change default value from `-g'
to `-g -O'.
* configure.in: Recognize i686.
* sysdeps/i386/i686/Implies: Default on i586 optimized code.
Thu Aug 8 12:40:20 1996 Matthias Urlichs <smurf@smurf.noris.de>
* Makeconfig [$(build-omitfp) == yes]: Add to CFLAGS-.so
value of CFLAGS-.o, not CFLAGS-o.
* sysdeps/unix/sysv/linux/init-first.c (init): Add volatile
pointer to ourself. Otherwise `gcc -O3' optimized init away.
sure that all tables in binary file are word-aligned.
* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): New
macro, now put the needed Linux version just once, here; update to
needing linux-2.0.3 headers.
(libc_cv_linuxVER): New macro derived from that.
(kernel header check): Use those macros and some m4 magic to replace
hard-coded `201' and `2.0.1' in several places.
* Makerules ($(libdir)/libc.so): Fix typos in generated comment.
Wed Jul 24 17:02:30 1996 Ulrich Drepper <drepper@cygnus.com>
* time/localtime.c: Move lock variable declaration to end of
variable declarations since if is a dummy macro the ; at the
end terminates the variable section of the function.
* time/tzset.c: Undefine `tzset' before function declaration.
Use `weak_function' macro instead of `weak_symbol'.
Wed Jul 24 18:57:33 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtouq.c: Additional weak alias is `strtoull', not
`strotull'.
Wed Jul 24 18:26:23 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-ctype.c: Increment number of fields after change
from Wed Jun 19 03:24:58 1996.
* locale/iso-4217.def: Add India to comment for symbol "INR ".
Reported by Raja R Harinath <harinath@cs.umn.edu>.
Sat Jul 20 14:03:45 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Remove bogus
#undef RESOLVE.
* time/tzset.c: Include <libc-lock.h>.
(__tzset_lock): New lock variable.
(tzset): New function (weak defn), no longer weak alias for __tzset.
Call __tzset while holding __tzset_lock.
* time/localtime.c: Include <libc-lock.h>.
(__localtime_r): Hold __tzset_lock while doing the work.
* mktime.c (localtime_r): Add substitute if the system doesn't
provide one.
Mon Sep 18 14:39:20 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* time/gmtime.c (gmtime_r): Define as weak alias.
* time/localtime.c (localtime_r): Define as weak alias.
* time/time.h [__USE_REENTRANT] (gmtime_r, localtime_r): Declare them.
* errno.h: Only define _ERRNO_H #ifndef __need_Emath.
#undef __need_Emath after including errnos.h.
[_ERRNO_H]: Protect decls with this.
Sun Sep 17 08:22:12 1995 Paul Eggert <eggert@twinsun.com>
Fix mktime so that it does not write over localtime's returned value.
* localtime.c (__localtime_r): New function, with extra arg
specifying where to store result.
(localtime): Use it.
(_tmbuf): New var.
* gmtime.c (__gmtime_r, gmtime, _tmbuf): Likewise.
* mktime.c (__mktime_internal): Conversion function is now
__localtime_r style, not localtime style.
(mktime): Pass __localtime_r, not localtime.
* timegm.c (timegm): Pass __gmtime_r, not gmtime.
* offtime.c (__offtime): New arg specifying where to store result.
* time.h (__mktime_internal, __offtime): Adjust decls accordingly.
(__gmtime_r, __localtime_r): New decls.
* time/localtime.c: <stddef.h>, <ctype.h>, <stdio.h>,
<stdlib.h>, <string.h>: Remove includes.
<errno.h>: Add include.
* time/mktime.c, time/time.h, time/timegm.c (__mktime_internal):
Renamed from _mktime_internal to avoid namespace pollution.
* time/gmtime.c: Clear tm_isdst.
* misc/efgcvt_r.c (ecvt_r, fcvt_r): Last arg is size_t, not int.
* stdlib/stdlib.h (ecvt_r, fcvt_r): Fix type of last arg: make it
size_t.
* sysdeps/mach/hurd/fpathconf.c: Call __io_pathconf instead of
__file_pathconf.
* sysdeps/mach/hurd/pathconf.c: Likewise.
* posix/glob/configure.bat: Fixes from DJ.
* time/backward, time/europe, time/northamerica, time/pacificnew,
time/zdump.c, time/zic.c, time/tzfile.h, time/private.h,
time/ialloc.c: Code and data updated from ADO's 95b.
* time/emkdir.c: File removed.
* time/Makefile (distribute, extra-objs, zic): Omit it.
* time/localtime.c: Deansideclized. Never #define __tzname et al
to non-__ names.
* locale/lc-ctype.c (__ctype_tolower, __ctype_toupper): Use int *
instead of short int *.
* ctype/ctype-info.c: Likewise.
* ctype/ctype.h: Likewise.
* locale/langinfo.h (_NL_CTYPE_CLASS): Use this (just one) instead
of EB and EL versions.
* locale/localeinfo.h: Rewritten for new locale system, using
locale data files and with <langinfo.h> interface.
* locale/setlocale.c: Rewritten to use locale data files.
* langinfo.h: New file.
* locale/langinfo.h: New file.
* locale/nl_langinfo.c: New file.
* locale/loadlocale.c: New file.
* locale/lc-ctype.c: New file.
* locale/lc-messages.c: New file.
* locale/lc-monetary.c: New file.
* locale/lc-numeric.c: New file.
* locale/lc-time.c: New file.
* locale/categories.def: New file.
* locale/Makefile (headers): Remove localeinfo.h.
(distribute): New variable; put localeinfo.h here, and categories.def.
(routines): Add loadlocale.
(categories): New variable.
(aux): Use that to get C-category and lc-category.
* ctype/ctype.h (_IS*): Use independent bits for all but _ISalnum.
* locale/C-ctype.c, locale/C-messages.c: New files.
* locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c:
Default "C" locale data updated for new locale system.
* locale/C-collate.c: File removed.
* locale/C-ctype_ct.c: File removed.
* locale/C-ctype_mb.c: File removed.
* locale/C-response.c: File removed.
* locale/localeconv.c: Use _NL_CURRENT macro to access locale data.
* stdio/printf_fp.c, stdio/vfprintf.c, stdio/vfscanf.c,
stdlib/strtod.c, time/asctime.c, time/strftime.c:
Include ../locale/localeinfo.h and use _NL_CURRENT macro to access
locale data.
* time/localtime.c: Don't include <localeinfo.h>.
* time/tzset.c: Don't use locale items for default TZ value or
"GMT" string (use "UTC").
* stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Only call the function if
WIDTH>0; update DONE.
* malloc/malloc.c (morecore): Fix last change to calculate by
blocks instead of bytes.