Thu Aug 15 02:08:59 1996 Ulrich Drepper <drepper@cygnus.com>
* manual/nss.texi: New file. Document NSS.
* manual/nsswitch.texi: New file. Example configuration.
* manual/string.texi: Document stpncpy, strdupa, and strndupa.
* manual/example/strdupa.c: New file. Example for strdupa.
Wed Aug 14 21:36:16 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtod.c (STRTOD): Correct assertion about size of
wint_t and wchar_t. Reported by David Mosberger-Tang.
Mon Aug 12 22:40:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-lookup.c (_dl_lookup_symbol): Remove fifth parameter
RELOC_ADDR and make NOPLT a set of flags. All callers
changed. Delete condition that checks for resolving to the
location being filled in. Add condition to skip the
executable's symbols if requested.
* elf/link.h: Change declaration of _dl_lookup_symbol
accordingly.
(DL_LOOKUP_NOEXEC, DL_LOOKUP_NOPLT): New definitions.
* elf/dl-reloc.c (RESOLVE): Remove second parameter and rename
NOPLT to FLAGS.
* elf/dl-runtime.c (RESOLVE): Likewise.
* elf/rtld.c (RESOLVE): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Pass
DL_LOOKUP_NOEXEC as second argument to the RESOLVE macro if
processing a copy reloc, DL_LOOKUP_NOPLT for a jump slot
reloc, zero otherwise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
Wed Aug 14 17:57:08 1996 Ulrich Drepper <drepper@cygnus.com>
* MakeTAGS: Clean up use of --omit-header and -n for xgettext.
* po/header.pot: Add empty line at end.
Sun Aug 11 13:45:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (all-pot): Remove $P/errlist.pot, all error messages
are now in $P/stdio-common.pot.
(XGETTEXTFLAGS-errlist.pot): Variable removed.
Mon Aug 12 19:25:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (do-ar, o-iterator-doit): Compute path to autolock
script at run time, not configure time.
* config.make.in, configure.in: Undo previous change.
Wed Aug 14 13:20:02 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/close.S: Push return value of thread
on stack as argument for `_exit'. Reported by Andreas Schwab.
Mon Aug 12 19:36:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/clone.S: New file.
Wed Aug 14 04:22:35 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-load.c (_dl_map_object): Save name in malloced memory.
(_dl_map_object_from_fd): Free name on error.
Wed Aug 14 13:00:09 1996 Ulrich Drepper <drepper@cygnus.com>
* string/strdup.c: Use result of memcpy to avoid reloading.
Tue Aug 13 00:55:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* shadow/sgetspent_r.c (__sgetspent_r): Copy string to buffer, not
the other way round.
* resolv/Makefile (libresolv-routines): Add base64, inet_net_ntop,
inet_net_pton, inet_net.
* resolv/arpa/nameser.h (__BIND): Update version number.
Mon Aug 12 19:03:22 1996 Thomas Bushnell n/BSG <thomas@psilocin.gnu.ai.mit.edu>
* sysdeps/generic/gnu/types.h: Declare __fd_mask as `unsigned long'.
* mach/Makefile (mach/mach_host.uh): Depend on
$(objpfx)/mach-syscalls.mk.
($(objpfx)mach-shortcuts.h): Depend on $(objpfx)mach/mach_host.h.
(This fixes a make loop; thanks to Marcus Daniels
<marcus@sysc.pdx.edu> for the patch.)
Tue Aug 13 20:51:21 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/canonicalize.c (canonicalize): Add cast to prevent
warning.
* Makerules (o-iterator-doit): Use autolock.sh when running ranlib.
Tue Aug 13 18:26:45 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nsswitch.c (__nss_configure_lookup): Use fact that list is
sorted.
Update from bind-4.9.5-T1A.
* resolv/Makefile (routines): Add inet_net_ntop, inet_net_pton,
inet_net.
(libresolv-routines): Add base64.
* resolv/gethnamaddr.c: Include <sys/types.h>.
* resolv/getnetnamadr.c: Likewise.
* resolv/herror.c: Likewise.
* resolv/inet_addr.c: Likewise.
* resolv/nsap_addr.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_data.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/gethnamaddr.c [! SPRINTF_CHAR] (SPRINTF): Cast return
value of sprintf.
* resolv/inet_ntop.c: Likewise.
* resolv/gethnamaddr.c [BSD]: Include <stdlib.h>.
Remove prototype of gethostbyname_ipv4.
* resolv/inet_ntop.c, resolv/inet_pton.c: Use ISO C `mem*'
functions instead of BSD `b*' functions.
* resolv/nsap_addr.c: Add copyright message.
* resolv/res_comp.c: Remove comment explaining label format.
(res_mailok): Correct check.
* resolv/res_debug: Include missing headers.
(__fp_nquery): Handle `unused', `ad', and `cd' bits.
(__p_fqnname): New function to print FQDN from compressed name.
(__p_rr): Use __p_fqnname. Correct printing of ". Handle T_TXT
correctly. Add handling of T_KEY and T_SIG.
Handle class and type names by using name arrays instead of
explicit `switch'es.
(__sym_ston, __sym_ntos, __sym_ntop): New functions to use arrays.
(__dn_count_labels, __p_secstodate): New functions.
* resolv/resolv.h (__RES): Update version number.
(res_sym): New type.
Add #defines for new functions.
Declare sym_ntos, sym_ntop, b64_ntop, b64_pton, __p_fqnname,
__p_secstodate, dn_count_labels.
* resolv/arpa/nameser.h (__BIND): Update verison number.
Add KEYFLAG_* and ALGORITHM_* symbols.
(HEADER): Add `ad' and `cd' flags.
* inet/ient.h: Add prototypes for inet_neta, inet_net_ntop,
and inet_net_pton.
* manual/maint.texi: Document that we use bind-4.9.5.
* INSTALL: Ditto.
Mon Aug 12 16:41:52 1996 Thomas Bushnell n/BSG <thomas@gnu.ai.mit.edu>
* io/getwd.c (getwd) [! PATH_MAX]: Don't assume that the user's
buffer is any longer than the amount necessary to hold the
filename; the Hurd getcwd uses the *entire* contents of the
buffer, however long it is specified to be.
Mon Aug 12 03:31:58 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nsswitch.c (__nss_configure_lookup): New function.
Allows to specify services.
* nss/XXX-lookup.h: Rename database variable and make global.
* nss/databases.def: New file. Real names of all databases.
* nss/nss.h: New file. Contains declaration useful for users
and service developers.
* nss/nsswitch.h: Move some declarations to nss/nss.h.
* nss.h: New file. Wrapper around nss/nss.h.
* nss/Makefile (headers): Add nss.h.
(distributes): Add databases.h.
Sun Aug 11 16:19:42 1996 Ulrich Drepper <drepper@cygnus.com>
Help the poor people with fast machines by making sure only
one `ar' commands works on the library.
* autolock.sh: New file. Written by Tom Tromey.
* Makerules (do-ar): Call autolock.sh shell script instead of
directly using `ar'.
* config.make.in: Make configuration variable AUTOLOCK which
gets initialized by configure.
* configure.in: Define variable AUTOLOCK to point to autolock.sh
script and mark it to substitute.
* string/Makefile: Add -fno-builtin for tst-strlen.c, too.
* elf/dl-lookup.c (_dl_lookup_symbol): Allow self-referencing.
Patch by David Mosberger-Tang.
Sun Aug 11 01:12:38 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Optimize LD_BIND_NOW
startup by moving Icache flush from here ...
(ELF_MACHINE_RUNTIME_TRAMPOLINE): ... to here.
(ELF_MACHINE_USER_ADDRESS_MASK): Delete; it is unused.
* sysdeps/alpha/divrem.h: Update comment to reflect the actual
calling conventions. The code is already correct.
Sun Aug 11 01:06:42 1996 Richard Henderson <rth@tamu.edu>
* string/Makefile: Compile tester with -fno-builtin as we want to
test our implementations, not gcc's.
Sat Aug 10 13:17:27 1996 David Mosberger-Tang <davidm@azstarnet.com>
* shadow.h: New file.
* sysdeps/unix/sysv/linux/netinet/in.h: Move
__BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
well.
* socket/sys/socket.h [__cplusplus]: Use old-style __SOCKADDR_ARG.
g++ 2.7.2 (and earlier) has no transparent unions support.
Fri Aug 9 18:50:06 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (_bus_base_sparse): New
function to determine the base address of sparse bus memory.
(APECS_*): Rename to CIA_*.
(APECS_SPARSE_MEM, CIA_SPARSE_MEM): New macros.
(platform): Add sparse_bus_memory_base member and initialize.
(sparse_bus_memory_base): New variable.
Tue Aug 6 10:23:18 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/posix/ttyname_r.c (ttyname_r),
sysdeps/posix/ttyname.c (ttyname): Return -1/NULL if
!__isatty(fd) (POSIX.1 says so.)
* sysdeps/unix/getlogin.c (getlogin): Fix to check fd 0 only.
This is not a gross hack, after all---for compatibility,
getlogin() really should check fd 0 only and not try to base its
operation on the controlling tty.
Wed Jul 17 10:54:20 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/getlogin.c (getlogin): Add static variable NAME,
change utmp_data from static to auto.
Sun Aug 11 02:56:08 1996 Ulrich Drepper <drepper@cygnus.com>
* posix/unistd.h [__USE_MISC]: Add prototype for `nice'.
Reported by David Mosberger-Tang.
Sat Aug 10 02:05:28 1996 Richard Henderson <richard@twiddle.tamu.edu>
* sysdeps/libm-ieee754/s_isnan.c [NO_LONG_DOUBLE]: Add strong
alias to `__isnanl'.
Fri Aug 9 17:38:58 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/timex.h: Include <sys/time.h> to
get `struct timeval'.
* sysdeps/unix/sysv/linux/sys/acct.h: Get time_t from <time.h>.
* sysdeps/unix/sysv/linux/sys/module.h: Get size_t from <stddef.h>.
* sysdeps/unix/sysv/linux/sys/io.h: Get definition of __P.
* sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
* gmon/sys/gmon.h: Include <sys/types.h> to get u_long.
* sysdeps/unix/sysv/linux/direntry.h: Complete types in
<linux/dirent.h>.
* io/fts.h: Include <sys/types.h> to get dev_t.
Reported by Matthias Urlichs.
* sysdeps/posix/tempname.c [USE_IN_LIBIO]: Don't clear
_IO_file_flags. It's the same as _flags.
Reported by Miquel van Smoorenburg <miquels@Q.cistron.nl>.
Wed Aug 7 19:38:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/resourcebits.h: Add RLIMIT_AS.
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.
Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996.
* elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'.
Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set
to 0x137f to allow long double operations.
Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu>
Bug Fixes:
* nss/nsswitch.c (_res): Remove redundant variable definition.
The real one is in resolve/res_init.c, and having both prevents
using -fno-common when building the shared library.
* sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c.
* sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as
a .bss object not a COMMON symbol.
* sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load
$gp before referencing __sigsetjmp symbol. Retain LITUSE for same.
Optimizations:
* sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the
main loop for better dual-issue on EV5. Rearrange binary search to
pipeline better and trim one instruction.
Cosmetic Changes:
* time/localtime.c (localtime_r): Move lock declaration back next to
the comment where it was before the 960724 change.
* INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux.
The second word is supposed to be the hardware manufacturer.
* sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount.
* sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux.
* sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount.
* sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S,
sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S:
Same cleanups as with EV4 GMP stuff.
Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone.
* sysdeps/unix/sysv/linux/alpha/clone.S: New file.
* sysdeps/unix/sysv/linux/i386/clone.S: New file.
Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as
`unsigned long'.
* misc/sys/select.h: Declare fd_mask as alias of __fd_mask.
Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for
Mikasa.
* socket/sys/socket.h (send, __send, sendto): Declare buffer
pointer as __const.
* string/tester.c (main): Test stpncpy.
* sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without
segfault when called with an N that is not a multiple of four and
src[N-1]=='\0'.
* misc/syslog.c (LogType): New variable.
(openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE,
try again with SOCK_STREAM (the Linux syslogd uses a socket of the
latter type).
(vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL
terminator as a record-delimiter. If __send(LogFile) fails,
call closelog() so logfile gets re-opened next time.
Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-open (_dl_open): Add cast to avoid warning.
* manual/memory.texi: Improve some examples to give readers better
advice: Use `stpcpy' instead of `strcat' if possible.
* manual/string.texi: Document `strtok_r' and `strtok'.
* sunrpc/Makefile: Move `+gccwarn' definition before inclusion
of Makeconfig.
[$(cross-compiling)=no]: Change test before making librpcsvc
to this from $(cross-compile).
Reported by Andreas Schwab.
Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (routines): Move dl-sysdep to here...
(rtld-routines): ...from here. This should make static linking
work again.
* locale/setlocale.c: Add local variable `lock' and add code to
`setlocale' to avoid simultaneous changing of global data.
* catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'.
* catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open',
`__fstat', `__read', `__mmap', `__munmap' and `__close' instead
of unprotected names.
Tue Aug 6 01:13:56 1996 Ulrich Drepper <drepper@cygnus.com>
Clean name space according to ISO C, ISO C/Amd 1, and POSIX.1.
This requires to rename several functions to use __ protected
names.
* dirent/dirent.h: Add prototypes of __opendir, __closedir,
and __readdir.
* sysdeps/mach/hurd/closedir.c: Prepend function name with __
and make old name a weak alias.
* sysdeps/mach/hurd/getrlimit.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/stub/closedir.c: Likewise.
* sysdeps/stub/opendir.c: Likewise.
* sysdeps/stub/readdir.c: Likewise.
* sysdeps/unix/closedir.c: Likewise.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/unix/readdir.c: Likewise.
* sysdeps/unix/opendir.c: Call `__fcntl' instead `fcntl'.
* sysdeps/posix/getcwd.c: Call `__opendir', `__readdir',
`__closedir' instead of unprotected names.
* libio/filedoalloc.c (_IO_file_doallocate): Call `__isatty'
instead of `isatty' since later is not part of ISO C.
* libio/fileops.c (_IO_file_fopen): Call `__open' instead of
`open' since later is not part of ISO C.
* login/endutent.c (endutent): Call `__endutent_r', not
`endutent_r'.
* login/endutent_r.c: Rename defined function to `__endutent_r',
make `endutent_r' weak alias.
* login/getutent.c (getutent): Call `__getutent_r', not
`getutent_r'.
* login/getutid.c (getutid): Call `__getutid_r', not `getutid_r'.
* login/getutid_r.c: Rename defined function to `__getutent_r',
make `getutent_r' weak alias.
* login/getutline.c (getutline): Call `__getutline_r', not
`getutline_r'.
* login/getutline_r.c: Rename defined function to `__getutline_r',
make `getutline_r' weak alias.
* login/pututline_r.c: Rename defined function to `__pututline_r',
make `pututline_r' weak alias.
* login/setutent.c (setutent): Call `__setutline_r', not
`setutline_r'.
* login/setutent_r.c: Rename defined function to `__setutline_r',
make `setutline_r' weak alias.
Rename `utmpname' to `__utmpname' and make former weak alias.
(__utmpname): Call `__strdup', not `strdup'.
* login/utmp.h: Add prototypes for name space clean reentrant
versions.
* sysdeps/unix/getlogin.c: Call `__ttyname_r', `__setutent_r',
and `__endutent_r' instead of unprotected names.
* math/math.h: Add prototype for `__matherr'.
* sysdeps/libm-ieee754/k_standard.c: Call `__matherr' instead
of `matherr'.
* nss/getXXbyYY.c: Call __ protected reentrant function.
* nss/getXXent.c: Likewise.
* nss/getXXbyYY_r.c: Define `get*' function with __ protected
name. Make usual name a weak alias.
* nss/getXXent_r.c: Likewise.
* posix/unistd.h: Add prototype for `__ttyname_r'.
* sysdeps/posix/ttyname_r.c: Rename function to `__ttyname_r'
and make `ttyname_r' a weak alias.
* resource/sys/resource.h: Add prototype for `__getrlimit'.
* sysdeps/stub/getrlimit.c: Prepend function name with __
and make old name a weak alias.
* sysdeps/unix/syscalls.list: Rename system call to `__getrlimit'
and make `getrlimit' weak alias.
* libc/stdio/stdio.h: Add prototype for `__vscanf'.
* libc/stdio/vscanf.c: De-ANSI-fy.
Rename function to `__vscanf' and make `vscanf' a weak alias.
* stdio-common/scanf.c (scanf): Use _IO_vscanf/__vscanf instead
of `vscanf'.
* stdio-common/reg-printf.c: De-ANSI-fy.
Rename function to `__register_printf_function' and make
`register_printf_function' weak alias.
* stdio-common/vfprintf.c: Call `__wcsrtombs' instead of
`wcsrtombs'.
* stdlib/mbstowcs.c: Call `__mbsrtowcs' instead of `mbsrtowcs'.
* stdlib/mbtowc.c: Call `__mbrtowc' instead of `mbrtowc'.
* stdlib/wcstombs.c: Call `__wcsrtombs' instead of `wcsrtombs'.
* stdlib/wctomb.c: Call `__wcrtomb' instead of `wcrtomb'.
* wcsmbs/mbrtowc.c: Prepend function name with __ and make old
name a weak alias.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wchar.h: Add prototypes for __ protected versions.
* sysdeps/posix/sigsetmask.c (__sigsetmask): Call `__sigprocmask'
instead of `sigprocmask'.
* grp/grp.h [__USE_REENTRANT]: Add prototypes for reentrant
version getgrent_r, getgrgid_r, and getgrnam_r.
* pwd/pwd.h [__USE_REENTRANT]: Add prototypes for reentrant
version getpwent_r, getpwuid_r, getpwnam_r and __ protected
names.
* resolv/netdb.h: Complete rewrite. No more BSD ugliness.
* misc/error.c (private_strerror): Translate messages from table,
too.
* io/fcntl.h: Pretty printing.
* misc/fstab.h: Likewise.
* misc/ttyent.h: Likewise.
* resource/sys/resource.h: Likewise.
* string/argz.h: Likewise.
* string/envz.h: Likewise.
Add support for symbols from POSIX.1c (POSIX threads).
* posix/getconf.c: Handle new sysconf symbols.
* posix/posix1_lim.h: Define _POSIX_TTY_NAME_MAX and
_POSIX_LOGIN_NAME_MAX with minimal maximal values.
* sysdeps/generic/confname.h: Define new symbols.
* sysdeps/posix/sysconf.c: Handle new symbols.
* sysdeps/stub/sysconf.c: Ditto.
* sysdeps/unix/sysv/linux/sysconf.c: Removed. Generic version
is ok now.
* sunrpc/rpc/xdr.h: Move definition of type `xdrproc_t' to
have real prototype.
* sysdeps/generic/resourcebits.h: Add macro definition for
RLIMIT_* values. Some sources test using #ifdef whether specific
limit is available.
* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Ditto.
* sysdeps/unix/sysv/linux/resourcebits.h: Removed. We need
separate files for the architectures.
* sysdeps/unix/sysv/linux/alpha/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/i386/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/m68k/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/mips/resourcebits.h: New file.
* sysdeps/posix/getdtsz.c: Rewrite to use `__getrlimit' function
and only default on `OPEN_MAX'.
* sysdeps/unix/sysv/sysv4/getdtsz.c: Removed. Default is already
the POSIX version.
* time/Makefile (routines): Add ctime_r.
* time/asctime.c: Add implementation of `asctime_r'. Make
`asctime' implementation based on reentrant version.
* time/ctime_r.c: New file.
* time/time.h [__USE_REENTRANT]: Add definition of `asctime_r'
and `ctime_r'.
Sat Aug 3 18:41:36 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/C-ctype.c (_nl_C_LC_CTYPE_toupper): Fix EOF entry.
(_nl_C_LC_CTYPE): Fix ordering.
* locale/categories.def (LC_CTYPE): Add missing ctype-class32; fix
typo.
Sat Aug 3 12:31:06 1996 Richard Henderson <rth@tamu.edu>
* csu/initfini.c: Discover the maximum alignment generated by the
compiler when emitting a function.
(_init): Make sure the end of the crti fragment is aligned.
(_fini): Likewise.
Fri Aug 2 03:12:40 1996 Ulrich Drepper <drepper@cygnus.com>
* initfini.c: (__libc_is_static): New variable. Will be
initialized in init-first.c. Some actions in the libc work
different when libc is static or dynamic.
* sysdeps/unix/sysv/linux/init-first.c (init): Use
`__libc_is_static' variable to determine whether call to
`personality' and `setfpucw' is necessary. When done set variable
to +-1 depending on library type.
* locale/setlocale.c (setlocale): Use global variable
`__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to
determine whether it's a SET[UG]ID program.
Fri Aug 2 14:40:22 1996 Roland McGrath <roland@fast.cs.utah.edu>
* Version 1.93 test release.
* manual/Makefile: Use -include for chapters-incl too.
* Makeconfig (+link): Add back start.o, mistakenly removed in last
change.
Fri Aug 2 01:04:02 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (generated): Add db-*.c.
* sysdeps/i386/sysdep.h: Get generic/sysdep.h explicitly instead of
using #include_next.
* configure.in (--enable-add-ons): Quote m4 macro args.
* elf/rtld.c (dl_main): For --verify, fail if no dynamic section.
Thu Aug 1 14:40:03 1996 Roland McGrath <roland@fast.cs.utah.edu>
* sunrpc/Makefile [$(cross-compile)=no]: Test before making librpcsvc.
* Makerules (build-shlib): Add -B$(csu-objpfx) to find crt[in].o there.
* Makeconfig (+preinit, +postinit): Prepend $(csu-objpfx) here.
(+link): Not here.
* stdio-common/_itoa.h (_itoa_word): Declare unused to suppress
warning when inline function is elided.
* sysdeps/i386/dl-machine.h (elf_machine_matches_host): Likewise.
(elf_machine_runtime_setup): Likewise.
* elf/dynamic-link.h (elf_get_dynamic_info): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_got): Likewise.
(elf_machine_load_address): Likewise.
* catgets/gencat.c: Include <locale.h>.
* sysdeps/unix/mk-local_lim.c (param): Add SYMLOOP_MAX/MAXSYMLINKS.
* login/logwtmp.c (logwtmp): Call time, not __time.
* sysdeps/gnu/utmpbits.h (_HAVE_UT_PID): New macro.
* login/login.c (login): Test [_HAVE_UT_PID] to use ut_pid member.
* login/logwtmp.c (logwtmp): Likewise.
* sysdeps/generic/ioctl-types.h (sizeof): Define to 0 around #if
comparing ioctl macro values.
* sysdeps/i386/sysdep.h: Do `#include_next <sysdep.h>'.
* manual/Makefile: Use -include for chapters to suppress warning.
* sysdeps/stub/socket.c: Fix type of TYPE arg.
* sysdeps/stub/socketpair.c: Likewise.
* sysdeps/stub/_exit.c (_exit): Remove obsolete __NORETURN keyword.
* sysdeps/generic/sysdep.h: New file, broken out of ...
* sysdeps/unix/sysdep.h: ... here.
(C_LABEL): Moved out.
* Makeconfig (soversions.mk): Don't use newfangled ${x%%y} syntax;
stick to sed. Do `exit 0' at end because while returns nonzero.
* sysdeps/i386/sysdep.h: New file, broken out of ...
* sysdeps/unix/i386/sysdep.h: ... here. Generic asm macros moved out.
* sysdeps/stub/stdio_lim.h (L_ctermid, L_cuserid): Macros removed.
They are defined unconditionally in libio/stdio.h.
* elf/dl-runtime.c: Include <stddef.h> for `NULL' defn.
* elf/dl-cache.c: Likewise.
Mon Jul 29 19:20:05 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/Makefile [$(subdir == misc]
(sysdep_headers): Add sys/sysmacros.h.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: New file.
tcgetattr. We have weak aliases now. * stdlib/stdlib.h
[__OPTIMIZE__ && __GNUC__ >= 2]: Remove "optimizations" for random
functions.
* texinfo.tex (\heading, \subheading, \subsubheading): Can no
longer call the nonexistent \*secheadingi series. Instead, call
\plain*secheading.
(\plainsubsecheading, \plainsubsubsecheading): New macros, by analogy
with \plainsecheading.
(\unnumberedsubseczzz, \unnumberedsubsubseczzz): Call them.
* termios/termios.h [__OPTIMIZE__]: Remove "optimization" for
tcgetattr. We have weak aliases now.
* stdlib/stdlib.h [__OPTIMIZE__ && __GNUC__ >= 2]: Remove
"optimizations" for random functions.
* sysdeps/mach/hurd/dl-sysdep.c (__open): Use open_file.
(open_file): New function, contents mostly from __open.
(_dl_sysdep_read_whole_file): New function.
* sunrpc/rpc/rpc_msg.h: Fix botched patch for multiple inclusion
protection.
* configure.in: Grok `--enable-add-ons=DIR1,DIR2,...', and configure
in those directories.
* config.make.in (add-ons): New varaible, set from @subdirs@.
* Makefile (subdirs): Added $(add-ons) at the end.
* time/strftime.c (strftime: do_number): Initialize PRINTED to
MAXDIGITS in case P is null and so sprintf is never actually called.
Mon Jul 29 02:46:23 1996 Ulrich Drepper <drepper@cygnus.com>
Add support for the to-be-written internationalized regexp.
This code must be able to use collation symbols and collation
equivalent classes.
* locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash,
_nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes):
New global variables for collation classes.
* locale/categories.def: Add new descriptions for collation symbols
and collation classes.
* locale/langinfo.h: Add constants for collation symbols and
collation classes.
* locale/lc-collate.c: Add new global variables for collation symbols
and collation classes.
(_nl_postload_collate): Initialize new variables.
* locale/programs/ld-collate.c: Add code to emit tables for
collation symbols and collation classes.
* locale/programs/locales.h: Change prototype for `collate_output'.
* locale/programs/locfile.c (write_all_categories): Call
`collate_output' with new argument.
* locale/localeinfo.h: Add declaration for new global vars.
(union locale_data_value): New member wstr for `wchar_t' strings.
* locale/programs/locale-spec.c: Handle `collate-classes'
keyword and print information about available collation classes.
* locale/strlen-hash.h: New file. Simple hashing function which
takes a string with known length.
* locale/Makefile (distribute): Add strlen-hash.h.
(locale-modules): New var. Additional files for `locale' program.
* locale/C-ctype.c: Rewrite to avoid using string for giving values
which are of type `u_int32_t'.
Correct entry for EOF in toupper and tolower tables.
* locale/loadlocale.c (_nl_load_locale): Add cast to prevent
warning.
* locale/programs/ld-ctype.c (ctype_output): Add code to make
sure that all tables in binary file are words aligned.
* locale/programs/locfile.c (write_locale_data): Correct handling
of LC_MESSAGES locale. Create directory if necessary.
* locale/setlocale.c (setlocale): Add cast to avoid warning.
* string/string.h: Add prototype for `__strndup'.
Wed Jul 24 19:10:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* wcsmbs/mbrtowc.c: Remove unused variable.
Sun Jul 28 22:40:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to
2.0.10; some problems were reported with an earlier version, and this
one is known to work.
* sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/mips/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Declare _dl_runtime_resolve with __attribute__ ((unused)) so the
compiler doesn't elide it.
(elf_machine_rel): Follow Jul 14 change in sysdeps/i386/dl-machine.h.
* elf/rtld.c (dl_main): Take new option --verify when run directly.
In verify mode, exit with status zero iff the argument object's
PT_INTERP matches argv[0].
* elf/ldd.sh.in: Use ${RTLD} --verify and only run the program if it
exits with zero status. This makes `ldd' secure again.
Fri Jul 26 22:49:58 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (dl_main): Implement LD_TRACE_LOADED_OBJECTS
environment variable handling. This makes the dynamic linker
only print loaded libraries and quit.
* elf/ldd.sh.in: Don't use `rtld --list' but instead
LD_TRACE_LOADED_OBJECTS environment variable to print needed
objects.
Sat Jul 27 02:03:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* db/makedb.c (main): Print version on stdout, not stderr. Don't exit
after printing version until after doing usage for --help.
(long_options, main, usage): Rename -l/--lowercase option to
-f/--fold-case (-f matches sort).
Sat Jul 27 04:32:31 1996 Ulrich Drepper <drepper@cygnus.com>
* db/makedb.c: New file. Implement program to create simple <db.h>
database from textual input. This will be used for nss_db.
Sat Jul 27 01:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sunrpc/rpc/auth_unix.h: Fix misapplied patches in last changes.
* sunrpc/rpc/pmap_clnt.h: Likewise.
* sunrpc/rpc/auth.h: Likewise.
* sunrpc/rpc/pmap_rmt.h: Likewise.
* sunrpc/rpc/rpc_msg.h: Likewise.
Sat Jul 27 04:37:34 1996 Ulrich Drepper <drepper@cygnus.com>
* string/string.h (strndupa): Change to use return value of
`memcpy' for more performance.
* string/strndup.c: Likewise.
* string/string.h (strdupa): Don't call __builtin_alloca in argument.
This might lead to problems.
(strndupa): Likewise.
* login/pututline_r.c (pututline_r): Only call getutid_r if ID has a
valid ut_id field.
* login/getutid_r.c (getutid_r): Mark UTMP_DATA->loc_utmp invalid
if a search fails.
* intl/libintl.h: Define optimizing macros if __OPTIMIZE__ is
defined, not __OPTIMIZED.
(_nl_msg_cat_cntr): Move declaration outside macro definition
to prevent "nested extern" warning.
(dcgettext): Rename local variable `result' to `__result'.
Thu Jul 25 22:46:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* locale/programs/localedef.c (__progname): Remove decl.
(main): Use program_invocation_short_name instead of __progname.
(usage): Use program_invocation_name instead of __progname.
Fri Jul 26 03:46:08 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Use "libc" instead of PACKAGE.
* locale/localedef.c: Ditto.
* locale/locale.c: Ditto.
* locale/findlocale.c (_nl_find_locale): Little optimization.
Use new function `strndup'.
* locale/loadlocale.c: Little optimization. Use constant value
from `_nl_category_num_items' instead of byte-order dependend
value from file.
* locale/programs/ld-time.c (time_add): Correct string constant.
* locale/programs/locale-spec.c: New file.
* locale/programs/locale.c: Call `locale_special' function if
no other field matches.
* locale/programs/localedef.c: No need to define `program_name'.
Use global variable `__progname'.
* locale/programs/locfile.c (write_locale_data): Always write
LC_MESSAGES data in LC_MESSAGES/SYS_LC_MESSAGES file. This is
necessary since message catalogs are also installed in the
LC_MESSAGES/ directory.
* locale/programs/stringtrans.c (ADDC): Correctly use `encode_char'
function instead of writing single bytes.
(encode_char): Also handle little endian.
* locale/setlocale.c (new_composite_name): Little optimization.
Use return value of `memcpy'.
* misc/ttyent.h: Pretty print prototypes, add missing parameter
names, prepend parameter names with __ and use `__const' instead
of `const'.
* posix/unistd.h: Ditto.
* stdlib/stdlib.h: Ditto.
* string/string.h: Ditto.
* posix/getconf.c: De-ASNI-fy. Recognize POSIX.2 constant names.
Use `error' function instead of doing it by hand.
* sysdeps/posix/sysconf.c: De-ANSI-fy.
Handle _SC_COLL_WEIGHTS_MAX.
* sysdeps/stub/sysconf.c: Handle _SC_CHARCLASS_NAME_MAX,
_SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_2_LOCALEDEF
since these do depend on the platform.
Add POSIX.4 symbols.
* posix/posix2_lim.h: Add missing definition of
_POSIX2_COLL_WEIGHTS_MAX.
Change _POSIX2_EQUIV_CLASS_MAX and _POSIX2_CHARCLASS_NAME_MAX
to high values since we have no fixed limit.
* sysdeps/generic/confname.h: Add _SC_PAGE_SIZE as alias for
_SC_PAGESIZE for buggy systems (= HP UX) out there.
* wcsmbs/Makefile (routines): Add mbsnrtowcs and wcsnrtombs.
* wcsmbs/mbsnrtowcs.c: New file. Non-standard implementation.
* wcsmbs/wcsnrtombs.c: Ditto.
* wcsmbs/wchar.h [__USE_GNU]: Add prototypes for mbsnrtowcs and
wcsnrtombs.
Thu Jul 25 00:25:54 Richard Henderson <rth@tamu.edu>
* nss/nss_db/db-XXX.c: Kill trailing ; from lock defn as a matter of
course.
* nss/getXXent_r.c: Likewise.
* nss/nsswitch.c: Likewise.
* nss/nss_files/files-XXX.c: Likewise.
* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Likewise.
* sysdeps/unix/bsd/telldir.c (struct record): Likewise.
* sysdeps/unix/dirstream.h (struct __dirstream): Likewise.
Sat Jul 20 21:55:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
Win32 hacks from <Rob_Tulloh@tivoli.com>.
* posix/glob.c [WIN32]: Don't include <pwd.h>; don't use d_ino;
use void * for my_realloc; include <malloc.h> for alloca.
(glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable.
* posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__].
* posix/glob.h: Likewise.
Fri Jul 19 16:56:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
for `struct stat;' forward decl.
* 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.
* sysdeps/mach/hurd/Makefile (rpcuserlibs): New variable.
($(common-objpfx)libc.so): Move deps into that, use it.
[$(subdir) = elf] ($(objpfx)librtld.so): Depend on
$(rpcuserlibs:.so=_pic.a).
* elf/Makefile ($(objpfx)librtld.so): Just depend on libc_pic.a; don't
use $(LDLIBS-c.so).
Thu Jul 18 21:41:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/stpncpy.c: Fix semantics to make `stpncpy (d, s,
n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'.