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.)
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.
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.
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.
* manual/Makefile (glibc-targets): Variable and targets removed.
Sat Jul 13 23:50:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* manual/Makefile (lib): New phony target. Depend on stamp files.
($(objpfx)stamp%-$(subdir)): New rule to create them when necessary.
1996-07-13 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime): Use space padding for %e, %k, %l,
to match Emacs format-time-string specification.
(DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD.
Sat Jul 13 20:17:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and
NPRELOADS, vector of `struct link_map *'s; add them to the searchlist
between MAP and its deps.
* elf/link.h: Fix decl.
* elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for
colon-separated list of names, map those and pass vector of ptrs as
PRELOADS list to _dl_map_object_deps.
* elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to
_dl_map_object_deps with empty preload list.
* elf/dl-open.c (_dl_open): Likewise.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function
removed.
(__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON).
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill):
Conditionalize defn on [! MAP_ANON].
* elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd
on [! MAP_ANON].
* elf/rtld.c (dl_main): Likewise.
* elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON].
(_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd.
* elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself.
Sat Jul 13 02:47:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/random.c (__random): Declare as int32_t to be in sync
with declaration.
* socket/Makefile (headers): Add socketbits.h.
* misc/mntent.c (endmntent): Allow for NULL stream. SunOS does
it that way.
* grp/initgroups.c (initgroups): Add groups that user is a member
of, not the ones he is _not_ a member of.
* nss/nsswitch.c (known_compare): Make known_compare() a static
instead of a local function. The latter are difficult to debug
and slow to execute on certain platforms.
* sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in
place of sizeof (dev). The size of a literal string includes the
NUL byte.
* sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1.
Thu Jul 11 16:59:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* misc/mntent.c (addmntent): Seek to end of file before writing
entry. Return 1 on error, not -1.
Tue Jul 9 19:08:05 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA
syscall.
Fri Jul 5 18:44:55 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size
shift amount for Jensen must be 5 not 4.
Sat Jul 13 20:04:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* socket/sys/socket.h (struct osockaddr): New type.
Sat Jul 13 03:50:53 1996 Ulrich Drepper <drepper@cygnus.com>
* misc/Makefile (routines): Add qefgcvt and qefgcvt_r.
* misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double'
and `long double' versions can be generated.
* misc/qefgcvt.c, misc/qefgcvt_r.c: New files. Define macros
so that included efgcvt{,_r}.c file generate `long double'
versions.
* stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r()
functions.
* manual/startup.texi: Document new getsubopt function.
* manual/examples/subopt.c: New example program for documenting
getsubopt function.
Fri Jul 12 23:58:37 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add getsubopt.
* stdlib/stdlib.h: Add prototype for getsubopt.
* stdlib/getsubopt.c: New file. Implement getsubopt function
to handle suboption parsing.
* nss/nss_files/files-service.c (getservbyname): Take second arg PROTO
and check it.
* nss/nss_files/files-XXX.c: Comment fix.
Fri Jul 12 01:28:35 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/getXXent_r.c (GETFUNC_NAME_STRING): Define with name
of reentrant function.
(setup): Pass additional argument with function name we are
looking for.
(SETFUNC_NAME, ENDFUNC_NAME, GETFUNC_NAME): Call setup with
new argument {SET,END,GET}FUNC_NAME_STRING.
* nss/getXXent.c (GETFUNC_NAME): RESULT must be static because
we return a pointer.
Thu Jul 11 18:20:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/nss_files/files-parse.c: Add comment about things to #define.
* nss/nss_files/files-hosts.c (NEED_H_ERRNO): Define it.
* nss/nss_files/files-parse.c (STRING_FIELD): Don't flag NUL before
terminator char as an error.
* nss/getXXbyYY_r.c (REENTRANT_NAME): Set *H_ERRNOP, not h_errno.
Thu Jul 11 03:21:10 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c (write_out): Move code to determine new
best size out of inner loop.
Wed Jul 10 05:24:40 1996 David Mosberger-Tang <davidm@azstarnet.com>
* misc/mntent.c: Include <sys/types.h>.
(endmntent): Return 1 one success, 0 on failure.
(getmntent): Chop newline and ignore empty lines.
Mon Jul 8 21:18:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (RESOLVE): New macro, defined
differently based on [RTLD_BOOTSTRAP].
(elf_machine_rela): Use it instead of the fn ptr arg directly.
* nss/getXXent_r.c (GETFUNC_NAME_STRING): Define with name
of reentrant function.
(setup): Pass additional argument with function name we are
looking for.
(SETFUNC_NAME, ENDFUNC_NAME, GETFUNC_NAME): Call setup with
new argument {SET,END,GET}FUNC_NAME_STRING.
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Declare _mcount
before using it in lhs of weak_alias.
* nss/getXXent_r.c (setup): New function, broken out of SETFUNC_NAME.
Call __nss_lookup when not setting STARTP.
(SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Call it to set up for
function-calling loop.
points within DATA->linebuffer; otherwise use all of DATA->linebuffer
itself, no need to skip past a NUL.
* nss/nsswitch.h (known_function): Comment fix.
* nss/nsswitch.c (nss_lookup_function): Rewritten using __tsearch
directly. Do the lookup and insertion with a single call, and fill in
the tree node afterwards if new.
(known_compare, nss_find_entry, nss_insert_entry): Functions removed.
* misc/sys/select.h: #define __need_timespec before <sys/time.h> incl.
(struct timeval): Add bodiless decl for scope.
* time/time.h (struct timespec): Rename members from `ts_*' to `tv_*'.
Move struct timespec defn outside [_TIME_H] so it can be got with
#define __need_timespec.
* time/sys/time.h (TIMEVAL_TO_TIMESPEC): Use `tv_*' instead of `ts_*'
for `struct timespec' member names.
(TIMESPEC_TO_TIMEVAL): Likewise.
* nss/Makefile (extra-libs-others): New variable.
* extra-lib.mk: Don't test for $($(lib)-no-lib-dep). Instead match
$(lib) in $(extra-libs-others).
* sunrpc/Makefile (extra-libs-others): New variable.
(librpcsvc-no-lib-dep): Variable removed.
Thu Jul 4 05:21:59 1996 David Mosberger-Tang <davidm@azstarnet.com>
* login/utmp.h: Fix typos.
* misc/syslog.c (vsyslog): Use __send instead of send and
__connect instead of connect to avoid name-space collisions (e.g.,
with psgetty).
* nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call.
* sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk.
* malloc/malloc-size.c (malloc_usable_size): Renamed from
malloc_object_allocation_size.
* malloc/malloc.h: Fix decl.
* sys/select.h: New file, wrapper header.
* posix/sys/types.h [__USE_BSD]: Include <sys/select.h>; remove
fd_set, associated macros, and select decl.
* sysdeps/posix/isfdtype.c: New file.
Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com>
The latest Japanese proposal for POSIX locales renames the
CHARMAP keyword in locale definition files to CHARCONV.
* locale/programs/ld-ctype.c, locale/programs/locales.h: Rename
function ctype_is_charmap to ctype_is_charconv.
* locale/programs/locfile-kw.gperf: Replace charmap keyword with
charconv.
* locale/programs/locfile-token.h: Add definition of token
charconv.
* locale/programs/locfile.c: Recognize charconv keyword. Rename
lables according to this.
* locale/weight.h (get_weight): Cast constants to prevent
warnings.
* stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c,
string/strxfrm.c: Add some more casts to prevent signed<->unsigned
warnings.
New stuff described in P1003.1g.
* misc/Makefile (headers): Add sys/select.h.
(routines): Add pselect.
* misc/sys/select.h: New file. Declare select functions and
needed data types and macros.
* sysdeps/generic/pselect.c: New file. Add generic implementation
of pselect() function which uses select().
* posix/getconf.c: Recognize new variables from P1003.1g.
* posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT,
_POSIX_HIWAT, and _POSIX_UIO_MAXIOV.
* posix/unistd.h: Add description of the P1003.1g variables.
* sysdeps/generic/confname.h: Define _SC_* values for new
variables.
* sysdeps/posix/fpathconf.c (fpathconf): Add handling of
_PC_SOCK_MAXBUF.
* sysdeps/stub/fpathconf.c (fpathconf): Ditto.
* sysdeps/posix/sysconf.c (sysconf): Add handling of new
P1003.1g variables.
* sysdeps/stub/sysconf.c (sysconf): Ditto.
* sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and
_POSIX_SELECT since Linux has this.
* socket/Makefile (routines): Add isfdtype.
* sysdeps/generic/sys/socket.h: Add prototype for isfdtype.
* sysdeps/stub/isfdtype.c: New file. Stub implementation of
isfdtype.
* wcsmbs/wcrtomb.c (wcrtomb): Fix typo.
* time/strftime.c (strftime: do_number): Adjust P and I after sprintf
in case it wrote fewer than MAXDIGITS chars.
* stdio/fwrite.c (fwrite: fill_buffer): Separate flushing for last
newline from flushing full buffer in loop, fix test so no fflush is
done when last byte written exactly fills the buffer.
* nss/Makefile ($(services:%=$(objpfx)libnss_%.so)): Depend on libc.so.
* sysdeps/mach/hurd/Makefile (LDLIBS-c.so): Variable removed.
(libc.so): Instead, give this deps on lib{mach,hurd}user.so.
* elf/dl-debug.c (_dl_debug_initialize): Use LDBASE arg instead of
extracting _dl_rtld_map.l_addr.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Declare _dl_rtld_map as
weak.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* shlib-versions (*-*-*): Set libnss_db=1.
* elf/rtld.c (dl_main): Set _dl_rtld_map's DT_DEBUG location too.
* pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to
define parse_line function.
(parse_line): #define to _nss_files_parse_pwent and
add extern decl for that.
* nss/nss_files/files-XXX.c (internal_getent): Return
NSS_STATUS_TRYAGAIN for ERANGE error.
* sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead
of null, so next round returns null again instead of bombing. Fix
from drepper.
* nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET.
Remove ; after `ENTDATA_DECL (data)'.
Truncate line at strpbrk (line, EOLSET "\n").
(ENTDATA_DECL): Put ; at end.
(MIDLINE_COMMENTS): Macro removed.
* nss/nss_files/files-ethers.c: Pass new argument.
* nss/nss_files/files-hosts.c: Likewise.
* nss/nss_files/files-network.c: Likewise.
* nss/nss_files/files-parse.c: Likewise.
* nss/nss_files/files-proto.c: Likewise.
* nss/nss_files/files-rpc.c: Likewise.
* nss/nss_files/files-service.c: Likewise.
* grp/fgetgrent.c: Likewise.
* pwd/fgetpwent.c: Likewise.
* nss/nss_files/files-pwd.c: Get parse_line with extern decl, since
fgetpwent.c already defines it.
* nss/nss_files/files-grp.c: Likewise.
* elf/dl-load.c (_dl_map_object): Use any object with matching l_name
as well as any matching with l_libname. Fix DT_SONAME lookup to use
string table properly.
* elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when
invoked directly, and l_libname from that if PT_INTERP missing.
Set l_name from l_libname only if not set from argv.
* time/europe, time/northamerica: Updated from ADO 96i.
* stdio-common/tst-ungetc.c: Include unistd.h.
* nss/Makefile (databases): New variable.
(routines, libnss_files-routines): Use it.
(subdir-dirs): Compute from $(services).
* sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module,
init_module, klogctl): Use EXTRA in the "caller" column so these get
added to unix-extra-syscalls and thus compiled in misc.
* string/Makefile (routines): Add strndup.
* string/strndup.c: New file.
* string/string.h: Declare strndup.
(strndupa): New macro.
* string/string.h: Declare __strdup.
* string/strdup.c: Deansideclized. Define __ name and weak alias.
* string/string.h: Don't define memccpy as macro for [__OPTIMIZE__].
Thu Jun 27 23:43:22 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's
address-of operation and plt format conspire to require all
dynamic relocs to be resolved to actual symbols not plt entries.
Thu Jun 27 02:49:28 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Add casts to avoid signed<->unsigned warnings.
* grp/initgroups.c (initgroups): De-ansi-fy.
Move declaration of NGROUPS and GROUPS outside #if so that
the code compiles for NGROUPS_MAX != 0.
* inet/Makefile (headers): Add netinet/ether.h and netinet/if_ether.h.
(routines): Add ether_aton, ether_aton_r, ether_hton, ether_line,
ether_ntoa, ether_ntoa_r, and ether_ntoh.
* inet/ether_aton.c, inet/ether_aton_r.c, inet/ether_hton.c,
inet/ether_line.c, inet/ether_ntoa.c, inet/ether_ntoa_r.c,
inet/ether_ntoh.c: New files. Implementation of functions to
handle Ethernet address to host mapping.
* inet/netinet/ether.h: New file. Declare ether_* functions.
* netinet/ether.h: Wrapper around inet/netinet/ether.h for glibc
compilation.
* nss/ethers-lookup.c: New file. Lookup function for ethers database.
* nss/Makefile (routines): Add ethers-lookup.
(libnss_files-routines): Add files-ethers.
* nss/getXXent_r.c: Don't define set*ent and end*ent function
with _r suffix.
* nss/nss_files/files-XXX.c (internal_endent): Don't reset
KEEP_STREAM every time called.
(_nss_files_end): Reset KEEP_STREAM here instead.
(internal_getent): If STREAM == NULL try to open instead of
signalling error.
Use cast to prevent warning.
Terminate read line in case the buffer is too small.
* nss/nss_files/files-ethers.c: New file. Implementation of
Ethernet adress<->hostname lookup through files interface.
* stdlib/mbstowcs.c: Define based on mbsrtowcs().
* stdlib/mbtowc.c: Define based on mbrtowc().
* stdlib/wcstombs.c: Define based on wcsrtombs().
* stdlib/wctomb.c: Define based on wcrtomb().
* sunrpc/xdr.c (xdr_u_int): Avoid bogus call to
unexpected_sizes_in_xdr_u_int.
* sysdeps/generic/netinet/if_ether.h: New file. Generic declaration
of `struct ether_addr'.
* sysdeps/unix/sysv/linux/netinet/if_ether.h: New file. Linux specific
declaration of `struct ether_addr'.
* wcsmbs/mbrtowc.c: Handle case where argument PS is NULL.
* wcsmbs/mbsrtowcs.c: Ditto.
* wcsmbs/wcrtomb.c: Ditto.
* wcsmbs/wcsrtombs.c: Ditto.
* wcsmbs/mbsinit.c: Prepare for PS being NULL.
* nss/nss_files/files-parse.c (parse_list): Count null in EOL calc.
Move DB code into separate -ldb library.
* db/Makefile (extra-libs): New variable, list libdb.
(routines): Renamed to libdb-routines.
* shlib-versions: Add libdb=2.
* nss/network-lookup.c (DEFAULT_CONFIG): New macro.
* nss/host-lookup.c (DEFAULT_CONFIG): New macro.
* nss/nsswitch.c (nss_parse_service_list): Use __strncasecmp instead
of strncasecmp. Extend syntax to grok [!foo=bar].
* sysdeps/generic/strncase.c: Define __strncasecmp with strncasecmp as
weak alias.
* string/string.h: Declare __strncasecmp.
* nss/nsswitch.c (nss_parse_file): Call __getline, not getline.
(service_alias): Variable removed.
(nss_parse_service_list): New function, broken out of nss_getline.
Remove alias conversion; we will just use symlinks.
(__nss_database_lookup): Take new string arg DEFCONFIG.
If no entry exists, make one with service list parsed from that.
* nss/nsswitch.h: Update protocol for __nss_database_lookup.
* nss/XXX-lookup.c (DEFAULT_CONFIG): New macro, set to 0 if undefined.
(DB_LOOKUP_FCT): Pass it to _nss_database_lookup.
* grp/initgroups.c: Rewritten using getgrent. Handle unlimited group
list size.
* sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code.
Wed Jun 26 01:56:50 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/locale.c (long_options): Short form of
--version option is `-V'.
(main): Recognize `-V' as option, not `-v'.
Call `usage' instead of printing error message for illegal
option.
(usage): Document `-V'.
after the first!
* nss/nsswitch.c (__nss_database_lookup): If nsswitch.conf is missing
or doesn't mention DATABASE, use an internal default equivalent to
"DATABASE: compat [NOTFOUND=return] dns [NOTFOUND=return] files".
(nss_lookup_function): Call nss_new_service as needed.
(nss_parse_file): Don't bother calling nss_new_service here.
* grp/fgetgrent.c (LINE_PARSER): Pass zero SWALLOW arg for fields.
* pwd/fgetpwent.c: Likewise.
* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
* malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
* malloc/malloc-size.c: New file.
* malloc/malloc-walk.c: New file.
* malloc/malloc-find.c (malloc_find_object_address): Return null if
PTR is outside the heap.
* elf/dl-load.c (_dl_map_object): If the requested name matches the
soname of a loaded object, use that object.
Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makefile (subdirs): Add nss.
* inet/Makefile (routines): Add getrpcent, getrpcbyname,
getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
* inet/getrpcbynumber_r.c: New file.
* inet/getrpcbynumber.c: New file.
* inet/getrpcbyname.c: New file.
* inet/getrpcbyname_r.c: New file.
* inet/getrpcent_r.c: New file.
* inet/getrpcent.c: New file.
* nss/rpc-lookup.c: New file.
* nss/nss_files/files-rpc.c: New file.
* nss/Makefile (routines): Add rpc-lookup.
(libnss_files-routines): Add files-rpc.
* sunrpc/Makefile (routines): Remove getrpcent.
* sunrpc/getrpcent.c: File removed.
* nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
non-null on entry.
* Makeconfig (rpath-link): Add $(nssobjdir).
(nssobjdir): New variable.
* Makerules: Move shared library building before objects rules, so
versions are known before extra-lib.mk gets included.
* extra-lib.mk (lib-noranlib): Depend on the shared object too.
* pwd/getpwuid.c: Rewritten using nss.
* pwd/getpwnam.c: Likewise.
* pwd/getpwent.c: Likewise.
* grp/getgrnam.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrent.c: Likewise.
* pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
* pwd/getpwent_r.c: New file.
* pwd/getpwnam_r.c: New file.
* pwd/getpwuid_r.c: New file.
* grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
* grp/getgrnam_r.c: New file.
* grp/getgrgid_r.c: New file.
* grp/getgrent_r.c: New file.
* grp/Makefile (routines): Remove grpopen, grpread.
* pwd/Makefile (routines): Remove pwdopen, pwdread.
* grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.
* pwd/fgetpwent.c: Rewritten using files-parse.c.
* grp/fgetgrent.c: Likewise.
* nss/Makefile (routines): Add grp-lookup and pwd-lookup.
* nss/pwd-lookup.c, nss/grp-lookup.c: New files.
* nss/nss_files/files-grp.c: New file.
* nss/nss_files/files-pwd.c: New file.
* nss/Makefile (subdir-dirs): New variable; use it in vpath.
* nss/nss_files/files-parse.c: New file.
* nss/nss_files/files-XXX.c: New file.
* nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
nss/nss_files/files-service.c, nss/nss_files/files-network.c:
Rewritten using them.
* nss/Makefile (libnss_files-routines): Remove files-host.
Add files-hosts, files-grp, files-pwd.
* nss/nss_dns/dns-network.c: Don't include <pthread.h>.
Mon Jun 24 22:39:12 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
A .plt entry now loads the .rela.plt offset directly rather
than making us calculate it.
Sun Jun 23 15:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/Makefile ($(installed-localtime-file) rule): Do
$(make-target-directory) first.
* resolv.h: Fix wrapper for resolv/resolv.h.
* configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
Compile dummy file and pass -nostdlib -nostartfiles so as not to
require installed libraries.
* shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
libnss_dns=1.
Sun Jun 23 19:42:05 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.
* inet/herrno.c: New file.
* resolv/res_init.c: Remove res_hconf calls.
* nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
nss/service-lookup.c: New files. Implementation of name
service switch, following the approach in Solaris.
Interface specification and general structure inspired by Peter
Eriksson <pen@lysator.liu.se>.
* nss/nss_files/files-host.c, nss/nss_files/files-network.c,
nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
Implementation of libnss_files.so module for file based databases
in NSS service.
* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
if libnss_dns.so module for DNS name lookup in NSS service.
* inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
Changed to serve as interface to NSS.
* inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files. Implement
interfaces to NSS, including reentrant functions.
* resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
resolv/sethostent.c: Removed: Obsoleted by NSS.
* resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
gethnamaddr.c. These private functions are now used in more
than one file.
* resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.
Sat Jun 22 16:49:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile ($(config)): Make sure the word list in the for
loop is syntactically non-empty.