Commit Graph

469 Commits

Author SHA1 Message Date
Ulrich Drepper
a5113b141c Update.
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.
1996-08-09 02:46:09 +00:00
Ulrich Drepper
233963756b Update.
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.
1996-08-07 23:50:59 +00:00
Roland McGrath
0569100ebe Fri Aug 2 01:04:02 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (generated): Add db-*.c.
1996-08-02 16:10:33 +00:00
Roland McGrath
1e16111cf1 Regenerated
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.
1996-07-26 00:34:28 +00:00
Roland McGrath
2064087b5f Sun Jul 14 01:51:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-14 06:04:09 +00:00
Roland McGrath
adc6ff7f81 Thu Jul 11 20:09:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-12 00:20:03 +00:00
Roland McGrath
ddc6fb0c8e Thu 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.
1996-07-11 23:42:52 +00:00
Roland McGrath
3dbe15814d Tue Jul 9 06:19:29 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-09 11:09:08 +00:00
Roland McGrath
dbe31b9a73 * nss/nss_files/files-parse.c (parse_list): Set EOL from LINE if it
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).
1996-07-05 19:18:13 +00:00
Roland McGrath
503054c0dd Wed Jul 3 16:29:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-04 00:07:18 +00:00
Roland McGrath
8a594e3cb7 Wed Jul 3 11:26:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-03 18:51:10 +00:00
Roland McGrath
54955962d2 * nss/nss_files/files-ethers.c (ntohost): Fix db key. 1996-07-02 19:42:29 +00:00
Roland McGrath
96bda0ea44 * nss/nss_files/files-network.c: Pass empty for new DB_LOOKUP args.
(DATABASE): Define this instead of DATAFILE.
	* nss/nss_files/files-hosts.c: Likewise.
	(hostbyname): Use LOOKUP_NAME macro.

	* nss/nss_db/db-XXX.c: New file.
	* nss/Makefile (services): Add db.
	(libnss_db-inhibit-o): New variable.
	(libnss_db-routines): New variable.
	(distribute): Append db-XXX.c.
	(libnss_db.so): Depend on libdb.so and libnss_files.so.
	($(libnss_db-routines:%=$(objpfx)%.c)): New static pattern rule.

	* nss/nss_files/files-XXX.c (DB_LOOKUP): Add KEYSIZE and KEYPATTERN
	args, ignored.
	(DATAFILE): New macro.
	* nss/nss_files/files-parse.c (GENERIC): If undefined, define to
	"files-XXX.c".
	* nss/nss_files/files-rpc.c: Include GENERIC instead of "files-XXX.c".
	Pass db key args to DB_LOOKUP.
	(DATAFILE): Macro removed.
	(DATABASE): New macro replaces it, lacks "/etc/" prefix.
	* nss/nss_files/files-service.c: Likewise.
	* nss/nss_files/files-pwd.c: Likewise.
	* nss/nss_files/files-proto.c: Likewise.
	* nss/nss_files/files-grp.c: Likewise.
	* nss/nss_files/files-ethers.c: Likewise.

	* elf/linux-compat.c: File removed.
	* elf/Makefile (distribute): Remove linux-compat.c.
	(ld-linux.so.1): Remove target and associated variables.

	* sunrpc/xdr.c: Remove malloc decl.
	* sunrpc/portmap.c: Likewise.

	* sunrpc/svc_tcp.c (abort): Don't declare.  Instead define as macro
	casting abort to fn returning bool_t.

	* nss/nss_files/files-parse.c [EXTERN_PARSER]: Do an extern decl of
	the parser function.
	[EXTERN_PARSER] (LINE_PARSER): Define to empty.
	* nss/nss_files/files-pwd.c (EXTERN_PARSER): Define it.
	* nss/nss_files/files-grp.c: Likewise.

	* Makeconfig (BUILD_CC): If undefined, define to $(CC).

	* sunrpc/rpc/types.h: Include stdlib.h instead of declaring malloc.

	* Makeconfig (built-program-cmd): Use $(rtld-installed-name) in place
	of ld.so so lookups for that soname find it.

	* nss/Makefile (libnss_dns.so): Depend on libresolv.so.
	(resobjdir, LDLIBS-nss_dns.so): Variables removed.
1996-07-02 19:35:40 +00:00
Roland McGrath
ffee131630 Tue Jul 2 10:44:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-07-02 17:43:35 +00:00
Roland McGrath
3776d592f1 Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (databases): Change host to hosts.
	* nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
1996-07-01 22:16:41 +00:00
Roland McGrath
6dbe283756 Fri Jun 28 02:41:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-06-28 08:56:59 +00:00
Roland McGrath
bba7bb78f3 Wed Jun 26 01:58:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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'.
1996-06-26 15:46:01 +00:00
Roland McGrath
c66273aae5 * nss/nss_files/files-parse.c (parse_list): Reset ELT for elements
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.
1996-06-25 10:20:09 +00:00
Roland McGrath
5f0e6fc702 Tue Jun 25 02:59:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
1996-06-25 08:56:57 +00:00