Compare commits

...
Author SHA1 Message Date
Ulrich Drepper 5107cf1d7d Update.
1997-06-21 02:48  Ulrich Drepper  <drepper@cygnus.com>

	* config.h.in: Add DO_STATIC_NSS.
	* config.make.in: Add build-static-nss.

	* elf/eval.c: Use __getdelim instead of __getline.

	* locale/programs/locale.c: Correct comment.

	* manual/libc.texinfo: Update copyright and date.
	Remove A4 option.

	* sysdeps/libm-ieee754/k_standard.c: Always return HUGE_VAL
	for gamma overflow.
	* sysdeps/libm-ieee754/w_gamma.c: Handle SVID and ISO C behaviour.
	* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
	* sysdeps/libm-ieee754/w_gammalp.c: Likewise.

	* po/ko.po: Update.

1997-06-13 10:06  Richard Henderson  <rth@tamu.edu>

	The Great Bit File Move:
	* configure.in (AC_INIT): Look in include/ for features.h.
	(sysnames): Add include as the final search directory.
	(AC_OUTPUT): Create a bits directory in the build directory.
	* Makeconfig (CPPFLAGS): Look in include/ for libc-symbols.h.
	* Makefile: Make sure the target directory exists when installing
	<gnu/stubs.h> and <gnu/lib-names.h>.
	* csu/Makefile: Use $(compile.S) and $(compile.c) instead of
	invoking $(CC) directly, as the former have the full include path.

	* ansidecl.h: Removed.

	* aliases.h: Moved to include/.
	* alloca.h: Likewise.
	* argp.h: Likewise.
	* argz.h: Likewise.
	* arpa/ftp.h: Likewise.
	* arpa/inet.h: Likewise.
	* arpa/nameser.h: Likewise.
	* arpa/telnet.h: Likewise.
	* arpa/tftp.h: Likewise.
	* assert.h: Likewise.
	* ctype.h: Likewise.
	* db.h: Likewise.
	* dirent.h: Likewise.
	* dlfcn.h: Likewise.
	* elf.h: Likewise.
	* endian.h: Likewise.
	* envz.h: Likewise.
	* err.h: Likewise.
	* errno.h: Likewise.
	* error.h: Likewise.
	* fcntl.h: Likewise.
	* features.h: Likewise.
	* fnmatch.h: Likewise.
	* ftw.h: Likewise.
	* getopt.h: Likewise.
	* glob.h: Likewise.
	* gnu-versions.h: Likewise.
	* grp.h: Likewise.
	* langinfo.h: Likewise.
	* libc-symbols.h: Likewise.
	* libgen.h: Likewise.
	* libintl.h: Likewise.
	* limits.h: Likewise.
	* linewrap.h: Likewise.
	* link.h: Likewise.
	* locale.h: Likewise.
	* malloc.h: Likewise.
	* math.h: Likewise.
	* mathcalls.h: Likewise.
	* mcheck.h: Likewise.
	* memory.h: Likewise.
	* netdb.h: Likewise.
	* netgroup.h: Likewise.
	* netinet/ether.h: Likewise.
	* netinet/in.h: Likewise.
	* nlist.h: Likewise.
	* nss.h: Likewise.
	* nsswitch.h: Likewise.
	* obstack.h: Likewise.
	* poll.h: Likewise.
	* posix1_lim.h: Likewise.
	* posix2_lim.h: Likewise.
	* printf.h: Likewise.
	* protocols/routed.h: Likewise.
	* protocols/rwhod.h: Likewise.
	* protocols/talkd.h: Likewise.
	* protocols/timed.h: Likewise.
	* pwd.h: Likewise.
	* regex.h: Likewise.
	* resolv.h: Likewise.
	* rpc/auth_unix.h: Likewise.
	* rpc/clnt.h: Likewise.
	* rpc/netdb.h: Likewise.
	* rpc/pmap_clnt.h: Likewise.
	* rpc/pmap_prot.h: Likewise.
	* rpc/pmap_rmt.h: Likewise.
	* rpc/rpc.h: Likewise.
	* rpc/rpc_msg.h: Likewise.
	* rpc/svc.h: Likewise.
	* rpc/svc_auth.h: Likewise.
	* rpc/types.h: Likewise.
	* rpc/xdr.h: Likewise.
	* sched.h: Likewise.
	* search.h: Likewise.
	* set-hooks.h: Likewise.
	* setjmp.h: Likewise.
	* sgtty.h: Likewise.
	* shadow.h: Likewise.
	* signal.h: Likewise.
	* stab.def: Likewise.
	* stab.h: Likewise.
	* stdio.h: Likewise.
	* stdlib.h: Likewise.
	* string.h: Likewise.
	* strings.h: Likewise.
	* sys/bitypes.h: Likewise.
	* sys/cdefs.h: Likewise.
	* sys/dir.h: Likewise.
	* sys/errno.h: Likewise.
	* sys/fcntl.h: Likewise.
	* sys/file.h: Likewise.
	* sys/gmon.h: Likewise.
	* sys/ioctl.h: Likewise.
	* sys/ipc.h: Likewise.
	* sys/msg.h: Likewise.
	* sys/poll.h: Likewise.
	* sys/queue.h: Likewise.
	* sys/resource.h: Likewise.
	* sys/select.h: Likewise.
	* sys/sem.h: Likewise.
	* sys/shm.h: Likewise.
	* sys/signal.h: Likewise.
	* sys/socket.h: Likewise.
	* sys/stat.h: Likewise.
	* sys/statfs.h: Likewise.
	* sys/syslog.h: Likewise.
	* sys/termios.h: Likewise.
	* sys/time.h: Likewise.
	* sys/timeb.h: Likewise.
	* sys/times.h: Likewise.
	* sys/types.h: Likewise.
	* sys/uio.h: Likewise.
	* sys/un.h: Likewise.
	* sys/unistd.h: Likewise.
	* sys/utsname.h: Likewise.
	* sys/vlimit.h: Likewise.
	* sys/vtimes.h: Likewise.
	* sys/wait.h: Likewise.
	* syscall.h: Likewise.
	* syslog.h: Likewise.
	* tar.h: Likewise.
	* termios.h: Likewise.
	* time.h: Likewise.
	* ttyent.h: Likewise.
	* unistd.h: Likewise.
	* utime.h: Likewise.
	* utmp.h: Likewise.
	* values.h: Likewise.
	* wchar.h: Likewise.
	* wctype.h: Likewise.
	* wordexp.h: Likewise.
	* xlocale.h: Likewise.
	* xopen_lim.h: Likewise.

	* linuxthreads/sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
	* linuxthreads/sysdeps/powerpc/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
	* linuxthreads/sysdeps/pthread/libc-lock.h: -> bits/
	* sysdeps/mach/libc-lock.h: Likewise.
	* sysdeps/stub/libc-lock.h: Likewise.
	* linuxthreads/sysdeps/pthread/stdio-lock.h: Likewise.
	* linuxthreads/sysdeps/unix/sysv/linux/local_lim.h: Likewise.
	* sysdeps/mach/hurd/local_lim.h: Likewise.
	* sysdeps/stub/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
	* sysdeps/unix/sysv/local_lim.h: Likewise.
	* sysdeps/unix/sysv/sco3.2/local_lim.h: Likewise.
	* linuxthreads/sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
	* sysdeps/mach/hurd/posix_opt.h: Likewise.
	* sysdeps/stub/posix_opt.h: Likewise.
	* sysdeps/unix/bsd/posix_opt.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/posix_opt.h: Likewise.
	* sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
	* math/cmathcalls.h: -> bits/
	* math/mathcalls.h: Likewise.
	* misc/stab.def: -> bits/
	* posix/posix1_lim.h: -> bits/
	* posix/posix2_lim.h: Likewise.
	* sysdeps/alpha/__math.h: -> .../fpu/bits/mathinline.h
	* sysdeps/i386/fpu/__math.h: Likewise.
	* sysdeps/m68k/fpu/__math.h: Likewise.
	* sysdeps/m68k/fpu/switch/__math.h: Likewise.
	* sysdeps/powerpc/__math.h: Likewise.
	* sysdeps/stub/__math.h: Likewise.
	* sysdeps/alpha/bytesex.h: -> .../bits/endian.h
	* sysdeps/arm/bytesex.h: Likewise.
	* sysdeps/i386/bytesex.h: Likewise.
	* sysdeps/m68k/bytesex.h: Likewise.
	* sysdeps/mips/bytesex.h: Likewise.
	* sysdeps/mips/dec/bytesex.h: Likewise.
	* sysdeps/mips/mipsel/bytesex.h: Likewise.
	* sysdeps/mips/p40/bytesex.h: Likewise.
	* sysdeps/sparc/bytesex.h: Likewise.
	* sysdeps/stub/bytesex.h: Likewise.
	* sysdeps/alpha/fpu/fenvbits.h: -> .../bits/fenv.h
	* sysdeps/i386/fpu/fenvbits.h: Likewise.
	* sysdeps/m68k/fpu/fenvbits.h: Likewise.
	* sysdeps/powerpc/fenvbits.h: Likewise.
	* sysdeps/stub/fenvbits.h: Likewise.
	* sysdeps/alpha/jmp_buf.h: -> .../bits/setenv.h
	* sysdeps/arm/jmp_buf.h: Likewise.
	* sysdeps/i386/jmp_buf.h: Likewise.
	* sysdeps/m68k/jmp_buf.h: Likewise.
	* sysdeps/mips/jmp_buf.h: Likewise.
	* sysdeps/sparc/jmp_buf.h: Likewise.
	* sysdeps/powerpc/jmp_buf.h: Likewise.
	* sysdeps/stub/jmp_buf.h: Likewise.
	* sysdeps/vax/jmp_buf.h: Likewise.
	* sysdeps/generic/confname.h: -> bits/
	* sysdeps/unix/sysv/irix4/confname.h: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/confname.h: Likewise.
	* sysdeps/generic/gnu/types.h: -> ../bits/types.h
	* sysdeps/unix/sysv/linux/alpha/gnu/types.h: Likewise.
	* sysdeps/unix/sysv/linux/gnu/types.h: Likewise.
	* sysdeps/generic/ioctl-types.h: -> bits/
	* sysdeps/unix/sysv/linux/ioctl-types.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/ioctl-types.h: Likewise.
	* sysdeps/generic/iovec.h: -> .../bits/uio.h
	* sysdeps/unix/sysv/linux/iovec.h: Likewise.
	* sysdeps/generic/mathbits.h: -> .../bits/mathdef.h
	* sysdeps/i386/fpu/mathbits.h: Likewise.
	* sysdeps/m68k/fpu/mathbits.h: Likewise.
	* sysdeps/powerpc/mathbits.h: Likewise.
	* sysdeps/generic/resourcebits.h: -> .../bits/resource.h
	* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Likewise.
	* sysdeps/unix/sysv/linux/resourcebits.h: Likewise.
	* sysdeps/generic/schedbits.h: -> .../bits/sched.h
	* sysdeps/unix/sysv/linux/schedbits.h: Likewise.
	* sysdeps/generic/selectbits.h: -> .../bits/select.h
	* sysdeps/i386/selectbits.h: Likewise.
	* sysdeps/generic/sigaction.h: -> bits/
	* sysdeps/unix/bsd/osf/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sigaction.h: Likewise.
	* sysdeps/unix/sysv/minix/sigaction.h: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.h: Likewise.
	* sysdeps/generic/sigset.h: -> bits/
	* sysdeps/unix/sysv/linux/sigset.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigset.h: Likewise.
	* sysdeps/generic/sockaddrcom.h: -> .../bits/sockaddr.h
	* sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise.
	* sysdeps/generic/socketbits.h: -> .../bits/socket.h
	* sysdeps/unix/sysv/linux/socketbits.h: Likewise.
	* sysdeps/generic/statfsbuf.h: -> .../bits/statfs.h
	* sysdeps/unix/sysv/linux/statfsbuf.h: Likewise.
	* sysdeps/generic/termbits.h: -> .../bits/termios.h
	* sysdeps/unix/bsd/sun/sunos4/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/termbits.h: Likewise.
	* sysdeps/unix/sysv/linux/termbits.h: Likewise.
	* sysdeps/generic/ustatbits.h: -> .../bits/ustat.h
	* sysdeps/unix/sysv/linux/ustatbits.h: Likewise.
	* sysdeps/generic/utmpbits.h: -> .../bits/utmp.h
	* sysdeps/gnu/utmpbits.h: Likewise.
	* sysdeps/unix/sysv/utmpbits.h: Likewise.
	* sysdeps/generic/utsnamelen.h: -> .../bits/utsname.h
	* sysdeps/unix/bsd/sun/sunos4/utsnamelen.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/linux/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/sysv4/utsnamelen.h: Likewise.
	* sysdeps/unix/sysv/utsnamelen.h: Likewise.
	* sysdeps/generic/waitstatus.h: -> bits/
	* sysdeps/i386/huge_val.h: -> bits/
	* sysdeps/ieee754/huge_val.h: Likewise.
	* sysdeps/m68k/huge_val.h: Likewise.
	* sysdeps/stub/huge_val.h: Likewise.
	* sysdeps/vax/huge_val.h: Likewise.
	* sysdeps/ieee754/nan.h: Likewise.
	* sysdeps/stub/nan.h: Likewise.
	* sysdeps/mach/hurd/alpha/sigcontext.h: -> bits/
	* sysdeps/mach/hurd/hppa/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/i386/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/sigcontext.h: Likewise.
	* sysdeps/stub/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigcontext.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigcontext.h: Likewise.
	* sysdeps/unix/sysv/linux/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/errnos.h: -> .../bits/errno.h
	* sysdeps/standalone/arm/errnos.h: Likewise.
	* sysdeps/stub/errnos.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/errnos.h: Likewise.
	* sysdeps/unix/sysv/linux/errnos.h: Likewise.
	* sysdeps/mach/hurd/fcntlbits.h: -> .../bits/fcntl.h
	* sysdeps/stub/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/fcntlbits.h: Likewise.
	* sysdeps/unix/common/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/irix4/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/fcntlbits.h: Likewise.
	* sysdeps/mach/hurd/ioctls.h: -> bits/
	* sysdeps/stub/ioctls.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/ioctls.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/ioctls.h: Likewise.
	* sysdeps/mach/hurd/statbuf.h: -> .../bits/stat.h
	* sysdeps/stub/statbuf.h: Likewise.
	* sysdeps/unix/bsd/osf/alpha/statbuf.h: Likewise.
	* sysdeps/unix/bsd/statbuf.h: Likewise.
	* sysdeps/unix/sysv/irix4/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/statbuf.h: Likewise.
	* sysdeps/unix/sysv/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/statbuf.h: Likewise.
	* sysdeps/standalone/stdio_lim.h: -> bits/
	* sysdeps/stub/stdio_lim.h: Likewise.
	* sysdeps/stub/direntry.h: -> ../bits/dirent.h
	* sysdeps/unix/bsd/bsd4.4/direntry.h: Likewise.
	* sysdeps/unix/bsd/direntry.h: Likewise.
	* sysdeps/unix/common/direntry.h: Likewise.
	* sysdeps/unix/sysv/direntry.h: Likewise.
	* sysdeps/unix/sysv/linux/direntry.h: Likewise.
	* sysdeps/stub/elfclass.h: -> bits/
	* sysdeps/wordsize-32/elfclass.h: Likewise.
	* sysdeps/wordsize-64/elfclass.h: Likewise.
	* sysdeps/stub/signum.h: -> bits/
	* sysdeps/unix/bsd/signum.h: Likewise.
	* sysdeps/unix/bsd/sun/signum.h: Likewise.
	* sysdeps/unix/sysv/irix4/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/signum.h: Likewise.
	* sysdeps/unix/sysv/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/signum.h: Likewise.
	* sysdeps/stub/sys/ipc_buf.h: -> .../bits/ipc.h
	* sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise.
	* sysdeps/stub/sys/msq_buf.h: -> .../bits/msq.h
	* sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise.
	* sysdeps/stub/sys/sem_buf.h: -> .../bits/sem.h
	* sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise.
	* sysdeps/stub/sys/shm_buf.h: -> .../bits/shm.h
	* sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise.
	* sysdeps/stub/timebits.h: -> .../bits/time.h
	* sysdeps/unix/sysv/linux/alpha/timebits.h: Likewise.
	* sysdeps/unix/sysv/linux/timebits.h: Likewise.
	* sysdeps/stub/waitflags.h: -> bits/
	* sysdeps/unix/bsd/waitflags.h: Likewise.
	* sysdeps/unix/sysv/linux/waitflags.h: Likewise.
	* sysdeps/unix/sysv/sysv4/waitflags.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h: -> ../
	* sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/kernel_termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/socketcall.h: -> ../

	* argp/argp-fmtstream.h: Standardize the multiple-include protect.
	* argp/argp.h: Likewise.
	* catgets/nl_types.h: Likewise.
	* crypt/sysdeps/unix/crypt.h: Likewise.
	* ctype/ctype.h: Likewise.
	* db/db.h: Likewise.
	* db/mpool.h: Likewise.
	* db/ndbm.h: Likewise.
	* dirent/dirent.h: Likewise.
	* elf/dlfcn.h: Likewise.
	* elf/elf.h: Likewise.
	* elf/link.h: Likewise.
	* gmon/sys/gmon.h: Likewise.
	* gmon/sys/gmon_out.h: Likewise.
	* grp/grp.h: Likewise.
	* inet/aliases.h: Likewise.
	* inet/arpa/ftp.h: Likewise.
	* inet/arpa/inet.h: Likewise.
	* inet/arpa/telnet.h: Likewise.
	* inet/arpa/tftp.h: Likewise.
	* inet/netinet/ether.h: Likewise.
	* inet/netinet/icmp6.h: Likewise.
	* inet/netinet/in.h: Likewise.
	* inet/netinet/ip6.h: Likewise.
	* inet/protocols/routed.h: Likewise.
	* inet/protocols/rwhod.h: Likewise.
	* inet/protocols/talkd.h: Likewise.
	* inet/protocols/timed.h: Likewise.
	* intl/libintl.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/fts.h: Likewise.
	* io/ftw.h: Likewise.
	* io/sys/poll.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/utime.h: Likewise.
	* linuxthreads/semaphore.h: Likewise.
	* linuxthreads/sysdeps/pthread/pthread.h: Likewise.
	* locale/locale.h: Likewise.
	* login/pty.h: Likewise.
	* login/utmp.h: Likewise.
	* malloc/malloc.h: Likewise.
	* malloc/obstack.h: Likewise.
	* math/complex.h: Likewise.
	* math/fenv.h: Likewise.
	* math/math.h: Likewise.
	* md5-crypt/md5.h: Likewise.
	* misc/ar.h: Likewise.
	* misc/err.h: Likewise.
	* misc/error.h: Likewise.
	* misc/fstab.h: Likewise.
	* misc/libgen.h: Likewise.
	* misc/nlist.h: Likewise.
	* misc/sys/cdefs.h: Likewise.
	* misc/sys/file.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/queue.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/syslog.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* misc/sysexits.h: Likewise.
	* misc/ttyent.h: Likewise.
	* nss/nss.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/getopt.h: Likewise.
	* posix/glob.h: Likewise.
	* posix/regex.h: Likewise.
	* posix/sys/times.h: Likewise.
	* posix/sys/types.h: Likewise.
	* posix/sys/utsname.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* posix/tar.h: Likewise.
	* posix/unistd.h: Likewise.
	* posix/wordexp.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/netdb.h: Likewise.
	* resolv/resolv.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* resource/sys/vlimit.h: Likewise.
	* resource/sys/vtimes.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* shadow/shadow.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* socket/sys/un.h: Likewise.
	* stdlib/exit.h: Likewise.
	* stdlib/fmtmsg.h: Likewise.
	* stdlib/monetary.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/envz.h: Likewise.
	* string/memory.h: Likewise.
	* string/string.h: Likewise.
	* string/strings.h: Likewise.
	* sunrpc/rpc/rpc.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/types.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* termios/sys/ttychars.h: Likewise.
	* termios/termios.h: Likewise.

	* argp/argp-parse.c: <foo.h> -> <bits/foo.h>.
	* crypt/sysdeps/unix/crypt_util.c: Likewise.
	* dirent/dirent.h: Likewise.
	* elf/link.h: Likewise.
	* grp/fgetgrent.c: Likewise.
	* grp/grp.h: Likewise.
	* hurd/hurd/ioctl.h: Likewise.
	* inet/getnameinfo.c: Likewise.
	* inet/getnetgrent_r.c: Likewise.
	* inet/inet_ntoa.c: Likewise.
	* inet/netinet/in.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/ftw.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/utime.h: Likewise.
	* libio/_G_config.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/libioP.h: Likewise.
	* libio/stdio.h: Likewise.
	* linuxthreads/lockfile.c: Likewise.
	* linuxthreads/semaphore.h: Likewise.
	* locale/duplocale.c: Likewise.
	* locale/freelocale.c: Likewise.
	* locale/lc-time.c: Likewise.
	* locale/setlocale.c: Likewise.
	* login/getutent_r.c: Likewise.
	* login/getutid_r.c: Likewise.
	* login/getutline_r.c: Likewise.
	* login/lastlog.h: Likewise.
	* login/pty.h: Likewise.
	* login/utmp.h: Likewise.
	* login/utmpname.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* malloc/thread-m.h: Likewise.
	* math/complex.h: Likewise.
	* math/fenv.h: Likewise.
	* math/libm-test.c: Likewise.
	* math/math.h: Likewise.
	* misc/sgtty.h: Likewise.
	* misc/stab.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* misc/sys/ustat.h: Likewise.
	* misc/syslog.c: Likewise.
	* nis/nss_compat/compat-grp.c: Likewise.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.
	* nis/nss_nis/nis-alias.c: Likewise.
	* nis/nss_nis/nis-ethers.c: Likewise.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-netgrp.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-publickey.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
	* nss_nisplus/nisplus-alias.c: Likewise.
	* nis/nss_nisplus/nisplus-ethers.c: Likewise.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.
	* nis/nss_nisplus/nisplus-netgrp.c: Likewise.
	* nis/nss_nisplus/nisplus-netgrp.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.
	* nis/nss_nisplus/nisplus-spwd.c: Likewise.
	* nis/ypclnt.c: Likewise.
	* nss/getXXbyYY.c: Likewise.
	* nss/getXXent.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* nss/nss_db/db-XXX.c: Likewise.
	* nss/nss_db/db-alias.c: Likewise.
	* nss/nss_db/db-netgrp.c: Likewise.
	* nss/nss_files/files-XXX.c: Likewise.
	* nss/nss_files/files-alias.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* posix/sched.h: Likewise.
	* posix/sys/types.h: Likewise.
	* posix/sys/utsname.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* posix/unistd.h: Likewise.
	* pwd/fgetpwent.c: Likewise.
	* pwd/pwd.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* shadow/fgetspent.c: Likewise.
	* shadow/lckpwdf.c: Likewise.
	* shadow/sgetspent.c: Likewise.
	* signal/signal.h: Likewise.
	* signal/sigsetops.c: Likewise.
	* socket/sys/socket.h: Likewise.
	* socket/sys/un.h: Likewise.
	* stdio/stdio.h: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/atexit.c: Likewise.
	* stdlib/fmtmsg.c: Likewise.
	* stdlib/random.c: Likewise.
	* string/endian.h: Likewise.
	* sysdeps/alpha/w_sqrt.S: Likewise.
	* sysdeps/arm/__longjmp.S: Likewise.
	* sysdeps/arm/setjmp.S: Likewise.
	* sysdeps/generic/abort.c: Likewise.
	* sysdeps/generic/netinet/ip.h: Likewise.
	* sysdeps/generic/setenv.c: Likewise.
	* generic/sys/mman.h: Likewise.
	* sysdeps/i386/__longjmp.S: Likewise.
	* sysdeps/i386/setjmp.S: Likewise.
	* sysdeps/mach/hurd/dirstream.h: Likewise.
	* sysdeps/mach/hurd/jmp-unwind.c: Likewise.
	* sysdeps/posix/mk-stdiolim.c: Likewise.
	* sysdeps/powerpc/__longjmp.S: Likewise.
	* sysdeps/powerpc/setjmp.S: Likewise.
	* sysdeps/sparc/__longjmp.S: Likewise.
	* sysdeps/sparc/setjmp.S: Likewise.
	* sysdeps/standalone/close.c: Likewise.
	* sysdeps/standalone/filedesc.h: Likewise.
	* sysdeps/standalone/open.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/tcsetattr.c: Likewise.
	* sysdeps/unix/bsd/m68k/sysdep.S: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/vax/sysdep.S: Likewise.
	* sysdeps/unix/dirstream.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/mips/sysdep.S: Likewise.
	* sysdeps/unix/mk-local_lim.c: Likewise.
	* sysdeps/unix/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/brk.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/netinet/ip.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/tcp.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/syscall.h: Likewise.
	* sysdeps/unix/sysv/linux/tcgetattr.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sysconf.S: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/sysdep.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S: Likewise.
	* sysvipc/sys/ipc.h: Likewise.
	* sysvipc/sys/msg.h: Likewise.
	* sysvipc/sys/sem.h: Likewise.
	* sysvipc/sys/shm.h: Likewise.
	* termios/termios.h: Likewise.
	* time/localtime.c: Likewise.
	* time/sys/time.h: Likewise.
	* time/time.h: Likewise.
	* time/tzset.c: Likewise.

	* sysdeps/unix/sysv/linux/arm/socket.S: socketcall.h change.
	* sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/socket.S: Likewise.

	* Makefile (headers): foo.h -> bits/foo.h.
	* dirent/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* io/Makefile: Likewise.
	* linuxthreads/Makefile: Likewise.
	* linuxthreads/sysdeps/pthread/Makefile: Likewise.
	* login/Makefile: Likewise.
	* math/Makefile: Likewise.
	* misc/Makefile: Likewise.
	* posix/Makefile: Likewise.
	* resource/Makefile: Likewise.
	* setjmp/Makefile: Likewise.
	* signal/Makefile: Likewise.
	* socket/Makefile: Likewise.
	* stdio-common/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/Makefile: Likewise.
	* sysvipc/Makefile: Likewise.
	* termios/Makefile: Likewise.
	* time/Makefile: Likewise.
	* sysdeps/generic/Makefile (make_siglist-CFLAGS): Likewise.
	* sysdeps/posix/Makefile: stdio_lim.h -> bits/stdio_lim.h
	* sysdeps/unix/Makefile: Likewise with local_lim.h, errnos.h,
	ioctls.h, termbits.h.

	* sysdeps/unix/sysv/linux/Dist: sys/kernel_termios.h
	-> kernel_termios.h, sys/socketcall.h -> socketcall.h

	* elf/elf.h: Use <inttypes.h> definitions instead of __attribute__
	for getting the proper length on the ELF types to be friendly to
	non-gcc compilers.
	* posix/sys/types.h: Notice when int8_t and friends are defined
	and don't redefine them.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.

	* sysdeps/unix/sysv/linux/arm/profil-counter.h: Get sigcontext
	via <signal.h> instead.
	* sysdeps/unix/sysv/linux/i386/profil-counter.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/profil-counter.h: Likewise.

1997-06-20 17:59  Kazumoto Kojima  <kkojima@kk.info.kanagawa-u.ac.jp>

	* hurd/intr-msg.c: More 64bit changes.
	* mach/msg-destroy.c: Likewise.
	* sysdeps/mach/hurd/ioctl.c: Likewise.
	* sysdeps/mach/hurd/ioctls.h: Likewise.
	* sysdeps/mach/hurd/select.c: Likewise.
	* sysdeps/mach/hurd/statbuf.h: Likewise.

	* sysdeps/mach/hurd/mips/dl-machine.c: Hurd/MIPS64 patches.
	* sysdeps/mach/hurd/mips/exc2signal.c: Likewise.
	* sysdeps/mach/hurd/mips/init-fault.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/intr-msg.h: Likewise.
	* sysdeps/mach/hurd/mips/longjmp-ctx.c: Likewise.
	* sysdeps/mach/hurd/mips/longjmp-ts.c: Likewise.
	* sysdeps/mach/hurd/mips/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* sysdeps/mach/mips/cacheflush.c: Likewise.
	* sysdeps/mach/mips/machine-lock.h: Likewise.
	* sysdeps/mach/mips/machine-sp.h: Likewise.
	* sysdeps/mach/mips/syscall.S: Likewise.
	* sysdeps/mach/mips/sysdep.h: Likewise.
	* sysdeps/mach/mips/thread_state.h: Likewise.
	* sysdeps/mach/start.c: Likewise.

	* sysdeps/mips/dl-machine.h: MIPS changes.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/mips/init-first.c: Likewise.
	* sysdeps/mips/fpu_control.h: Likewise.
	* sysdeps/mips/machine-gmon.h: Likewise.
	* sysdeps/mips/jmp_buf.h: Likewise.
	* sysdeps/mips/__longjmp.c: Likewise.
	* sysdeps/mips/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/bsd-setjmp.S: Likewise.
	* sysdeps/mips/setjmp.S: Likewise.
	* sysdeps/mips/setjmp_aux.c: Likewise.
	* sysdeps/mips/mips64/gmp-mparam.h: Likewise.
	* sysdeps/mips/add_n.S: New file.
	* sysdeps/mips/addmul_1.S: Likewise.
	* sysdeps/mips/lshift.S: Likewise.
	* sysdeps/mips/mul_1.S: Likewise.
	* sysdeps/mips/rshift.S: Likewise.
	* sysdeps/mips/sub_n.S: Likewise.
	* sysdeps/mips/submul_1.S: Likewise.
	* sysdeps/mips/mips64/Implies: Likewise.
	* sysdeps/mips/mips64/add_n.S: Likewise.
	* sysdeps/mips/mips64/addmul_1.S: Likewise.
	* sysdeps/mips/mips64/lshift.S: Likewise.
	* sysdeps/mips/mips64/mul_1.S: Likewise.
	* sysdeps/mips/mips64/rshift.S: Likewise.
	* sysdeps/mips/mips64/sub_n.S: Likewise.
	* sysdeps/mips/mips64/submul_1.S: Likewise.
	* sysdeps/mips/add_n.S: Removed.
	* sysdeps/mips/addmul_1.S: Likewise.
	* sysdeps/mips/lshift.S: Likewise.
	* sysdeps/mips/mul_1.S: Likewise.
	* sysdeps/mips/rshift.S: Likewise.
	* sysdeps/mips/sub_n.S: Likewise.
	* sysdeps/mips/submul_1.S: Likewise.

	* nss/Makefile: Prepare for static NSS.
	* resolv/Makefile: Likewise.
	* nss/nsswitch.c: Add code for static NSS.
	* nss/function.def: Define functions for static NSS.

1997-06-19 11:10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Add yet more symbols.

1997-06-19 20:33  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Don't pass NULL
	as object name to _dl_signal_error.
	(do_lookup): Skip objects that could not be opened.

	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Check that the
	symbol was found.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise.

1997-06-20 03:13  Kazumoto Kojima  <kkojima@kk.info.kanagawa-u.ac.jp>

	* ctype/ctype-info.c: Use int32_t where `int' with 4 bytes is
	assumed.
	* ctype/ctype.h: Likewise.
	* math/math_private.h: Likewise.
	* inet/netinet/in.h: Likewise.
	* wctype/wctype.h: Likewise.

	* nss/Makefile: Only inhibit nss_files and nss_db modules if static
	NSS modules are not enabled.
	* resolv/Makefile: Likewise for nss_dns.
	* nss/function.def: New file.  List all available lookup functions
	for static NSS.
	* nss/nsswitch.c: Add code for static NSS.

1997-06-15 21:15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (gamma_test): Test for _SVID_ and for normal
	behaviour.

1997-06-15 20:32  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm.map: Add all necessary functions, correct existing entries.

1997-06-20 02:35  a sun  <asun@zoology.washington.edu>

	* sysdeps/unix/sysv/linux/netipx/ipx.h: Don't use kernel header.

1997-06-19 18:43  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent):
	Compare pointer with NULL.

	* login/logout.c (logout): Compare pututline result with NULL.

	* inet/rcmd.c: Correct a few typos.  Reported by Erik Troan.
1997-06-21 02:59:26 +00:00
Ulrich Drepper d705269e75 Update.
1997-06-19 19:38  Ulrich Drepper  <drepper@cygnus.com>

	* features.h: Define __STDC_IEC_559__ and _STDC_IEC_559_COMPLEX__.

	* elf/dl-minimal.c (__dcgettext): Remove assertion.

	* inet/rcmd.c: Correct a few typos.  Reported by Eric Troan.

	* manual/Makefile (distribute): Add dir.
	* manual/dir: New file.

	* math/Makefile (libm-support): Rename s_rinttol, s_rinttoll,
	s_roundtol, and s_roundtoll to s_lrint, s_llrint, s_lround,
	and s_llround respectively.
	(libm-calls): Add e_gamma_r.
	* math/libm-test.c (check_int_exc): New function.
	(signbit_test): Remove test for sign of NaN.
	(gamma_test): Clear exception after test of existence.
	Correct tests and and epsilons.
	(lgamma_test): Likewise.
	(ilogb_test): Correct all tests.
	(scalb_test): Rewrite.
	(rinttol_test): Rename to lrint_test and correct tests.
	(rinttoll_test): Likewise.
	(roundtol_test): Likewise.
	(roundtoll_test): Likewise.
	(main): Call lrint/lround functions instead of rinttol/roundtol.
	* math/math.h: Change prototypes for rinttol/roundtol.
	* math/mathcalls.h: Rearrange prototypes according to ISO C9X draft.
	* sysdeps/generic/mathbits.h: Define FP_ILOGB0 and FP_ILOGBNAN.
	* sysdeps/i386/mathbits.h: Likewise.
	* sysdeps/libm-i387/e_scalb.S: Handle special cases correctly.
	* sysdeps/libm-i387/e_scalbf.S: Likewise.
	* sysdeps/libm-i387/e_scalbl.S: Likewise.
	* sysdeps/libm-i387/s_asinh.S: Handle -inf correctly.
	* sysdeps/libm-i387/s_asinhf.S: Likewise.
	* sysdeps/libm-i387/s_asinhl.S: Likewise.
	* sysdeps/libm-i387/s_ilogb.S: Optimize.
	* sysdeps/libm-i387/s_ilogbf.S: Likewise.
	* sysdeps/libm-i387/s_ilogbl.S: Likewise.
	* sysdeps/libm-i387/s_rinttol.S: Rename to...
	* sysdeps/libm-i387/s_lrint.S: ...this.
	* sysdeps/libm-i387/s_rinttoll.S: Rename to...
	* sysdeps/libm-i387/s_llrint.S: ...this.
	* sysdeps/libm-i387/s_remquo.S: Correctly set sign of remainder.
	* sysdeps/libm-i387/s_remquof.S: Likewise.
	* sysdeps/libm-i387/s_remquol.S: Likewise.
	* sysdeps/libm-i387/e_gamma_r.c: New file.  Implementation of gamma
	function according to ISO C.
	* sysdeps/libm-i387/e_gammaf_r.c: New file.
	* sysdeps/libm-i387/e_gammal_r.c: New file.
	* sysdeps/libm-i387/e_lgamma_r.c: Don't let optimize compile the
	generation of exceptions away.
	* sysdeps/libm-i387/e_lgammaf_r.c: Likewise.
	* sysdeps/libm-i387/k_standard.c: Correct return value for infinity
	points of gamma function when not SVID mode.
	* sysdeps/libm-i387/s_rinttoll.c: Renamed to...
	* sysdeps/libm-i387/s_llrint.c: ...this.
	* sysdeps/libm-i387/s_rinttol.c: Renamed to...
	* sysdeps/libm-i387/s_lrint.c: ...this.
	* sysdeps/libm-i387/s_roundtoll.c: Renamed to...
	* sysdeps/libm-i387/s_llround.c: ...this.
	* sysdeps/libm-i387/s_roundtol.c: Renamed to...
	* sysdeps/libm-i387/s_lround.c: ..this.
	* sysdeps/libm-i387/s_scalbn.c: Change second parameter according to
	ISO C.
	* sysdeps/libm-i387/s_scalbnf.c: Likewise.
	* sysdeps/libm-i387/s_scalbnl.c: Likewise.
	* sysdeps/libm-i387/w_gamma.c: Call __ieee754_gamma_r if library
	mode is not _SVID_.
	* sysdeps/libm-i387/w_gammaf.c: Likewise.
	* sysdeps/libm-i387/w_gammal.c: Likewise.
	* sysdeps/m68k/fpu/__math.h: Rename __rinttol to __lrint and
	rinttol to lrint.
	* sysdeps/m68k/fpu/s_rinttol.c: Renamed to...
	* sysdeps/m68k/fpu/s_lrint.c: ...this.
	* sysdeps/m68k/fpu/s_rinttoll.c: Renamed to...
	* sysdeps/m68k/fpu/s_llrint.c: ...this.

	* md5-crypt/Makefile: Link md5test program with md5.o.

	* stdio-common/temptest.c: Don't use __stdio_gen_tempname which
	is not exported by the libc.so.

	* stdio-common/vfscanf.c: Correct scanning of strings after last
	change.

	* sysdeps/unix/sysv/linux/i386/sysdep.S: Use .comm to define errno.

1997-06-19 07:37  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* time/tzfile.c (__tzfile_read): Store getc () return in int.

1997-06-13  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp-parse.c (argp_version_parser): Include `(PROGRAM ERROR)' in
	the no-version error text to indicate that something's fucked.
	[!_] (N_): New macro.
	(argp_default_options, argp_version_options): Wrap doc strings in N_().

1997-06-12  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp-parse.c (parser_parse_opt): Detect and report unhandled
	options here.
	(parser_parse_arg): Handle ARGP_KEY_ARGS here.
	Adjust NEXT pointer back if we fail to parse anything.
	(parser_parse_next): Simplify arg code.  Leave state NEXT frobbing
	to parser_parse_arg.

1997-06-11  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp.h (ARGP_KEY_ARGS, ARGP_KEY_FINI): New macros.
	* argp/argp-parse.c (parser_finalize): Do another pass over the
	parsers with ARGP_KEY_FINI.

1997-06-18  Miles Bader  <miles@gnu.ai.mit.edu>

	* string/Makefile (routines): Add argz-replace.

1997-06-16 00:16  Miles Bader  <miles@gnu.ai.mit.edu>

	* manual/string.texi (Argz Functions): Document argz_replace.

1997-06-12  Miles Bader  <miles@gnu.ai.mit.edu>

	* string/argz.h (__argz_replace, argz_replace): New declarations.
	* string/argz-replace.c: New file.

1997-06-11  Miles Bader  <miles@gnu.ai.mit.edu>

	* manual/argp.texi (Argp Special Keys): Document ARGP_KEY_ARGS.

1997-06-16 23:08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig (libc-map): Remove definition.
	* Makerules (libc-map): Define it here, using the full name.
	(load-map-file): Remove case for empty $(..).
	($(common-objpfx)libc.so): Revert last change.

1997-06-17 22:18  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/programs/utmpd.c (main): Improve signal handling.

	* login/programs/request.c (do_setutent, do_updwtmp):
	Allow arbitrary length filenames.
	* login/programs/utmpd.h (setutent_request, updwtmp_request):
	Get rid of fixed length file field.
	* login/utmp_daemon.c (do_setutent, do_updwtmp):
	Allow arbitrary	length filenames.

	* login/programs/request.c (do_pututline):
	Don't fail if connection->position is -1 on entry.

1997-06-15 16:32  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/utmp_file.c (updwtmp_file): Use the same method for
	appending an entry as in pututline_file.

1997-06-11 18:59  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/utmp_file.c (getutent_r_file):
	Use read lock instead of write lock.
	(getutline_r_file, internal_getut_r): Lock utmp file.
	(updwtmp_file): Use fcntl to lock file instead of flock.

1997-06-18 00:11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/vfscanf.c (inchar, ungetc): Don't count EOF as
	character read in/put back.
	* stdio-common/tstscanf.c: Add test case for this.

1997-06-17 22:17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Add more symbols.

1997-06-18 12:01  Ulrich Drepper  <drepper@cygnus.com>

	* manual/Makefile (install): Make sure `dir' file exists if we use
	install-info.

1997-06-17 19:32  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/Makefile (info): Depend on dir-add.info.

1997-06-17 17:19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldd.bash.in: Fix spacing in message.

1997-06-17 14:28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/do-rel.h (elf_dynamic_do_rel): Always use version
	information if available.

1997-06-17 11:34  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/Makefile ($(rpcsvc:%.x=$(objpfx)rpcsvc/%.h)): Make
	command non-empty to force make to recheck modification time.
	($(rpcsvc:%.x=$(objpfx)x%.c)): Likewise.

1997-06-17 00:26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/stub/e_acoshl.c: Set errno to ENOSYS.
	* sysdeps/stub/e_acosl.c: Likewise.
	* sysdeps/stub/e_asinl.c: Likewise.
	* sysdeps/stub/e_atan2l.c: Likewise.
	* sysdeps/stub/e_expl.c: Likewise.
	* sysdeps/stub/e_fmodl.c: Likewise.
	* sysdeps/stub/e_j0l.c: Likewise.
	* sysdeps/stub/e_j1l.c: Likewise.
	* sysdeps/stub/e_jnl.c: Likewise.
	* sysdeps/stub/e_lgammal_r.c: Likewise.
	* sysdeps/stub/e_log10l.c: Likewise.
	* sysdeps/stub/e_logl.c: Likewise.
	* sysdeps/stub/e_powl.c: Likewise.
	* sysdeps/stub/e_rem_pio2l.c: Likewise.
	* sysdeps/stub/e_sqrtl.c: Likewise.
	* sysdeps/stub/k_cosl.c: Likewise.
	* sysdeps/stub/k_rem_pio2l.c: Likewise.
	* sysdeps/stub/k_sinl.c: Likewise.
	* sysdeps/stub/k_tanl.c: Likewise.
	* sysdeps/stub/s_atanl.c: Likewise.
	* sysdeps/stub/s_erfl.c: Likewise.
	* sysdeps/stub/s_exp2.c: Likewise.
	* sysdeps/stub/s_exp2f.c: Likewise.
	* sysdeps/stub/s_exp2l.c: Likewise.
	* sysdeps/stub/s_expm1l.c: Likewise.
	* sysdeps/stub/s_log1pl.c: Likewise.
	* sysdeps/stub/s_log2l.c: Likewise.

1997-06-18 11:46  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/w_gamma.c: If _LIB_VERSION is _SVID_ compute
	result as before last change.
	* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
	* sysdeps/libm-ieee754/w_gammal.c: Likewise.

1997-06-16 23:37  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_remquo.c: Fix off-by-one when computing
	quotient.
	* sysdeps/libm-ieee754/s_remquof.c: Likewise.
	* sysdeps/libm-ieee754/s_remquol.c: Likewise.

	* sysdeps/m68k/fpu/s_remquo.c: Remove FIXME and special case for
	quotient.

	* sysdeps/libm-ieee754/w_gamma.c: Add missing call to exp
	function.  Don't use global signgam.
	* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
	* sysdeps/libm-ieee754/w_gammal.c: Likewise.

	* math/Makefile (libm-calls): Remove w_gamma_r.
	* sysdeps/libm-ieee754/w_gamma_r.c: Remove file.
	* sysdeps/libm-ieee754/w_gammaf_r.c: Remove file.
	* sysdeps/libm-ieee754/w_gammal_r.c: Remove file.

	* math/libm-test.c (atanh_test): Declare x only if needed.
	(signbit_test): Fix typo.
	(gamma_test): Check whether function is implemented.  Add
	epsilons.
	(lgamma_test): Likewise.
	(fmod_test): Add epsilons.
	(exp2_test): Use right function for existence test.

1997-06-07 09:20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/powerpc/Dist: Add fenv_const.c.
	* sysdeps/unix/sysv/linux/Dist: Add net/if_slip.h.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Add init-first.h and
	syscall.h.
	* sysdeps/unix/sysv/linux/sparc/Dist: Add init-first.h.
	* string/Makefile (distribute): Add tst-svc.expect.
	* nis/Makefile (distribute): Add nis_intern.h and Banner.
	* elf/Makefile (distribute): Add dl-hash.h.
	* Rules (subdir_echo-distinfo): Add headers from $(distribute).

	* login/Makefile (others): Add utmpdump.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	net/if_slip.h.

	* manual/Makefile (dir-add.texi): Also look in indirectly included
	files.

1997-06-16 23:15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/configure.in: Remove commands to
	generate stdio_lim.h.
	* sysdeps/unix/sysv/linux/mk-stdiolim.c: Remove.
	* sysdeps/unix/sysv/linux/Makefile: Add rules to generate
	stdio_lim.h here.
	(common-generated): Add generated files.
	(inhibit-stdio_lim): Define.
	* sysdeps/posix/Makefile [$(inhibit-stdio_lim)=yes]: Disable rules
	to generate stdio_lim.h.

	* sysdeps/unix/sysv/linux/Makefile: Suppress inclusion of
	dependecy files if no_deps is set.
	($(objpfx)syscall-%.d): Add header file as target to dependency
	generation.

1997-06-14 19:19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/arm/Dist: New file.

1997-06-14 17:59  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* extra-lib.mk (others): Depend on versioned shared library, not
	the unversioned one.
	* Makerules (build-shlib): Don't make the version link here.
	($(common-objpfx)libc.so$(libc.so-version)): New rule for libc
	version link.

1997-06-16 03:07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/k_standard.c: Undo change of Tue Aug 6
	01:13:56 1996.

	* argp/argp-help.c (argp_args_usage): Supply correct argp to
	filter_doc.
	* argp/argp-help.c (hol_add_cluster): Initialize CL->depth.
	* argp/argp-help.c (_help): Supply STATE to argp_args_usage.
	* argp/argp.h (ARGP_KEY_HELP_ARGS_DOC): New macro.
	* argp/argp-fmtstream.c: Add casts to prevent warnings.
	* argp/argp.h (OPTION_NO_USAGE): New macro.
	* argp/argp-help.c (usage_long_opt, usage_argful_short_opt,
	* argp/argp-fmtstream.c (__argp_fmtstream_update): Account for case
	* argp/argp-help.c <stddef.h>: New include.
	* argp/argp.h (argp_state_help, __argp_state_help, argp_usage,
	* argp/argp.h (argp_program_bug_address): Make const.
	* argp/argp-parse.c (argp_default_parser): Set STATE->name for OPT_PROGNAME.
	* argp/argp-help.c (__argp_error, __argp_failure, __argp_state_help):
	* argp/argp-parse.c (parser_init): Set PARSER->state.flags.
1997-06-19 19:11:22 +00:00
Ulrich Drepper e7f1f046f5 Update.
1997-06-16 00:54  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add more symbols.

	* Mwkerules (load-map-file): Currectly handle missing map file.

1997-06-15 17:00  Philip Blundell  <Philip.Blundell@pobox.com>

	* configure.in: Correct detection of generic uname implementation.

1997-06-15 23:19  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c: Fix typos.  Patch by Andreas Jaeger.

	* libc.map: Add __nss_configure_lookup.  Reported by Thorsten Kukuk.
1997-06-16 00:14:00 +00:00
Ulrich Drepper 900bec852d Update.
1997-06-15 00:43  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Define libc-map here.
	* Makefile: And remove definition here.
	* Makerules (load-map-file): Handle case where map file is in
	other directory.
	(build-shlib): Likewise.

	* libc.map: Add more symbols.
	* resolv/libresolv.map: Likewise.

	* db/libdb.map: Add __dbopen.  Patch by HJ Lu.

	* libio/stdio.h: Remove "optmizations" for vfscanf and vsscanf.

	* locale/programs/localedef.c: Add normalize_codeset function.  We
	don't want to use the _nl_normalize_codeset functions from libc.

	* sysdeps/libm-i387/s_asinh.S: Handle +-Inf and NaN correctly.
	* sysdeps/libm-i387/s_asinhf.S: Likewise.
	* sysdeps/libm-i387/s_asinhl.S: Likewise.
	* sysdeps/libm-i387/s_nearbyint.S: Correctly leave function.
	* sysdeps/libm-i387/s_nearbyintf.S: Likewise.
	* sysdeps/libm-i387/s_nearbyintl.S: Likewise.

1997-06-14 12:45  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_nis/nis-ethers.c: Add static to internal_nis_setetherent.

	* nis/nss_nis/nis-proto.c: Add static to internal_nis_setprotoent.

	* nis/nss_nisplus/nisplus-hosts.c: Rewrite parser and fix
	_nss_nisplus_gethostbyaddr_r interface.

	* nis/libnsl.map: Add all GLOBAL functions.

1997-06-13 18:32  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* libm-test.c 	(main): Call new tests, reorder tests.
	(fmod_test): Test function fmod.
	(nearbyint_test): Test function nearbyint.
	(acos_test): Add more test cases.
	(signbit_test): Test macro signbit.
	(output_result_bool): Output result if test fails.
	(asin_test): Add another test case.
	(atan2_test): Add more tests.
	(asinh_test): Add more tests.
	(atanh_test): Add more tests.
	(hypot_test): Add more tests.
	(isfinite_test): Test macro isfinite.
	(isnormal_test): Test macro isnormal.
	(sincos_test): Tests for sincos.
	(main): Enable remquo_test since the tests are
	correct (according to ANSI/IEEE 754-1985).
	(remquo_test): Corrected tests cases and added more tests.
	(remainder_test): Tests for remainder.
	(check_int): New Function to compare int values.
	(check_isnan_exc_ext): New function.
	(sqrt_test): Add some extra tests for sqrt.
	(erf_test): Tests for erf.
	(erfc_test): Tests for erfc.
	(gamma_test): Tests for gamma.
	(lgamma_test): Tests for lgamma.

1997-06-08 10:54  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/configure.in: Try to generate
	stdio_lim.h using the target C preprocessor and mk-stdiolim.c.
	* sysdeps/unix/sysv/linux/stdio_lim.h.in: New, template for
	stdio_lim.h.
	* sysdeps/unix/sysv/linux/mk-stdiolim.c: New, used by the
	target C preprocessor to extract OPEN_MAX and PATH_MAX.

1997-06-14 17:32  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm.map: Add inline functions, global variables.
1997-06-14 23:17:05 +00:00
Ulrich Drepper ce37fa887b Update.
1997-06-14 00:39  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add more libio functions which are used in libio.h.

	* login/Makefile (libutil-routines): Move updwtmp to ...
	(routines): ...here.
	Suggested by Mark Kettenis <kettenis@phys.uva.nl>.

	* sysdeps/stub/s_erfl.c: Add stub definition of erfcl.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.

1997-06-13 21:10  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_add.c (nis_add): Create object name only if not set.

	* nis/nis_clone.c: Use calloc instead of malloc to prevent
	RPC encode errors.

	* nis/nis_modify.c (nis_modify): Create default object entrys if
	given are NULL.
	* nis/nis/nis_table.c (nis_add_entry, nis_modify_entry): Likewise.

1997-06-13 14:17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>


	* sysdeps/i386/addmul_1.S: Replace size with sizeP, otherwise the
	define might also replace the expanded macro ASM_SIZE_DIRECTIVE.
	* sysdeps/i386/submul_1.S: Likewise.

1997-06-13 12:19  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c: Print version information if LD_TRACE_LOADED_OBJECT
	and LD_VERBOSE are given.

	* elf/ldd.sh.in: Add -v|--verbose option.  Add author information
	as per Coding Standard.
	* elf/ldd.bash.in: Likewise.

1997-06-12 21:22  Ulrich Drepper  <drepper@cygnus.com>
1997-06-13 22:46:42 +00:00
Ulrich Drepper 714a562f0b Update.
<1997-06-12 21:22  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile (libc-map): Define before including Makerules.
	* Makerules (lib%.so): Depend on $(lib%-map).
	(build-shlib): Adapt rule for above change.
	(libc.so): Depend on $(libc-map).
	* db/Makefile (libcdb-map): New definition.
	* elf/Makefile (libdl-map): New definition.
	* elf/dl-lookup.c: Don't use relative include path.
	(undefined_msg): New variable.  Use single string in all functions.
	(do_lookup): Correctly recognize default version.
	Return -2 if no version information is available.
	Stop processing hash entries when string was found.
	Don't bark about missing versioned symbol in file with original
	reference if it is a weak symbol.
	(_dl_lookup_symbol): Use undefined_msg.
	(_dl_lookup_versioned_symbol): Likewise.
	Give extra information if no verdef info is available.
	* elf/dl-version.c (file_needed): Remove first argument.  We must
	seek in the whole search list.
	(match_symbol): Correct check for available verdef info.
	(_dl_check_map_versions): Correct call of find_needed.
	* locale/Makefile (libBrokenLocale-map): New definition.
	* login/Makefile (libutil-map): New definition.
	* math/Makefile (libm-map): New definition.
	* md5-crypt/Makefile (libcrypt-map): New definition.
	* nis/Makefile (libnsl-map, libnss_compat-map, libnss_nis-map,
	libnss_nisplus-map): New definition.
	* nss/Makefile (libnss_files-map, libnss_db-map): New definitions.
	* resolv/Makefile (libresolv-map, libnss_dns-map): New definitions.
	* libc.map: New file.
	* db/libdb.map: New file.
	* elf/libdl.map: New file.
	* locale/libBrokenLocale.map: New file.
	* login/libutil.map: New file.
	* math/libm.map: New file.
	* md5-crypt/libcrypt.map: New file.
	* nis/libnss_compat.map: New file.
	* nis/libnsl.map: New file.
	* nis/libnss_nis.map: New file.
	* nis/libnss_nisplus.map: New file.
	* nss/libnss_files.map: New file.
	* nss/libnss_db.map: New file.
	* resolv/libnss_dns.map: New file.
	* resolv/libresolv.map: New file.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Don't do anything
	for R_386_NONE entries.

	* Makefile (manual/dir-add.info): New rule.

	* Makerules: Add vpath definition for .x files.

	* Makerules (distinfo): Make sure target directory exists.

	* argp/argp-help.c (argp_args_usage): Don't modify `fdoc' value
	since it is used to distinguish filtered strings from unmodifed
	strings.

	* elf/dl-lookup.c (do_lookup): Optimize STT_* recognition.
	* elf/dl-reloc.c: Fix typo.

	* inet/arpa/tftp.h (struct tftphdr): Change type of tu_block to
	`unsigned short'.

	* manual/Makefile (dir-add.texi): Also emit wrapper text for
	info/install-info.
	(distribute): Add dir-add.texi and dir-add.info.
	(mostlyclean): Add dir-add.info.
	(realclean): Add dir-add.texi.
	(install): Add entries in `dir' file using install-info.

	* manual/libc.texinfo: Add @dircategory and @direntry text.
	Reported by Miles Bader <miles@gnu.ai.mit.edu>.

	* manual/pattern.texi: Correct description of GLOB_MAGCHAR and
	GLOB_NOMAGIC.  Changes by Roland McGrath <roland@gnu.ai.mit.edu>.

	* nis/nis_addmember.c: Little optimizations.
	* nis/nis_call.c: Likewise.
	* nis/nis_creategroup.c: Likewise.
	* nis/nis_defaults.c: Likewise.
	* nis/nis_destroygroup.c: Likewise.
	* nis/nis_ismember.c: Likewise.
	* nis/nis_local_names.c: Likewise.
	* nis/nis_print_group_entry.c: Likewise.
	* nis/nis_verifygroup.c: Likewise.

	* posix/unistd.h: Fix comment for getcwd.

	* stdlib/Makefile (headers): Remove inttypes.h.  It's a system
	dependent header.
	* sysdeps/wordsize-32/Dist: New file.
	* sysdeps/wordsize-32/Makefile: New file.
	* sysdeps/wordsize-64/Dist: New file.
	* sysdeps/wordsize-64/Makefile: New file.

	* sunrpc/Makefile: Adopt comment for real situation.

	* sysdeps/i386/add_n.S: Add ASM_TYPE_DIRECTIVE and AS_SIZE_DIRECTIVE.
	* sysdeps/i386/addmul_1.s: Likewise.
	* sysdeps/i386/lshist.s: Likewise.
	* sysdeps/i386/rshift.s: Likewise.
	* sysdeps/i386/sub_n.s: Likewise.
	* sysdeps/i386/submul_1.s: Likewise.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
	Add .type and .size.

1997-06-12 13:32  Philip Blundell  <Philip.Blundell@pobox.com>

	* libc/sysdeps/unix/arm/brk.S: New file.
	* libc/sysdeps/unix/arm/sysdep.S: Likewise.
	* libc/sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.

1997-06-11 11:51  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent):
	Check if we have shadow information.

1997-06-08 19:33  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_getservlist.c (nis_getservlist): Use calloc instead of
	malloc, alloc memory for nis_server struct.
	* nis/nis_getservlist.c (nis_freeservlist): Give the memory for
	the nis_server struct free, too.

	* nis/nis_removemember (nis_removemember): Fix for loop.

1997-06-12 12:45  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/fpu/__math.h (__M_SQRT2): Define here since we
	cannot rely on M_SQRT2 being defined.  (log1p): Use __M_SQRT2 not
	M_SQRT2.
	* math/math.h (_Mldbl): Define even if M_* constants are not
	defined.
	Reported by corsepiu@faw.uni-ulm.de.

1997-06-12 03:08  Philip Blundell  <Philip.Blundell@pobox.com>

	* nss/getXXbyYY_r.c (do_weak_alias): Remove extra parentheses.

1997-06-11 13:22  Ulrich Drepper  <drepper@cygnus.com>

	* misc/regexp.h (compile): Allow use of macro INIT for variable
	declaration.  Add documentation for INIT.
	Reported by Robert Bihlmeyer <robbe@orcus.priv.at>.

1997-06-11 10:47  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/unix/sysv/linux/net/if_arp.h: Add two new hardware types.

1997-06-10 11:31  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/powerpc/strlen.s: Use -0x101 instead of 0xfffffeff
	for a signed 16-bit value.

1997-06-07 07:54  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(_dl_sysdep_read_whole_file): Deleted.

	* sysdeps/powerpc/fenvbits.h (__FE_ALL_INVALID): Changed
	to FE_ALL_INVALID.

	* sysdeps/powerpc/fraiseexcpt.c (__FE_INVALID_SOFTWARE):
	Changed to FE_INVALID_SOFTWARE.
	(__FPSCR_STICKY_BITS): Changed to FPSCR_STICKY_BITS.

	* sysdeps/libm-ieee754/s_fmin.c: Fix a typo.

1997-06-07 18:48  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* shlib-versions (.*-.*-linux.*): Set libc to 6.

1997-06-08 15:35  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_add.c (nis_add): Use nis_leaf_of_r instead of nis_name_of_r.

	* nis/nis_addmember.c (nis_addmember): Fix a lot of pointer errors.
	* nis/nis_clone.c: Likewise.
	* nis/nis_removemember.c (nis_removemember): Likewise.
	* nis/nis_table.c: Likewise.

	* nis/nss_nis/nis-hosts.c: Use addr, not p for inet_pton call.
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.

	* nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Check for
	group == NULL.

1997-06-08 21:21  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/login.c, login/utmp_daemon.c, login/utmp_file.c,
	login/getutent_r.c, login/utmpname.c: Cleanup `#if _LIBC' and
	`#ifndef _LIBC' fragments.

	* login/programs/utmpd.c: Define DEFAULT_USER.
	(drop_priviliges): Use it.
	(main): Set locale and text domain.

	* login/programs/utmpd-private.h: Declare proc_utmp_eq.
	* login/programs/database.c (proc_utmp_eq): Removed.
	* login/programs/request.c (proc_utmp_eq): Made global.  Only use
	ut_id field if valid.

	* login/utmp_file.c (proc_utmp_eq): Restore patch made by Miles
	Bader that was lost when adding the daemon backend; Only use ut_id
	field if valid.

1997-06-05 23:10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Dist: Remove netatalk/atalk.h and
	netinet/icmp.h, add netatalk/at.h.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Remove termios.h.
	* sysdeps/unix/sysv/linux/sparc/Dist: Remove start.c.

1997-06-04 19:22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdlib/testsort.c (compare): Fix parameter types.

1997-06-04 19:05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* md5-crypt/Makefile (distribute): Fix name of file.

1997-06-04 19:02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* login/Makefile (utmpd-routines): Remove utmpd again, which is
	already added implicitly through $(others).

1997-06-05 13:43  Fila Kolodny  <fila@filapc.ibi.com>

	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add netipx/ipx.h.

1997-06-05 13:25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* md5-crypt/md5-crypt.c: Add prototype for __md5_crypt.

1997-06-05 17:08  Ulrich Drepper  <drepper@cygnus.com>

	* string/argz-addsep.c: Correct weak alias.
	Reported by Ben Pfaff <pfaffben@pilot.msu.edu>.

	* locale/setlocale.c (setlocale): Free variable with locale path
	before returning.
	(setname): Don't test for _nl_current[category] being NULL before
	freeing.
	Reported by Ben Pfaff <pfaffben@pilot.msu.edu>.

1997-06-04 12:41  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/intro.texi (XPG): Correct some typos.

	* manual/libc.texinfo (Program Arguments): Menu updated.
	* nis/nis_local_names.c (nis_local_host): Fix pointer errors.
1997-06-12 21:38:55 +00:00
Ulrich Drepper b0de3e9e30 Update.
1997-06-04 05:09  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp-help.c (_help): Use uparams.usage_indent instead of
	the USAGE_INDENT macro.

	* manual/summary.awk: Strip trailing commas from node-names.

	* manual/.cvsignore: Ignore chapters-incl[12] rather than
	chapters-incl.

	* manual/Makefile (%.c.texi): Deal with multiple @-commands on a
	single line.

	* manual/string.texi (Argz Functions, Envz Functions): Add magic
	comments for generating summary.texi.

1997-06-02 22:18  Miles Bader  <miles@gnu.ai.mit.edu>

	* manual/argp.texi: New file.
	* manual/examples/argp-ex1.c, manual/examples/argp-ex2.c,
	manual/examples/argp-ex3.c, manual/examples/argp-ex4.c: New files.
	* manual/Makefile [chapters] (chapters-incl1): New rule & include.
	[chapters-incl1] (chapters-incl2): New rule & include.
	(chapters-incl): Set based on $(chapters-incl1) & $(chapters-incl2).
	* manual/maint.texi (Contributors): Give myself credit.

1997-06-01 15:01  Miles Bader  <miles@gnu.ai.mit.edu>

	* manual/getopt.texi: New file.
	* manual/startup.texi: Mention argp_parse in places that
	previously mentioned only getopt.
	Include getopt.texi (now containing all the getopt nodes that used
	to be here) and argp.texi.
	(Program Arguments): Move parsing bits into the new Parsing
	Program Arguments node.
	(Parsing Program Arguments): New node.
	(Parsing Options, Example of Getopt, Long Options, Long Option
	Example): Nodes removed.
	* manual/libc.texinfo: (Program Arguments): Menu updated.
	(Parsing Program Arguments): New menu.
1997-06-05 11:28:54 +00:00
Ulrich Drepper 5649a1d60d Update.
1997-06-04 20:57  Ulrich Drepper  <drepper@cygnus.com>

	* manual/string.texi: Add comments to discourage use of index and
	rindex.
	(strtok, strsep): Apply function on copy of the strings in example.
	(l64a): Add example.

	* posix/unistd.h: Correct value for _POSIX_VERSION.

	* sunrpc/Makefile (defines): Remove definition.

	* sysdeps/ieee754/nan.h: Correct typo.

1997-06-04 10:50  Fila Kolodny  <fila@ibi.com>

	* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.

	* login/utmp_daemon.c: Correct location of utmpd.h.

1997-06-03 19:16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
	$(objpfx)distinfo.
	* rpm/Makefile (distinfo): Adapted.

1997-06-03 18:32  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* rpm/Makefile (install-slib): Collect shared libraries here
	instead of in install-lib, including libc.
	(instvars): Add slib.

1997-06-03 18:23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* login/Makefile (libutil-routines): Add updwtmp.

1997-06-03 16:16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* monetary.h: New file, needed for localedata/tst-fmon.c.

1997-06-02 20:31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c (cpow_test): Add epsilon for long double in
	test for 2^10.
	(identities): Add epsilon for float in second identity test.

	* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
	DI and SI mode integers instead of bytes.  Fix value of HUGE_VALL.

	* sysdeps/m68k/nan.h: New file.

	* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
	islessequal, islessgreater, isunordered): Fix assembler syntax.

	* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
	optimize out the operations.

	* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
	constant.
	* sysdeps/libm-ieee754/s_nanf.c: Likewise.
	* sysdeps/libm-ieee754/s_nanl.c: Likewise.

	* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
	function.
	* sysdeps/libm-ieee754/s_erf.c: Likewise.
	* sysdeps/libm-ieee754/s_fdim.c: Likewise.
	* sysdeps/libm-ieee754/s_fmax.c: Likewise.
	* sysdeps/libm-ieee754/s_fmin.c: Likewise.
	* sysdeps/libm-ieee754/s_log2.c: Likewise.
	* sysdeps/libm-ieee754/s_nan.c: Likewise.
	* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-04 19:05:38 +00:00
Ulrich Drepper 2a7b5469dd Update
* time/Makefile: Make tzselect depend on config.make.
	* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not `ll'.
1997-06-03 22:06:10 +00:00
Ulrich Drepper b13927da59 Update.
1997-06-03 23:42  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-support.c: Define and initialize _dl_verbose used in
	dl-machine.h.

	* io/ftw.c: Expand stat/lstat calls.

	* manual/intro.texi: Also refer to ISO 9945.
	Update info about SVID.
	Add description for XPG.

	* md5-crypt/md5-crypt.c: Namespace cleanups.
	* md5-crypt/md5.c: Likewise.
	* md5-crypt/md5.h: Likewise.
	* sysdeps/generic/crypt-entry.c: Likewise.

	* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.

	* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
	defined.

	* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
	* sunrpc/rpc_util.c (toktostr): Declare `token' as const.

	* time/Makefile: Make tzselect dependen of config.make.

1997-06-01 15:01  Miles Bader  <miles@gnu.ai.mit.edu>

	* manual/string.texi (String and Array Utilities): Add `Argz and
	Envz Vectors' to the menu.
	(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.

1997-05-31 20:59  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* login/Makefile (utmpd-routines): Add utmpd.
	(extra-objs): Add utmpd objects to get dependencies.
	(distribute): Add sources for utmpd.
	(subdir-dirs): Define.

1997-06-02 16:28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/wordsize-32/inttypes.h: Include features.h and use
	__CONCAT instead of defined __CONCAT__ ourself.
	* sysdeps/wordsize-64/inttypes.h: Likewise.

1997-06-01 19:11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
	`ll'.
	(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
	SCNoFAST, SCNxFAST): Correct format specifiers.

1997-06-02 04:23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.

1997-06-01 19:17  Ulrich Drepper  <drepper@cygnus.com>

	* md5-crypt/Makefile: Correct libmd5crypt file to really generate
	DES free libcrypt.
	* md5-crypt/onlymd5-entry.c: New file.  Wrapper around
	sysdeps/generic/crypt-entry.c.

1997-06-01 12:48  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
	type to `unsigned long int'.
	Patch by Richard Henderson <richard@twiddle.rth.home>.

1997-05-30 17:34  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
	declaration style.

	* nss/nss_files/files-hosts.c: Delete inclusion of
	"../resolv/mapv4v6hostent.h".
1997-06-03 21:53:09 +00:00
Ulrich Drepper f671aeab4e Update.
1997-05-31 02:33  Ulrich Drepper  <drepper@cygnus.com>

	* io/ftwtest-sh: More tests.

	* misc/tsearch.c: Rewrite tdestroy_recursive.

	* libio/libio.h: Define bits for libg++-2.8.

1997-05-30 22:21  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_nis/nis-hosts.c: Same changes as in
	nss/nss_files/files-hosts.c (Always use inet_pton).
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.

1997-05-30 09:50  Richard Henderson  <rth@tamu.edu>

	* manual/maint.texi: ECOFF hasn't been tested in ages and I don't
	plan on doing so ever again.  Don't say alpha-linuxecoff is known
	to work.

	* elf/dl-lookup.c: Include <alloca.h>.
	* misc/tsearch.c: Include <string.h>.
	* posix/execle.c: Include <alloca.h>.
	* posix/execlp.c: Likewise.
	* stdio-common/printf_fphex.c: Include <string.h>.
	* sunrpc/xdr.c: Include <string.h>.
	* sysdeps/generic/memccpy.c: Include only <string.h>.

	* sunrpc/clnt_udp.c (clntudp_call): Make fromlen a size_t to fix
	parameters to network functions.
	* sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
	* sunrpc/svc_tcp.c (svctcp_create): Likewise with `len'.
	(rendezvous_request): Likewise.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
	(svcudp_recv): Similar, but go through a local variable.  The old code
	used &xprt->xp_addrlen.  Someone should determine if the type of the
	structure member should be changed instead.
	* sunrpc/xdr_rec.c (xdrrec_create): Expunge a ptr->int cast warning
	and transform a nonsense for-loop to a closed form calculation.
	(fill_input_buf): Another ptr->int warning.

	* sysdeps/alpha/Makefile: Temporarily turn on -mieee globally.  This
	will last until I figure out how to build a parallel libm_ieee.

	* sysdeps/alpha/fpu/fclrexcpt.c,
	* sysdeps/alpha/fpu/fegetenv.c,
	* sysdeps/alpha/fpu/fegetround.c,
	* sysdeps/alpha/fpu/feholdexcpt.c,
	* sysdeps/alpha/fpu/fenvbits.h,
	* sysdeps/alpha/fpu/fesetenv.c,
	* sysdeps/alpha/fpu/fesetround.c,
	* sysdeps/alpha/fpu/feupdateenv.c,
	* sysdeps/alpha/fpu/fgetexcptflg.c,
	* sysdeps/alpha/fpu/fraiseexcpt.c,
	* sysdeps/alpha/fpu/fsetexcptflg.c,
	* sysdeps/alpha/fpu/ftestexcept.c: New files.  There is, btw, a small
	kernel patch that must be applied as of 2.0.31-pre1 and 2.1.41 for
	this to work properly.

	* sysdeps/alpha/fpu/fpu_control.h: Update copyright.  Change default
	FP mode to round to nearest, no exceptions as for Intel.
	* sysdeps/unix/sysv/linux/alpha/setfpucw.c: Add copyright.
	(rdfpcr): Use excb rather than trapb.  Be more efficient about
	getting at the fpcr.
	(wrfpcr): Likewise.
	(__setfpucw): Reformat.

	* sysdeps/ieee754/huge_val.h: Change GCC's HUGE_VAL definition to use
	a single DI-mode integer instead of bytes.  This produces better code
	on Alpha.  Similar for HUGE_VALF.
	* sysdeps/ieee754/nan.h: Similar for NAN.  Add NANF and NANL.

	* sysdeps/libm-ieee754/s_log2.c: Missing */ and weak_alias.

	* sysdeps/unix/alpha/sysdep.S: Tiny cleanups.
	* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/brk.S: Don't use jmp macro to make
	sure the stack frame is released the very instruction before the
	real jump out.
	* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.

	* sysdeps/unix/sysv/linux/alpha/gnu/types.h: Undef some bits we may
	have gotten from <linux/posix_types.h>.

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: Add definition for Miata.

1997-05-30 13:05  Ulrich Drepper  <drepper@cygnus.com>

	* misc/tst-tsearch.c (mangle_tree): Update casts to prevent
	warnings.

1997-05-29 14:02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/sys/ttydefaults.h (CEOL, CSTATUS): Use
	correct value for _POSIX_VDISABLE.

1997-05-29 13:59  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (manual/dir-add.texi): Force execution.

1997-05-29 13:57  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysexits.h: New file.

1997-05-29 13:55  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdlib/strfmon.c: Don't run past EOS after `='.

1997-02-27 10:34  Richard Henderson  <rth@tamu.edu>
1997-05-31 00:47:04 +00:00
Ulrich Drepper d951286f64 Update.
* io/Makefile (test-srcs): Add ftwtest.
	(distribute): Add ftwtest-sh.
	(tests): Call ftwtest-sh for this goal.
	* io/ftwtest-sh: New file.  Sets up test environment, calls test
	program and compares the result.
	* io/ftwtest.c: Test program for ftw.

	* misc/search.h: Add comments.  Declare tdestroy.
	* misc/tsearch.c (tdestroy): New function.
1997-05-30 01:37:13 +00:00
Ulrich Drepper 76b87c039b Update.
1997-05-29 12:48  Ulrich Drepper  <drepper@cygnus.com>

	* io/ftw.c: Complete rewrite.  Add implementation of `nftw'.
	* io/ftw.h: Update for new implementation and XPG4.2.

	* login/Makefile: Update for UTMP daemon implementation.

	Update resolver code to bind-4.9.6-T1A.
	* resolv/Banner: Update.
	* nss/digits_dots.c: Adapt text address matching to T1A.
	* nss/nss_files/files-hosts.c: Always use inet_pton.
	* resolv/base64.c (b64_pton): Follow T1A but don't use this code since
	it would lead to warnings.
	* resolv/gethnamaddr.c (getanswer): Test host name for maximal length
	at several places.
	* resolv/inet_net_pton.c (inet_net_pton_ipv4): Correct typo in comment.
	* resolv/res_comp.c (dn_expand): Check for overflow.
	(dn_comp): Likewise.
	* resolv/res_debug.c (precsize_aton): Better implementation.
	* resolv/res_init.c (res_init): Make `buf' of size MAXDNAME.
	* resolv/res_send.c (res_send): Check for overflow in descriptor set.
	* resolv/nss_dns/dns-host.c (getanswer_r): Test host name for maximal
	length at several places.

1997-05-29 12:51  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/utmp-private.h (struct utfuncs): Add one more parameter
	to updwtmp function.
	Declare all three function jump tables.
	* login/utmp.h: Declare __utmpname.
	* login/getutent_r.c: Remove db backend and provide support for
	utmpd backend.
	* login/login.c: Use `updwtmp' function insteead of writing the
	record ourself.
	* login/logwtmp.c: Move `updwtmp' function to...
	* login/updwtmp.c: ...here.  New file.
	* login/utmp_db.h: Removed.
	* login/utmp_file.c: Add updwtmp function to write to file.
	* login/utmp_daemon.c: New file.  Daemon backend.
	* login/utmpname.c: New file.  Implementation of utmpname function.
	* login/utmpdump.c: New file.  Tool to dump utmp-like files.
	* login/utmpd/connection.c: New file.
	* login/utmpd/database.c: New file.
	* login/utmpd/error.c: New file.
	* login/utmpd/request.c: New file.
	* login/utmpd/utmpd-private.h: New file.
	* login/utmpd/utmpd.c: New file.
	* login/utmpd/utmpd.h: New file.
	* login/utmpd/xtmp.c: New file.
	* login/utmpd/xtmp.h: New file.

1997-05-29 12:28  Jim Meyering  <meyering@eng.ascend.com>

	* time/strftime.c: Correct/normalize indentation in cpp directives.

1997-05-28 20:43  Philip Blundell  <pjb27@cam.ac.uk>

	* nis/nis_error.c: Include <string.h> to fix warning.
	* nis/nis_print.c: Likewise.
	* nis/nss_nisplus/nisplus-hosts.c: Arg 3 of map_v4v6_hostent
	is int* not size_t*.

1997-05-28 21:56  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/cmathcalls.h: Correct typo in comment.

	* inet/netinet/icmp6.h: Include <netinet/in.h> for in6_addr.

	* sysdeps/unix/sysv/linux/netinet/ip_fw.h: Include <net/if.h> for
	IFNAMSIZ.

	* sysdeps/unix/sysv/linux/net/ppp_defs.h: Include <time.h> for
	time_t.

	* login/pty.h: Include <ioctl-types.h> for definition of struct
	winsize.

	* misc/regexp.h (compile): Correct typo.

	* argp/argp.h: Put extern before __const in defintion of
	argp_program_bug_address.

1997-05-29 00:20  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/wordsize-32/inttypes.h: Correct names of unsigned fast
	and least types.  Correct names of ?INT_FAST*_{MIN,MAX} macros.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.

1997-05-28 22:51  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/Makefile (make-ioctls-CFLAGS): Use generic
	ttydefaults.h file instead of non-existing version in termios/sys.
	Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>.

	* time/strptime.c (strptime_internal, case 'Y'): Restrict year
	number to four digits and to representable range for 4 byte time_t
	values.
	Patch by H.J. Lu <hjl@lucon.org>.

1997-05-28 18:19  Philip Blundell  <pjb27@cam.ac.uk>

	* posix/execl.c: Include <alloca.h> to avoid warning.

1997-05-27 18:19  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: Implement testing of inlined functions, make
	output nicer, update comments.

	* math/test-idouble.c: New file.  Frontend for double tests of
	inlined functions.
	* math/test-ildoubl.c: New file.  Frontend for long double tests of
	inlined functions.
	* math/test-ifloat.c: New file.  Frontend for float tests of
	inlined functions.

	* math/test-longdouble.c: Rename to...
	* math/test-ldouble.c: ...this.

	* math/Makefile: Add rules for new test programs, change rules for
	renaming of longdouble test.

1997-05-20 15:50  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sunrpc/rpc/svc.h (__dispatch_fn_t): New.
	(svc_register): Use __dispatch_fn_t in prototype.

1997-05-28 17:02  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/bzero.c (bzero): Fix typo.
	Patch by Witek Wnuk <spider@pest.waw.ids.edu.pl>.

1997-05-27 12:00  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/vtimes.c: Use ISO C declaration style.

	* sysdeps/unix/bsd/ualarm.c: Include <unistd.h> for prototype.

	* sysdeps/generic/memccpy.c: Include <string.h> for prototype.

	* signal/tst-signal.c (handler): Correct function declaration to
	avoid warning.
	* stdlib/testsort.c (compare): Likewise.
	* string/tester.c: Likewise.

1997-05-27 14:16  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp-help.c (argp_args_usage): Supply correct argp to filter_doc.

1997-05-27 17:51  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* db/hash/extern.h, db/hash/hash.c, db/hash/hash.h,
	db/hash/hash_log2.c: Rename __log2 to __hash_log2 to avoid clash
	with libm.

1997-05-27 14:47  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/e_atan2.c: Fix missing negate.  Use __m81_test
	instead of explicit comparisons.

1997-05-26 18:36  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* inet/netinet/icmp6.h: Remove use of <asm/bitops.h> which has no
	place in a generic header and is no user include file.
1997-05-29 12:06:58 +00:00
Ulrich Drepper 06bdbaa0a6 Update.
* argp/argp-parse.c (parser_init): For the special case where no
	* argp/argp.h (struct argp_state): `argp' field renamed to `root_argp'.
	* argp/argp-help.c (__argp_state_help, argp_args_usage, hol_help):
	* argp/argp-parse.c (parser_init): Likewise.
1997-05-27 00:45:24 +00:00
Ulrich Drepper c12f5d3d34 Update.
1997-05-27 02:20  Ulrich Drepper  <drepper@cygnus.com>

	* stdio/obstream.c (obstack_printf): Fix bug in
	de-ansidecl-fication.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1997-05-27 00:22:51 +00:00
Ulrich Drepper ebbad4cc83 Update.
1997-05-26 22:51  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Use AC_PROG_CC_LOCAL instead of AC_PROC_CC.
	* aclocal.m4: Add AC_PROG_CC_LOCAL which does not fail for
	environments in which linking is not possible at configure time
	(since te libc is just build).
	Based on patches by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.

	* time/scheck.c (scheck): Make 2nd parameter const.
	* time/private.h: Likewise.

1997-05-26 18:58  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/random_r.c (__initstate_r): Initialize randomizer type in
	state array only at right place.
	Reported by Sven Verdoolaege <skimo@breughel.ufsia.ac.be>.

	* stdlib/erand48_r.c (__erand48_r): Don't generate numbers in
	[0.5,1.0) but really in [0.0, 1.0).
	Patch by Oliver Gathmann <gathmann@scar.utoronto.ca>.

1997-05-22 12:50  Eric Delaunay  <delaunay@lix.polytechnique.fr>

	* shlib-versions: Provide Linux/SPARC defaults.

1997-05-26 15:00  Matthias Urlichs  <urlichs@noris.de>

	* stdlib/strtod_l.c: Add missing #include <xlocale.h>.
	* stdlib/strtof_l.c: Likewise.
	* stdlib/strtol_l.c: Likewise.
	* stdlib/strtold_l.c: Likewise.
	* stdlib/strtoll_l.c: Likewise.
	* stdlib/strtoul_l.c: Likewise.
	* stdlib/strtoull_l.c: Likewise.

1997-05-26 02:42  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* hurd/dtable.c: De-ansidecl-fy.
	* math/test-math.c: Likewise.
	* signal/tst-signal.c: Likewise.
	* stdio/getc.c: Likewise.
	* stdio/obstream.c: Likewise.
	* stdio/putc.c: Likewise.
	* stdio-common/bug1.c: Likewise.
	* stdio-common/bug2.c: Likewise.
	* stdio-common/bug6.c: Likewise.
	* stdio-common/fscanf.c: Likewise.
	* stdlib/testsort.c: Likewise.
	* string/tester.c: Likewise.
	* sysdeps/am29k/ffs.c: Likewise.
	* sysdeps/generic/bb_init_func.c: Likewise.
	* sysdeps/generic/bcopy.c: Likewise.
	* sysdeps/generic/bzero.c: Likewise.
	* sysdeps/generic/div.c: Likewise.
	* sysdeps/generic/ffs.c: Likewise.
	* sysdeps/generic/memccpy.c: Likewise.
	* sysdeps/generic/memcpy.c: Likewise.
	* sysdeps/generic/memmove.c: Likewise.
	* sysdeps/generic/memset.c: Likewise.
	* sysdeps/generic/vfork.c: Likewise.
	* sysdeps/generic/vtimes.c: Likewise.
	* sysdeps/i386/bzero.c: Likewise.
	* sysdeps/i386/ffs.c: Likewise.
	* sysdeps/i960/ffs.c: Likewise.
	* sysdeps/m68k/ffs.c: Likewise.
	* sysdeps/m88k/ffs.c: Likewise.
	* sysdeps/mach/hurd/_exit.c: Likewise.
	* sysdeps/mach/hurd/accept.c: Likewise.
	* sysdeps/mach/hurd/access.c: Likewise.
	* sysdeps/mach/hurd/adjtime.c: Likewise.
	* sysdeps/mach/hurd/bind.c: Likewise.
	* sysdeps/mach/hurd/brk.c: Likewise.
	* sysdeps/mach/hurd/chdir.c: Likewise.
	* sysdeps/mach/hurd/chflags.c: Likewise.
	* sysdeps/mach/hurd/chmod.c: Likewise.
	* sysdeps/mach/hurd/chown.c: Likewise.
	* sysdeps/mach/hurd/chroot.c: Likewise.
	* sysdeps/mach/hurd/close.c: Likewise.
	* sysdeps/mach/hurd/connect.c: Likewise.
	* sysdeps/mach/hurd/defs.c: Likewise.
	* sysdeps/mach/hurd/dup2.c: Likewise.
	* sysdeps/mach/hurd/execve.c: Likewise.
	* sysdeps/mach/hurd/fchdir.c: Likewise.
	* sysdeps/mach/hurd/fchflags.c: Likewise.
	* sysdeps/mach/hurd/fchmod.c: Likewise.
	* sysdeps/mach/hurd/fchown.c: Likewise.
	* sysdeps/mach/hurd/fcntl.c: Likewise.
	* sysdeps/mach/hurd/fdopen.c: Likewise.
	* sysdeps/mach/hurd/flock.c: Likewise.
	* sysdeps/mach/hurd/fsync.c: Likewise.
	* sysdeps/mach/hurd/ftruncate.c: Likewise.
	* sysdeps/mach/hurd/getdtsz.c: Likewise.
	* sysdeps/mach/hurd/getegid.c: Likewise.
	* sysdeps/mach/hurd/geteuid.c: Likewise.
	* sysdeps/mach/hurd/getgid.c: Likewise.
	* sysdeps/mach/hurd/getgroups.c: Likewise.
	* sysdeps/mach/hurd/gethostid.c: Likewise.
	* sysdeps/mach/hurd/gethostname.c: Likewise.
	* sysdeps/mach/hurd/getitimer.c: Likewise.
	* sysdeps/mach/hurd/getlogin.c: Likewise.
	* sysdeps/mach/hurd/getpeername.c: Likewise.
	* sysdeps/mach/hurd/getpgid.c: Likewise.
	* sysdeps/mach/hurd/getpid.c: Likewise.
	* sysdeps/mach/hurd/getppid.c: Likewise.
	* sysdeps/mach/hurd/getsockname.c: Likewise.
	* sysdeps/mach/hurd/getsockopt.c: Likewise.
	* sysdeps/mach/hurd/getuid.c: Likewise.
	* sysdeps/mach/hurd/ioctl.c: Likewise.
	* sysdeps/mach/hurd/isatty.c: Likewise.
	* sysdeps/mach/hurd/link.c: Likewise.
	* sysdeps/mach/hurd/listen.c: Likewise.
	* sysdeps/mach/hurd/lseek.c: Likewise.
	* sysdeps/mach/hurd/mkdir.c: Likewise.
	* sysdeps/mach/hurd/open.c: Likewise.
	* sysdeps/mach/hurd/pipe.c: Likewise.
	* sysdeps/mach/hurd/read.c: Likewise.
	* sysdeps/mach/hurd/readlink.c: Likewise.
	* sysdeps/mach/hurd/reboot.c: Likewise.
	* sysdeps/mach/hurd/recv.c: Likewise.
	* sysdeps/mach/hurd/recvfrom.c: Likewise.
	* sysdeps/mach/hurd/rename.c: Likewise.
	* sysdeps/mach/hurd/rewinddir.c: Likewise.
	* sysdeps/mach/hurd/rmdir.c: Likewise.
	* sysdeps/mach/hurd/sbrk.c: Likewise.
	* sysdeps/mach/hurd/seekdir.c: Likewise.
	* sysdeps/mach/hurd/select.c: Likewise.
	* sysdeps/mach/hurd/setegid.c: Likewise.
	* sysdeps/mach/hurd/seteuid.c: Likewise.
	* sysdeps/mach/hurd/setgid.c: Likewise.
	* sysdeps/mach/hurd/setgroups.c: Likewise.
	* sysdeps/mach/hurd/sethostid.c: Likewise.
	* sysdeps/mach/hurd/sethostname.c: Likewise.
	* sysdeps/mach/hurd/setlogin.c: Likewise.
	* sysdeps/mach/hurd/setpgid.c: Likewise.
	* sysdeps/mach/hurd/setregid.c: Likewise.
	* sysdeps/mach/hurd/setreuid.c: Likewise.
	* sysdeps/mach/hurd/setrlimit.c: Likewise.
	* sysdeps/mach/hurd/setsid.c: Likewise.
	* sysdeps/mach/hurd/setsockopt.c: Likewise.
	* sysdeps/mach/hurd/settimeofday.c: Likewise.
	* sysdeps/mach/hurd/setuid.c: Likewise.
	* sysdeps/mach/hurd/shutdown.c: Likewise.
	* sysdeps/mach/hurd/sigaction.c: Likewise.
	* sysdeps/mach/hurd/sigaltstack.c: Likewise.
	* sysdeps/mach/hurd/sigpending.c: Likewise.
	* sysdeps/mach/hurd/sigprocmask.c: Likewise.
	* sysdeps/mach/hurd/sigstack.c: Likewise.
	* sysdeps/mach/hurd/sigsuspend.c: Likewise.
	* sysdeps/mach/hurd/socket.c: Likewise.
	* sysdeps/mach/hurd/socketpair.c: Likewise.
	* sysdeps/mach/hurd/stdio_init.c: Likewise.
	* sysdeps/mach/hurd/symlink.c: Likewise.
	* sysdeps/mach/hurd/sync.c: Likewise.
	* sysdeps/mach/hurd/sysd-stdio.c: Likewise.
	* sysdeps/mach/hurd/telldir.c: Likewise.
	* sysdeps/mach/hurd/truncate.c: Likewise.
	* sysdeps/mach/hurd/umask.c: Likewise.
	* sysdeps/mach/hurd/unlink.c: Likewise.
	* sysdeps/mach/hurd/wait4.c: Likewise.
	* sysdeps/mach/hurd/utimes.c: Likewise.
	* sysdeps/mach/hurd/write.c: Likewise.
	* sysdeps/mach/adjtime.c: Likewise.
	* sysdeps/mach/gettimeofday.c: Likewise.
	* sysdeps/mach/usleep.c: Likewise.
	* sysdeps/mips/__longjmp.c: Likewise.
	* sysdeps/posix/clock.c: Likewise.
	* sysdeps/posix/ctermid.c: Likewise.
	* sysdeps/posix/defs.c: Likewise.
	* sysdeps/posix/dup.c: Likewise.
	* sysdeps/posix/libc_fatal.c: Likewise.
	* sysdeps/posix/stdio_init.c: Likewise.
	* sysdeps/rs6000/ffs.c: Likewise.
	* sysdeps/sparc/e_sqrt.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/console.c: Likewise.
	* sysdeps/standalone/i960/nindy960/_exit.c: Likewise.
	* sysdeps/standalone/i960/nindy960/brdinit.c: Likewise.
	* sysdeps/standalone/i960/nindy960/console.c: Likewise.
	* sysdeps/standalone/m68k/m68020/mvme136/_exit.c: Likewise.
	* sysdeps/standalone/m68k/m68020/mvme136/brdinit.c: Likewise.
	* sysdeps/standalone/brk.c: Likewise.
	* sysdeps/stub/_exit.c: Likewise.
	* sysdeps/stub/brdinit.c: Likewise.
	* sysdeps/stub/console.c: Likewise.
	* sysdeps/stub/defs.c: Likewise.
	* sysdeps/stub/errlist.c: Likewise.
	* sysdeps/stub/libc_fatal.c: Likewise.
	* sysdeps/stub/siglist.c: Likewise.
	* sysdeps/stub/stdio_init.c: Likewise.
	* sysdeps/stub/strtsupp.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/tcgetattr.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/tcsetattr.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/wait3.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/tcflow.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/tcflush.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/tcgetattr.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
	* sysdeps/unix/bsd/bsdstat.h: Likewise.
	* sysdeps/unix/bsd/clock.c: Likewise.
	* sysdeps/unix/bsd/gtty.c: Likewise.
	* sysdeps/unix/bsd/init-posix.c: Likewise.
	* sysdeps/unix/bsd/setgid.c: Likewise.
	* sysdeps/unix/bsd/setrgid.c: Likewise.
	* sysdeps/unix/bsd/setruid.c: Likewise.
	* sysdeps/unix/bsd/setuid.c: Likewise.
	* sysdeps/unix/bsd/stty.c: Likewise.
	* sysdeps/unix/bsd/telldir.c: Likewise.
	* sysdeps/unix/bsd/ualarm.c: Likewise.
	* sysdeps/unix/common/glue-ctype.c: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
	* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/ftruncate.c: Likewise.
	* sysdeps/unix/sysv/sysv4/gethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
	* sysdeps/unix/sysv/gethostname.c: Likewise.
	* sysdeps/unix/sysv/tcgetpgrp.c: Likewise.
	* sysdeps/unix/sysv/tcsetpgrp.c: Likewise.
	* sysdeps/unix/alarm.c: Likewise.
	* sysdeps/unix/make_errlist.c: Likewise.
	* sysdeps/unix/rewinddir.c: Likewise.
	* sysdeps/unix/seekdir.c: Likewise.
	* sysdeps/unix/time.c: Likewise.
	* sysdeps/unix/utime.c: Likewise.
	* sysdeps/vax/__longjmp.c: Likewise.
	* sysdeps/vax/memccpy.c: Likewise.
	* time/strftime.c: Likewise.

1997-05-25 21:57  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp-parse.c (parser_init): For the special case where no
	parsing function is supplied for an argp, propagate its input to
	its first child, if any.

	* argp.h (struct argp_state): `argp' field renamed to `root_argp'.
	* argp-help.c (__argp_state_help, argp_args_usage, hol_help):
	Replace references to STATE->argp with STATE->root_argp.
	* argp-parse.c (parser_init): Likewise.

1997-05-26 14:17  Ulrich Drepper  <drepper@cygnus.com>

	* manual/main.texi: Clarify situation for other not supported ports.
	Proposed by Andreas Jaeger <aj@arthur.rhein-neckar.de>.
	We recommend binutils 2.8.

1997-05-26 12:17  Ulrich Drepper  <drepper@cygnus.com>

	* netinet/in.h: New file.  Wrapper around inet/netinet/in.h.

1997-05-25 09:51  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/i386/elf/start.S: Change local label "nofini"
	to ".Lnofini".

	* sysdeps/i386/i386-mcount.S: Use GOT, instead of GOTOFF.

1997-05-24 17:45  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* gmon/gmon.c (_mcleanup): Free tostruct array allocated in monstartup.

	(dl_main): Define _dl_verbose based on DL_WARN environment variable.
1997-05-26 23:01:17 +00:00
Ulrich Drepper cf29ffbef9 Update.
1997-05-25 03:00  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dynamic-link.h (_dl_verbose): New variable, declare.
	* elf/rtld.c (_dl_verbose): New variable, define.
	(dl_main): Define _dl-verbose based on DL_WARN environment variable.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Print warning about
	changed size in copy relocation only if symbol in shared object
	is larger or _dl_verbose is nonzero.
	* sysdeps/m68k/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/sparc/dl-machine.h (elf_machine_rel): Likewise.

	* nis/nss_nis/nis-ethers.c: Don't use relative include paths, use
	<...>.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
	* sysdeps/unix/sysv/sysd-stdio.c: Likewise.
	* wcsmbs/wcscoll.c: Likewise.
	* wcsmbs/wcstod.c: Likewise.
	* wcsmbs/wcstof.c: Likewise.
	* wcsmbs/wcstol.c: Likewise.
	* wcsmbs/wcstold.c: Likewise.
	* wcsmbs/wcsxfrm.c: Likewise.
	Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>.

	* time/strftime.c: Implement # flag which changes case of output for
	%a, %b, %B, %p, and %Z format.
	When printing numbers, the given field width is always respected.
	This means that padding happens only up to the given width.
	Proposed by Stephen Gildea <gildea@intouchsys.com>.

1997-05-25 00:44  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/fpu/__math.h (logb): Fix thinko, reverse output
	values.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.

1997-05-24 21:03  Philip Blundell  <pjb27@cam.ac.uk>

	* db/btree/bt_open.c (__bt_open): Only try to use st_blksize (from
	struct stat) if it exists for this port.

1997-05-24 20:34  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/standalone/arm/errnos.h: Add EPERM.

1997-05-23 16:28  Philip Blundell  <phil@kings-cross.london.uk.eu.org>

	* linewrap.h: New file, needed to compile argp without libio.

1997-05-24 11:59  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/stdio.texi (Formatted Messages): Corrected some typos.

1997-05-24 11:58  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/stub/start.c: Fix typo.
1997-05-25 01:12:55 +00:00
Ulrich Drepper a133e7a4d2 1997-05-21 17:53 Miles Bader <miles@gnu.ai.mit.edu>
* argp-help.c (hol_add_cluster): Initialize CL->depth.
1997-05-24 10:47:33 +00:00
Ulrich Drepper 0501d60367 Update.
1997-05-24 03:51  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/Makefile (routines): Add strtol_l, strtoul_l, strtoll_l,
	strtoull_l, strtof_l, strtod_l, and strtold_l.
	* stdlib/stdlib.h: Add prototypes for new functions.
	* stdlib/strtod.c: Change for compiling as strtoX_l.
	* stdlib/strtol.c: Likewise.
	* stdlib/strtof.c: Likewise.
	* stdlib/strtold.c: Likewise.
	* stdlib/strtod_l.c: New file.
	* stdlib/strtof_l.c: New file.
	* stdlib/strtold_l.c: New file.
	* stdlib/strtol_l.c: New file.
	* stdlib/strtoul_l.c: New file.
	* stdlib/strtoll_l.c: New file.
	* stdlib/strtoull_l.c: New file.
	* string/Makefile (routines): Add strcasecmp_l and strncase_l.
	* string/string.h: Add prototypes for new functions.
	* sysdeps/generic/strcasecmp.c: Change for compiling as strcasecmp_l.
	* sysdeps/generic/strncase.c: Change for compiling as strncasecmp_l.
	* sysdeps/generic/strcasecmp_l.c: New file.
	* sysdeps/generic/strncase_l.c: New file.
	* wcsmbs/Makefile (routines): Add wcstol_l, wcstoul_l, wcstoll_l,
	wcstoull_l, wcstod_l, wcstold_l, wcstof_l, wcscasecmp_l, and
	wcsncase_l.
	* wcsmbs/wchar.h: Add prototypes for new functions.
	* wcsmbs/wcscasecmp.c: Change for compiling as wcscasecmp_l.
	* wcsmbs/wcsncase.c: Change for compiling as wcsncasecmp_l.
	* wcsmbs/wcscasecmp_l.c: New file.
	* wcsmbs/wcsncase_l.c: New file.
	* wcsmbs/wcstof.c: Change for compiling as wcstof_l.c
	* wcsmbs/wcstold.c: Change for compiling as wcstold_l.c
	* wcsmcs/wcstod_l.c: New file.
	* wcsmcs/wcstof_l.c: New file.
	* wcsmcs/wcstold_l.c: New file.
	* wcsmcs/wcstol_l.c: New file.
	* wcsmcs/wcstoul_l.c: New file.
	* wcsmcs/wcstoll_l.c: New file.
	* wcsmcs/wcstoull_l.c: New file.

	* Makeconfig (binfmt-subdir): New variable.  Set to `elf' if
	$(elf) is defined.  More to come later when other binary formats
	are supported.
	* Makefile (subdirs): Remove elf.  Add $(binfmt-subdir).
	Suggested by Philip Blundell.

	* stdlib/Makefile (headers): Add fmtmsg.h.
	(routines): Add fmtmsg.
	* stdlib/fmtmsg.c: New file.
	* stdlib/fmtmsg.h: New file.
	* manual/stdio.texi: Add description of fmtmsg and addseverity.
	* manual/examples/fmtmsgexpl.c: Example program for fmtmsg
	documentation.

1997-05-23 15:26  Philip Blundell  <pjb27@cam.ac.uk>

	* resolv/res_query.c (res_querydomain): Avoid potential buffer
	overrun.  Reported by Dan A. Dickey <ddickey@transition.com>.

1997-05-22 18:36  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* elf/dl-support.c (_dl_sysdep_open_zero_fill,
	_dl_sysdep_read_whole_file): Moved functions to ...
	* elf/dl-misc.c: This new file.
	* sysdeps/generic/dl-sysdepio.c: Delete file and move functions...
	* elf/dl-misc.c: ... here.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill,
	_dl_sysdep_read_whole_file): Delete functions; they now come from
	elf/dl-misc.c (dl-support.c had contained identical versions).
	* sysdeps/mach/hurd/dl-sysdepio.c: Delete file; move functions...
	* sysdeps/mach/hurd/dl-sysdep.c: ... here, but mark them weak so
	that the regular ones in dl-misc work once we've initialized.
	* elf/Makefile (dl-routines): Remove dl-sysdepio.c.  Add dl-misc.c.

1997-05-22 21:55  Philip Blundell  <pjb27@cam.ac.uk>

	* inet/Makefile (headers): Add netinet/inbits.h.
	* inet/netinet/in.h: New file.
	* sysdeps/generic/netinet/inbits.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/inbits.h: Likewise.
	* sysdeps/generic/netinet/ip6.h: Move to...
	* inet/netinet/ip6.h: ... here.
	* sysdeps/generic/netinet/icmp6.h: Move to...
	* inet/netinet/icmp6.h: ... here.
	* sysdeps/unix/sysv/linux/netinet/in.h: Remove.
	* sysdeps/generic/netinet/in.h: Remove.

1997-05-22 05:40  Richard Henderson  <rth@tamu.edu>

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are
	not looking at the new thread-safe .plt, don't be lazy about relocs.
	(_dl_runtime_resolve): Fix up arithmetic for new .plt layout.
	(elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety.
	* elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let
	elf_machine_runtime_setup() decide if we can actually be lazy.
	* elf/rtld.c (_dl_start): So don't call it.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy.
	* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update
	skeleton definition.

1997-05-22 18:45  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/fpu/__math.h (logb): Remove second value placed on
	stack by fxtract.

1997-05-22 13:07  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sunrpc/rpcsvc/rusers.x: Provide and correct prototypes,
	add cast to (xdrproc_t) where necessary to prevent warnings.

1997-05-22 12:18  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove I/O functions.

	* sunrpc/rpcinfo.c (get_inet_address): Use INADDR_NONE and INADDR_ANY
	* sysdeps/libm-ieee754/s_cexp.c: Fix typo: string_alias ->
	* nss/XXX-lookup.c: Add missing explanation.
1997-05-24 02:30:09 +00:00
Ulrich Drepper bfbc57545a Update.
1997-05-22 04:09  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/clnt_perr.c (clnt_sperrno): Change type of variable i
	to size_t to prevent warning.
	* sunrpc/rpcinfo.c (get_inet_address): Use UNADDR_NONE and INADDR_ANY
	instead of numeric values.
	Various cleanups.
	* sunrpc/xdr_mem.c: Use `const char *' instead of `const caddr_t'
	for xdrmem_putbytes.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.

	* sysdeps/unix/sysv/linux/arm/syscall.s: Pretty printing.
	* sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.

1997-05-21 22:22  Philip Blundell  <pjb27@cam.ac.uk>

	* inet/Makefile (headers): Add netinet/ip6.h, netinet/icmp6.h.
	* sysdeps/generic/netinet/ip6.h: New file (for IPv6 Advanced API).
	* sysdeps/generic/netinet/icmp6.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/in.h: Fix typo.
	* sysdeps/stub/direntry.h (struct dirent): Add d_fileno (needed by
	glob.c).
	* sysdeps/standalone/arm/errnos.h: Add EPROTOTYPE, ESRCH.
	* sysdeps/unix/arm/sysdep.h: Avoid warning about nested comments.
	* sysdeps/stub/accept.c (accept): Make args match prototype.
	* sysdeps/stub/bind.c (bind): Likewise.
	* sysdeps/stub/connect.c (connect): Likewise.
	* sysdeps/stub/getpeername.c (getpeername): Likewise.
	* sysdeps/stub/getsockname.c (getsockname): Likewise.
	* sysdeps/stub/recvfrom.c (recvfrom): Likewise.
	* sysdeps/stub/send.c (send): Likewise.
	* sysdeps/stub/ttyname_r.c (ttyname_r): Likewise.
	* sysdeps/stub/readv.c (readv): Likewise.
	* sysdeps/stub/writev.c (writev): Likewise.
	* sysdeps/stub/sendto.c (sendto): Likewise.
	* sysdeps/unix/sysv/linux/arm/profil-counter.h: New file.

1997-05-18 12:46  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/unix/sysv/linux/socketbits.h: Add new macros CMSG_SPACE,
	CMSG_LEN, CMSG_ALIGN (for IPv6 Advanced API).

1997-05-21 13:51  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/shmat.c (shmat): Add cast to prevent warning.

	* sunrpc/rpcsvc/rusers.x: Provide prototypes for implemented
	functions, include <rpc/xdr.h>.

	* string/strverscmp.c: Correct typos in comment.

	* sunrpc/rpc/xdr.h: Add more `const'.
	* sunrpc/xdr_stdio.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
1997-05-22 02:19:00 +00:00
Ulrich Drepper 9498096c93 Update.
1997-05-21 17:50  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (dl-routines): Add dl-sysdepio.
	* elf/dl-support.c (_dl_sysdep_fatal): Removed.
	* sysdeps/generic/dl-sysdep.c: Move definition of _dl_sysdep_fatal,
	_dl_sysdep_error and _dl_sysdep_warning to ...
	* sysdeps/generic/dl-sysdepio.c: ...here.
	* sysdeps/mach/hurd/dl-sysdep.c: Move the functions to ...
	* sysdeps/mach/hurd/dl-sysdepio.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove definition
	of functions.
	Bug reported by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.

	* db/Makefile (libdb.so): Depend on libc.so for dynamic loading
	and for Linux ld.so.
	* login/Makefile (libutil.so): Likewise.
	* math/Makefile (libm.so): Likewise.
	* md5-crypt/Makefile (libcrypt.so): Likewise.
	* nis/Makefile (libnss_%.so): Likewise.
	* resolv/Makefile (libnss_dns.so): Likewise.

1997-05-20 14:01  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp-help.c (_help): Supply STATE to argp_args_usage.
	(argp_args_usage): Add filtering of the args doc string.
	(comma): Print cluster headers for the first entry too.
	* argp.h (ARGP_KEY_HELP_ARGS_DOC): New macro.

	Patches by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>.
	Include <config.h> if HAVE_CONFIG_H is defined.
	* sunrpc/xdr_float.c: Likewise.
1997-05-21 16:03:22 +00:00
Ulrich Drepper 1f205a479b Update.
1997-05-21 02:49  Ulrich Drepper  <drepper@cygnus.com>

	* gnu-versions.h (_GNU_OBSTACK_INTERFACE_VERSION): Set to 2 since
	interface was changed with addition of _obstack_memory_used.
	Suggested by Ian Taylor <ian@cygnus.com>.

	* malloc/obstack.c: Include <config.h>.  Include <stdlib.h> only
	if __GNU_LIBRARY__ or HAVE_STDLIB_H is defined.
	Reported by Ian Taylor <ian@cygnus.com>.

	* dirent/Makefile (routines): Add versionsort.
	* dirent/dirent.h: Add prototype for versionsort.
	* dirent/versionsort.c: New file.
	* manual/filesys.texi: Add documentation for versionsort.
	* manual/string.texi: Add documentation for strverscmp.
	* string/Makefile (routines): Add strverscmp.
	(tests): Add tst-svc.
	* string/string.h: Add prototype for strverscmp.
	* string/strverscmp.c: New file.
	* string/tst-svc.c: New file.  Test for strverscmp.
	* string/tst-svc.input: New file.  Input data for tst-svc.
	* string/tst-svc.expect: New file.  Expected out from tst-svc.

	* math/Makefile (calls): Add s_signbit.

	* po/sv.po: Update.

	* resolv/nss_dns/dns-host.c: Add casts to prevent warnings.
	* sunrpc/pmap_rmt.c: Likewise.

	* string/basename.c: Don't use ISO C definition style.
	Include <config.h> is HAVE_CONFIG_H is defined.

	* sunrpc/proto.h: Add `const' wherever possible.
	* sunrpc/rpc_cout.c: Likewise.
	* sunrpc/rpc_svcout.c: Likewise.
	* sunrpc/xdr_mem.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.
	* sunrpc/rpc_parse.c: Delete comma from end of enum definition.
	* sunrpc/xdr.c: Little code cleanups.
	* sunrpc/xdr_flaot.c: Likewise.
	Patches by Matthew Wilcox <matthew.wilcox@chbs.mhs.ciba.com>.

	* sysdeps/i386/fpu/__math.h (__finite): Fix typo.

	* sysdeps/unix/sysv/linux/shmdt.c: Add cast to prevent warning.

	* time/europe: Update from tzdata1997f.
	* time/zic.c: Update from tzcode1997e.

1997-05-20 19:20  Miguel de Icaza <miguel@athena.nuclecu.unam.mx>

	* sysdeps/sparc/setjmp.S: Flush windows.
	Bug found by Richard Henderson.

1997-05-19 12:54  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* misc/efgcvt_r.c (fcvt_r, ecvt_r): Rewritten as to fit the specs.

1997-05-19 18:41  Thorsten Kukuk  <kukuk@uni-paderborn.de>

	* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent): Use
	atol instead of atoi.

1997-05-18 00:22  Philip Blundell <pjb27@cam.ac.uk>

	* inet/Makefile (routines): Add if_index.
	* sysdeps/unix/sysv/linux/if_index.c: New file.
	* sysdeps/stub/if_index.c: New file.
	* sysdeps/unix/sysv/linux/net/if.h: Add prototypes for routines in
	if_index.c (required by IPv6 basic API).
	* sysdeps/unix/sysv/linux/netinet/in.h: Add struct ipv6_pktinfo.

1997-05-17 23:29  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/unix/sysv/linux/netinet/in.h: Update IPv6 definitions
	for new advanced API draft.

1997-05-13 21:33  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/printf_fp.c: Only use the field width for deciding
	on padding when printing special values.
	* stdio-common/printf_fphex.c: Likewise.

1997-05-15 13:14  Miles Bader  <miles@gnu.ai.mit.edu>

	Changes by Thomas Bushnell <thomas@gnu.ai.mit.edu>:
	* hurd/hurdauth.c (_S_msg_add_auth): Implement correctly.

1997-05-12 14:50  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* hurd/hurdsig.c (_hurdsig_init): Double size of sigthread stack;
	msg_add_auth was overflowing it.

1997-05-12 21:20  Richard Henderson  <rth@tamu.edu>

	* elf/dl-lookup.c (_dl_lookup_symbol_skip): Call _dl_signal_error
	when we can't find the symbol.

1997-05-12 16:54  Ulrich Drepper  <drepper@cygnus.com>

	* posix/regex.c: Fix handling of 32-bit Windog environments.
	Patch by Arnold Robbins <arnold@skeeve.atl.ga.us>.

1997-05-10 23:26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/syscalls.list: Add cacheflush.

1997-05-10 11:40  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldd.bash.in: Remove spurious quote character from version
	message.

1997-05-10 08:49  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/programs/locale.c (write_charmaps): Don't get stuck in a
	loop if the file ends in a long line without newline.
	* locale/programs/charmap.c (charmap_read): Likewise.

1997-05-12 03:47  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/rpc/xdr.h: Include more headers to be self-contained.
	* sunrpc/rpc/svc_auth.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/rpc_msg.h: Likewise.
	* sunrpc/rpc/pmap_rmt.h: Likewise.
	* sunrpc/rpc/pmap_clnt.h: Likewise.
	* sunrpc/rpc/clnt.h: Likewise.
	* sunrpc/rpc/auth_unix.h: Likewise.
	* sysdeps/generic/rpc/auth.h: Likewise.
	Patches by Michael Deutschmann <ldeutsch@mail.netshop.net>.

1997-05-11 15:29  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/stub/sigaction.c (__sigaction): Correct typo.
	* sysdeps/standalone/arm/errnos.h: New file.
	* sysdeps/stub/sys/param.h: Add dummy definition of MAXSYMLINKS.
	* sysdeps/unix/arm/fork.S: New file.
	* sysdeps/unix/sysv/linux/arm/sysdep.h: New file.
	* sysdeps/stub/tempname.c (__stdio_gen_tempname): Add missing
	`streamptr' argument.
	* sysdeps/stub/vdprintf.c: Remove second copy of file (!), include
	<stdarg.h> to get va_list defined, return 0 not NULL.
	* sysdeps/unix/sysv/linux/statfsbuf.h: Include <gnu/types.h>.
	* sysdeps/unix/sysv/linux/arm/syscall.S: New file.
	* sysdeps/stub/direntry.h (struct dirent): Add missing ';'.
	* sysdeps/stub/seekdir.c (seekdir): Likewise.
	* sysdeps/stub/dirfd.c (dirfd): Argument dirp is DIR*, not FILE*.
	* sysdeps/standalone/dirstream.h: Define struct __dirstream
	not DIR; <dirent.h> provides typedef.
	* sysdeps/unix/sysv/linux/arm/clone.S: New file.
	* sysdeps/unix/sysv/linux/arm/socket.S: New file.
	* sysdeps/stub/sysconf.c (__sysconf): Fix typos.

1997-05-01 06:35  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/Dist: New file.
	* sysdeps/powerpc/Makefile: New file.
	* sysdeps/powerpc/fclrexcpt.c: New file.
	* sysdeps/powerpc/fegetenv.c: New file.
	* sysdeps/powerpc/fegetround.c: New file.
	* sysdeps/powerpc/feholdexcpt.c: New file.
	* sysdeps/powerpc/fenvbits.h: New file.
	* sysdeps/powerpc/fenv_const.c: New file.
	* sysdeps/powerpc/fenv_libc.h: New file.
	* sysdeps/powerpc/fesetenv.c: New file.
	* sysdeps/powerpc/fesetround.c: New file.
	* sysdeps/powerpc/feupdateenv.c: New file.
	* sysdeps/powerpc/fgetexcptflg.c: New file.
	* sysdeps/powerpc/fraiseexcpt.c: New file.
	* sysdeps/powerpc/fsetexcptflg.c: New file.
	* sysdeps/powerpc/ftestexcept.c: New file.
	* sysdeps/powerpc/mathbits.h: New file.

	* sysdeps/powerpc/dl-machine.h: Wrap in #ifndef dl_machine_h;
	define elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p,
	ELF_MACHINE_RELOC_NOPLT; consequent changes to elf_machine_rela.

	* sysdeps/powerpc/__math.h: Remove definition for hypot and __sgn.

	* sysdep/powerpc/fpu_control.h: Correct IEEE default mode.

	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't use .text, but
	instead .section ".text".

1997-04-25 05:06  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/__longjmp.S: Use symbolic register numbering.
	* sysdeps/powerpc/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/bsd-setjmp.S: Likewise.
	* sysdeps/powerpc/setjmp.S: Likewise.

	* sysdeps/unix/sysv/linux/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/syscall.S: Likewise.

1997-04-20 04:37  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/strchr.s: New file.
	* sysdeps/powerpc/strcmp.s: New (ugly) file.
	* sysdeps/powerpc/memset.s: New file.
	* string/tester.c: Include prototype and _GNU_SOURCE to make
	standalone compilation possible. Give strcmp a better
	test. Give memset a better test.

1997-04-05 06:34  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/strlen.s: Fixed bugs (how did it ever pass its
	tests before?). Changed to symbolic register numbering as an
	experiment.
	* sysdeps/powerpc/ffs.c: Don't include bstring.h, it doesn't
	exist.
	* sysdeps/rs6000/ffs.c: Likewise.

1997-05-12 02:28  Ulrich Drepper  <drepper@cygnus.com>

	* time/sys/time.h: Make second argument of setitimer const.
	Patch by Michael Deutschmann <ldeutsch@mail.netshop.net>.
	* sysdeps/stub/setitimer.c: Likewise.
	* sysdeps/mach/hurd/setitimer.c: Likewise.
1997-05-21 01:48:59 +00:00
Ulrich Drepper 43b0e40f85 Update.
1997-05-10 11:46  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/rpcsvc/nis_callback.x: New, from tirpcsrc-2.3.

	* nis/nis_call.c (__nis_docall): Rewritten for navigation in NIS+
	namespace hierachy.
	* nis/nis_intern.h: Add new __nis_docall function prototypes.
	* nis/nis_add.c: Change __nis_docall/__nis_docall2 parameters for new
	rewritten functions.
	* nis/nis_checkpoint.c: Likewise.
	* nis/nis_lookup.c: Likewise.
	* nis/nis_mkdir.c: Likewise.
	* nis/nis_modify.c: Likewise.
	* nis/nis_ping.c: Likewise.
	* nis/nis_remove.c: Likewise.
	* nis/nis_rmdir.c: Likewise.
	* nis/nis_server.c: Likewise.
	* nis/nis_table.c: Likewise.

1997-05-09 16:09  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp-eexst.c: Include <sysexits.h>.
	(argp_err_exit_status): Initialize to EX_USAGE.
	* argp/argp.h, argp/argp-help.c: Doc fixes.

1997-05-08 17:15  Miles Bader  <miles@gnu.ai.mit.edu>

	* argp/argp.h [!__error_t_defined] (__error_t_defined): Define.
	* argp/argp-help.c (canon_doc_option): Correct ctype tests.
1997-05-10 23:37:32 +00:00
Ulrich Drepper 8b13cb56b3 1997-05-08 07:53 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/poll.c: Save errno.

1997-05-08 16:44  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/syscalls.list: Add nfsservctl.
1997-05-09 02:57:23 +00:00
Ulrich Drepper a2ef11b29c 1997-05-07 20:27 H.J. Lu <hjl@gnu.ai.mit.edu>
* sys/ttydefaults.h: Removed.

1997-05-07 14:10  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* termios/sys/ttydefaults.h: Delete file.
	* sysdeps/generic/sys/ttydefaults.h: New file; use OXTABS in
	TTYDEF_OFLAG.
	* sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h: New file; use
	XTABS in TTYDEF_OFLAG.
	* sysdeps/unix/sysv/linux/sys/ttydefaults.h: New file; use XTABS
	in TTYDEF_OFLAG (which is correct for all existing Linux ports).

1997-05-05 14:22  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* hurd/hurdsig.c (_hurdsig_preemptors): Provide initialization.
	* hurd/hurdfault.c (_hurdsig_fault_preemptor): Likewise.
1997-05-08 10:01:49 +00:00
Ulrich Drepper 51702635af Update.
* locale/categories.def: Change type of _NL_CTYPE_CLASS_NAMES and
	_NL_CTYPE_MAP_NAMES field to stringlist.
	Change name of _NL_CTYPE_CODESET_NAME to "charmap".
	* locale/localeinfo.h (enum value_type): Add stringlist.
	* locale/programs/locale.c (show_info): Handle stringlist.

	* locale/programs/charmap.c (charmap_read): If charmap file is not
	using the given name try to find it by looking through all available
	charmap files and compare the code set name.
	* locale/programs/locale.c (write_charmaps): Also print names of
	charset in <code_set_name> fields in the files.

	* elf/ldd.bash.in: Correct translatable strings.

	* posix/TESTS: Add some more tests for character class matching.
	* posix/regex.c: Merge with GNU awk version.
	(regex_compile): Use ISO C/amend 1 functions for character class
	handling.
	* posix/regex.h: Merge with GNU awk version.

	* posix/getopt.c: Declare as master copies.
	* posix/getopt1.c: Likewise.
	* posix/getopt.h: Likewise.

	* sysdeps/unix/sysv/linux/sys/mount.h: Add definitions for option
	value to mount functions.
	Patch by a sun <asun@zoology.washington.edu>.

	* stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency
	with other tests.
	* sunrpc/svc_run.c (svc_exit): New, defined.
	(svc_run): Test for svc_stop variable.
	* sysdeps/m68k/s_cexp.c: Rewritten.
	* sysdeps/m68k/s_cexpf.c: Likewise.
	* sysdeps/m68k/s_cexpl.c: Likewise.
1997-05-07 15:31:21 +00:00
Ulrich Drepper 1f07e61775 1997-05-07 16:31 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/dl-machine.h (elf_machine_rel): Check for mismatch
	in size for copy relocation.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sparc/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Likewise.
	Patch by Roland McGrath <roland@gnu.ai.mit.edu>.

1997-05-06 13:25  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* stdio-common/bug4.c (main): Use /tmp/bug4.test for concurrency
	with other tests.
	* stdio-common/bug3.c (main): Use /tmp/bug3.test for concurrency
	with other tests.

	* sunrpc/svc_run.c: svc_exit): New, defined.  (svc_run): Test for
	svc_stop variable.
	* sunrpc/rpc/svc.h (svc_exit): New, declared.

1997-05-03 08:47  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c (test_not_exception): Don't mix the internal
	exception flags with the host defined FE_* values.  All (indirect)
	callers of this and test_exceptions changed to pass the internal
	flag values.
	(csin_test): Allow invalid exception for +-Inf + i NaN.  Fix typos
	in test names.
	(csinh_test): Allow invalid exception for NaN +- i Inf.

1997-05-03 09:21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h (__frexp): Don't raise invalid
	exception on infinite value.
	(__m81_test, __M81_COND_NAN, __M81_COND_INF, __M81_COND_NEG,
	__M81_COND_ZERO): New definitions.

	* sysdeps/m68k/e_pow.c: Raise invalid exception for NaN result.
	Use __m81_test.

	* sysdeps/m68k/s_ccosh.c: Rewritten.
	* sysdeps/m68k/s_csinh.c: Rewritten.
	* sysdeps/m68k/s_ccoshf.c: Don't define huge_val.
	* sysdeps/m68k/s_ccoshl.c: Likewise.
	* sysdeps/m68k/s_csinhf.c: Likewise.
	* sysdeps/m68k/s_csinhl.c: Likewise.

	* sysdeps/m68k/s_ccos.c: New file.
	* sysdeps/m68k/s_ccosf.c: New file.
	* sysdeps/m68k/s_ccosl.c: New file.
	* sysdeps/m68k/s_csin.c: New file.
	* sysdeps/m68k/s_csinf.c: New file.
	* sysdeps/m68k/s_csinl.c: New file.

1997-05-02 19:48  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules, manual/Makefile: Remove -$(subdir) suffix from subdir
	stamp files to avoid problems with long file names.

1997-05-03 22:24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/e_acoshl.c: Fix test for x < 1.

	* sysdeps/libm-ieee754/e_atan2l.c: Ignore integer bit for Inf and
	NaN.  Fix test for sign of infinite y.

	* sysdeps/libm-ieee754/e_atanhl.c: Fix sign of result.

	* sysdeps/libm-ieee754/e_sinhl.c: Fix test for sign of argument.

1997-05-03 01:15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* csu/Makefile (extra-objs) [$(elf)=yes]: Add abi-note.o to get
	dependencies.

	* csu/abi-note.S: Replace undefined macro ALIGNARG.
	* sysdeps/unix/sysv/linux/abi-tag.h: Don't use assembler comment
	character.

1997-05-03 22:27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use notation
	for local label.

1997-05-05 22:00  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/Makefile (libnsl-routines): Add a lot of new file names.

	* nis/nis_names.c (nis_add): Moved from here ...
	* nis/nis_add.c: ... to here and fix parameter flags.
	* nis/nis_names.c (nis_lookup): Moved from here ...
	* nis/nis_lookup.c: ... to here.
	* nis/nis_names.c (nis_modify): Moved from here ...
	* nis/nis_modify.c: ... to here and fix parameter flags.
	* nis/nis_names.c (nis_remove): Moved from here ...
	* nis/nis_remove.c: ... to here and fix parameter flags.
	* nis/nis_names.c: Removed.

	* nis/nis_subr.c (nis_domain_of): Moved from here ...
	* nis/nis_domain_of.c: .. to here.
	* nis/nis_subr.c (nis_domain_of_r): Moved from here ...
	* nis/nis_domain_of_r.c: .. to here and fix pointer errors.

	* nis/nis_addmember.c: New.
	* nis/nis_checkpoint.c: New.
	* nis/nis_creategroup.c: New.
	* nis/nis_defaults.c: New.
	* nis/nis_destroygroup.c: New.
	* nis/nis_getservlist.c: New.
	* nis/nis_ismember.c: New.
	* nis/nis_ping.c: New.
	* nis/nis_print_group_entry.c: New.
	* nis/nis_removemember.c: New.
	* nis/nis_mkdir.c: New.
	* nis/nis_rmdir.c: New.
	* nis/nis_verifygroup.c: New.

	* nis/rpcsvc/nislib.h: Fix internal function declarations.

	* nis/nis_server (nis_servstate): New.
	* nis/nis_server (nis_stats): New.

	* nis/nis_subr.c (nis_leaf_of_r): Fix buffer problems.

	* nis/nis_call.c: Remove debug output.

	* nis/nis_intern.c (__nis_finddirectory): Remove.
1997-05-07 14:34:37 +00:00
Ulrich Drepper 6b00df4189 1997-05-03 00:53 Ulrich Drepper <drepper@cygnus.com>
* posix/TESTS2C.sed: Recognize only digits in first field.  This
	enables us to use colons in the pattern.

1997-05-01 20:02  Richard Henderson  <rth@tamu.edu>

	* sysdeps/unix/sysv/linux/alpha/brk.S: Don't presume that the kernel
	will preserve non-call-saved registers; save and restore a0 across
	the system call.
	* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise tuck the thread
	data onto the new thread's stack.
1997-05-03 00:33:54 +00:00
Ulrich Drepper 93256cc1ac 1997-05-01 03:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/shmat.c (shmat): For Linux-2.0 and up the
	kernel can return negative values.  Only fail when return value is
	in range in range which is never returned as valid address.
	Patch by Bruno Haible <haible@ilog.fr>.
1997-05-01 01:25:40 +00:00
1394 changed files with 35358 additions and 11897 deletions
+3
View File
@@ -14,6 +14,7 @@ gpl2lgpl.sed
distinfo
distinfo
test-include
analysis
docs
@@ -21,3 +22,5 @@ crypt
linuxthreads
localedata
secure_rpc
aio
+3 -4
View File
@@ -1,7 +1,7 @@
List of known bugs (certainly very incomplete)
----------------------------------------------
Time-stamp: <1997-03-22T04:31:41+0100 drepper>
Time-stamp: <1997-05-21T21:25:40+0200 drepper>
This following list contains those bugs which I'm aware of. Please
make sure that bugs you report are not listed here. If you can fix one
@@ -10,7 +10,7 @@ of these bugs/limitations I'll certainly be glad to receive a patch.
Another source of information about bugs is the problem data base of the
GNU project. There is an easy to use WWW interface is available at
http://pogo.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
http://www-gnats.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
I would appreciate it very much if you could verify the problem was not
reported before by looking though the database. To make the information
@@ -29,8 +29,7 @@ Severity: [ *] to [***]
[ **] There are problems with signal handling when using LinuxThreads.
[ **] The `cbrtl' function is inaccurate. The algorithm used for `double'
and `float' is not usable for `long double'.
[ **] The `cbrtl' function for ix86 does not work in the moment.
[ **] Not really a bug, but it could lead to such:
The RPC code is ugly ugly ugly. It's more or less verbatim taken
+2997 -14
View File
File diff suppressed because it is too large Load Diff
+12 -3
View File
@@ -183,7 +183,12 @@ Library.
slow.
* plenty of time (approx 1h for i?86-linux on i586@133 or 2.5h on
i486@66 or 4.5h on i486@33). For Hurd systems times are much higher.
i486@66 or 4.5h on i486@33), both for shared and static only).
For Hurd systems times are much higher.
For Atari Falcon (Motorola 68030 @ 16 Mhz, 14 Mb memory) James Troup
<J.J.Troup@comp.brad.ac.uk> reports for a full build (shared, static,
and profiled) a compile time of 45h34m.
If you have some more measurements let me know.
@@ -427,7 +432,7 @@ ship the cryptographic function together with the libc.
But of course we provide the code and there is an very easy way to use
this code. First get the extra package. People in the US way get it
from the same place they got the GNU libc from. People outside the US
should get the code from ftp.uni-c.dk [129.142.6.74], or another
should get the code from ftp://ftp.ifi.uio.no/pub/gnu, or another
archive site outside the USA. The README explains how to install the
sources.
@@ -578,6 +583,10 @@ something like this:
GROUP ( libc.so.6 ld.so.1 libc.a )
or in ix86/Linux and alpha/Linux:
GROUP ( libc.so.6 ld-linux.so.2 libc.a )
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q18] ``The prototypes for `connect', `accept', `getsockopt',
@@ -699,7 +708,7 @@ Answers were given by:
{DMT} David Mosberger-Tang, <davidm@AZStarNet.com>
{RM} Roland McGrath, <roland@gnu.ai.mit.edu>
{HJL} H.J. Lu, <hjl@gnu.ai.mit.edu>
{AJ} Andreas Jaeger, <aj@arthur.pfalz.de>
{AJ} Andreas Jaeger, <aj@arthur.rhein-neckar.de>
{EY} Eric Youngdale, <eric@andante.jic.com>
Local Variables:
+11 -2
View File
@@ -83,6 +83,14 @@ export sysdep_dir := $(sysdep_dir)
# Get the values defined by options to `configure'.
include $(common-objpfx)config.make
# We have a special subdir for each binary format.
# For now, only ELF is fully supported.
ifeq ($(elf),yes)
binfmt-subdir = elf
else
binfmt-subdir =
endif
# Complete path to sysdep dirs.
full-config-sysdirs := $(filter /%, $(config-sysdirs)) \
$(addprefix $(..), $(filter-out /%, $(config-sysdirs)))
@@ -372,6 +380,7 @@ else
link-libc = $(common-objpfx)libc.a $(gnulib) $(common-objpfx)libc.a
endif
endif
ifndef link-extra-libs
ifeq (yes,$(build-shared))
ifneq ($(common-objpfx),$(objpfx))
@@ -482,14 +491,14 @@ endif # $(+cflags) == ""
# and in the parent library source directory.
# `+sysdep-includes' will be defined by Makerules.
+includes = -I. $(filter-out -I,-I$(patsubst %/,%,$(..))) $($(stdio)-include) \
$(includes) $(+sysdep-includes) $(last-includes)
$(includes) $(+sysdep-includes) $(last-includes)
# Since libio has several internal header files, we use a -I instead
# of many little headers in the top level source directory.
libio-include = -I$(..)libio
# These are the variables that the implicit compilation rules use.
CPPFLAGS = $(+includes) $(defines) -include $(..)libc-symbols.h \
CPPFLAGS = $(+includes) $(defines) -include $(..)include/libc-symbols.h \
$(sysdep-CPPFLAGS) $(CPPFLAGS-$(suffix $@)) $(CPPFLAGS-$(<F)) \
$(CPPFLAGS-$(@F))
override CFLAGS = $(+cflags) $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) \
+7 -7
View File
@@ -55,7 +55,7 @@ subdirs = csu assert ctype db locale intl catgets math setjmp signal stdlib \
stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd \
posix io termios resource misc login socket sysvipc gmon gnulib \
wctype manual shadow md5-crypt nss $(sysdep-subdirs) po argp \
$(add-ons) elf
$(add-ons) $(binfmt-subdir)
export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63.
# The mach and hurd subdirectories have many generated header files which
@@ -82,8 +82,8 @@ subdirs := $(filter mach,$(subdirs)) $(filter hurd,$(subdirs)) \
subdir_install \
$(addprefix install-, no-libc.a bin lib data headers others)
headers := errno.h sys/errno.h errnos.h limits.h values.h \
features.h gnu-versions.h libc-lock.h xopen_lim.h
headers := errno.h sys/errno.h bits/errno.h limits.h values.h \
features.h gnu-versions.h bits/libc-lock.h bits/xopen_lim.h
aux = sysdep $(libc-init) version
before-compile += $(objpfx)version-info.h
@@ -131,9 +131,6 @@ ifeq (yes,$(build-shared))
lib: $(common-objpfx)libc.so
endif
# We have a versioning file for libc.so.
#libc-map = libc.map
all-Subdirs-files = $(wildcard $(addsuffix /Subdirs, $(config-sysdirs)))
$(objpfx)sysd-dirs: $(+sysdir_pfx)config.make $(all-Subdirs-files)
(echo define sysdep-subdirs; \
@@ -184,6 +181,7 @@ subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)stub-$(dir))
# the subdir's stubs file. Having more direct dependencies would result in
# extra iterations over the list for subdirs and many recursive makes.
$(inst_includedir)/gnu/stubs.h: subdir_install
$(make-target-directory)
@rm -f $(objpfx)stubs.h
(echo '/* This file is automatically generated.';\
echo ' It defines a symbol `__stub_FUNCTION'\'' for each function';\
@@ -198,6 +196,7 @@ $(inst_includedir)/gnu/stubs.h: subdir_install
ifeq (yes,$(build-shared))
$(inst_includedir)/gnu/lib-names.h: $(common-objpfx)gnu/lib-names.h
$(make-target-directory)
if test -r $@ && cmp -s $< $@; \
then echo 'gnu/lib-names.h unchanged'; \
else $(INSTALL_DATA) $< $@; fi
@@ -315,8 +314,9 @@ makeinfo --no-validate --no-warn --no-headers $< -o $@
endef
INSTALL: manual/maint.texi; $(format-me)
NOTES: manual/creature.texi; $(format-me)
manual/dir-add.texi:
manual/dir-add.texi manual/dir-add.info: FORCE
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
FORCE:
rpm/%: subdir_distinfo
$(MAKE) $(PARALLELMFLAGS) -C $(@D) subdirs='$(subdirs)' $(@F)
+34 -26
View File
@@ -95,6 +95,10 @@ o-iterator = $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) $(objpfx) \
$(+sysdep_dirs) $(..)))
# The same is true for RPC source files.
vpath %.x $(subst $(empty) ,:,$(strip $(common-objpfx) $(objpfx) \
$(+sysdep_dirs) $(..)))
# Some sysdep makefiles use this to distinguish being included here from
# being included individually by a subdir makefile (hurd/Makefile needs this).
in-Makerules := yes
@@ -332,7 +336,7 @@ ifeq (yes,$(build-shared))
# build shared libraries in place from the installed *_pic.a files.
# $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies
# on other shared objects.
lib%.so: lib%_pic.a; $(build-shlib)
lib%.so: lib%_pic.a $(lib%-map); $(build-shlib)
ifeq ($(have-no-whole-archive),yes)
no-whole-archive = -Wl,--no-whole-archive
@@ -341,7 +345,7 @@ no-whole-archive =
endif
ifeq ($(versioning),yes)
load-map-file = $($(@F:%.so=%)-map:%=-Wl,--version-script=%)
load-map-file = $($(@F:%.so=%)-map)
else
load-map-file =
endif
@@ -357,14 +361,12 @@ $(patsubst %,$(objpfx)%.so,$(extra-libs)): $(interp-obj)
define build-shlib
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
-B$(csu-objpfx) $(load-map-file) \
-B$(csu-objpfx) $(load-map-file:%=-Wl,--version-script=%) \
-Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive $^ $(no-whole-archive) \
$(LDLIBS-$(@F:lib%.so=%).so)
test -z "$($(@F)-version)" || \
(rm -f $@$($(@F)-version); $(LN_S) $(@F) $@$($(@F)-version))
-Wl,--whole-archive $(filter-out $(load-map-file),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
endef
# Don't try to use -lc when making libc.so itself.
@@ -375,11 +377,18 @@ LDFLAGS-c.so = -nostdlib -nostartfiles
LDLIBS-c.so = -lgcc
# Give libc.so an entry point and make it directly runnable itself.
LDFLAGS-c.so += -e __libc_main
# We have a versioning file for libc.so.
libc-map = $(..)libc.map
# Use our own special initializer and finalizer files for libc.so.
$(common-objpfx)libc.so: $(elfobjdir)/soinit.so \
$(common-objpfx)libc_pic.a \
$(elfobjdir)/sofini.so $(elfobjdir)/ld.so
$(elfobjdir)/sofini.so $(elfobjdir)/ld.so \
$(libc-map)
$(build-shlib)
ifdef libc.so-version
$(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
$(make-link)
endif
endif
# Some files must not be compiled with the exception handler mechanism
@@ -477,8 +486,8 @@ others: $(addprefix $(objpfx),$(install-lib))
ifndef objects
# Create the stamp$o files to keep the parent makefile happy.
subdir_lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir))
$(foreach o,$(object-suffixes),$(objpfx)stamp$o-$(subdir)):
subdir_lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o)
$(foreach o,$(object-suffixes),$(objpfx)stamp$o):
$(make-target-directory)
rm -f $@; > $@
else
@@ -490,19 +499,19 @@ else
define o-iterator-doit
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
$(addsuffix .%,$(filter-out $(elide-routines$o),$(notdir $(objects:.o=))))): \
$(objpfx)stamp.%-$(subdir) ;
$(objpfx)stamp.% ;
endef
object-suffixes-left := $(object-suffixes)
include $(o-iterator)
# The pattern rule tells Make to remake $(objpfx)stamp.%-$(subdir) as
# The pattern rule tells Make to remake $(objpfx)stamp.% as
# the way to update all the foo.% object files in $(objects). Now we
# define explicit rules to update each $(objpfx)stamp.SUFFIX-$(subdir)
# define explicit rules to update each $(objpfx)stamp.SUFFIX
# timestamp file; these rules (one explicit rule is generated for each
# object suffix) will update the parent archive with ar. Use a static
# pattern rule so $* is set to the object type during the commands.
define o-iterator-doit
$(objpfx)stamp$o-$(subdir): $(objpfx)stamp%-$(subdir): $(o-objects); $$(do-ar)
$(objpfx)stamp$o: $(objpfx)stamp%: $(o-objects); $$(do-ar)
endef
object-suffixes-left := $(object-suffixes)
include $(o-iterator)
@@ -529,7 +538,7 @@ $(common-objpfx)$(patsubst %,$(libtype$o),c)($(ar-symtab-name)): \
$$(RANLIB) $$(common-objpfx)$$(patsubst %,$$(libtype$o),c)
endef
ifndef subdir
subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%-$d)
subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%)
subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps))
$(subdirs-stamps): subdir_lib;
endif
@@ -836,10 +845,10 @@ ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(..)config.h
check: tests
.PHONY: TAGS
TAGS: $(common-objpfx)distinfo-$(subdir) $(..)MakeTAGS
TAGS: $(objpfx)distinfo $(..)MakeTAGS
$(MAKE) $(addprefix -f ,$^) $@
$(..)po/%.pot: $(common-objpfx)distinfo-$(subdir) $(..)MakeTAGS FORCE
$(..)po/%.pot: $(objpfx)distinfo $(..)MakeTAGS FORCE
$(MAKE) $(addprefix -f ,$(filter-out FORCE,$^)) $@
FORCE:
@@ -866,7 +875,7 @@ common-mostlyclean:
$(rmobjs)
define rmobjs
$(foreach o,$(object-suffixes),
-rm -f $(addprefix $(objpfx),stamp$o-$(subdir)) $(o-objects))
-rm -f $(objpfx)stamp$o $(o-objects))
endef
# Also remove the dependencies and generated source files.
@@ -874,7 +883,7 @@ common-clean: common-mostlyclean
-rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles)
-rm -fr $(addprefix $(objpfx),$(generated-dirs))
-rm -f $(addprefix $(common-objpfx),$(common-generated))
-rm -f $(common-objpfx)distinfo-$(subdir)
-rm -f $(objpfx)distinfo
# Produce a file `stub-$(subdir)' which contains `#define __stub_FUNCTION'
# for each function which is a stub. We grovel over all the .d files
@@ -897,7 +906,7 @@ $(common-objpfx)stub-$(subdir): $(+depfiles)
# Make the distribution tar file.
.PHONY: dist
dist: $(common-objpfx)distinfo-$(subdir) $(..)Make-dist
dist: $(objpfx)distinfo $(..)Make-dist
$(MAKE) -f $< -f $(word 2,$^) $(Make-dist-args)
# Avoid depending on source files found in sysdeps dirs,
@@ -908,14 +917,13 @@ dist: $(filter-out %.c %.S %.s,$(distribute))
# environment get too large. Instead, we write all the information into
# a generated makefile fragment `distinfo', and then include it with -f in
# the sub-make that makes the distribution (above).
$(common-objpfx)distinfo-$(subdir): Makefile $(..)Makerules \
$(wildcard $(foreach dir,$(sysdirs),\
$(dir)/Makefile))
$(objpfx)distinfo: Makefile $(..)Makerules \
$(wildcard $(foreach dir,$(sysdirs),$(dir)/Makefile))
$(make-target-directory)
$(distinfo-vars)
mv -f $@.new $@
.PHONY: subdir_distinfo distinfo
subdir_distinfo: distinfo
distinfo: $(common-objpfx)distinfo-$(subdir)
.PHONY: subdir_distinfo
subdir_distinfo: $(objpfx)distinfo
define distinfo-vars
rm -f $@.new
+1 -18
View File
@@ -80,12 +80,6 @@ contact <bug-glibc@prep.ai.mit.edu>
work.
[ 9] Write nftw() function. Perhaps it might be good to reimplement the
ftw() function as well to share most of the code.
**** Almost done!
[10] Extend regex and/or rx to work with wide characters and complete
implementation of character class and collation class handling.
@@ -98,23 +92,12 @@ contact <bug-glibc@prep.ai.mit.edu>
hard and not all services must be supported at once.
[12] Rewrite utmp/wtmp functions to use database functions. This is much
better than the normal flat file format.
**** There are plans for a new approach to this problem. Please contact
bug-glibc@prep.ai.mit.edu before starting to work.)
[13] Several more or less small functions have to be written:
+ tcgetid() and waitid() from XPG4.2
+ grantpt(), ptsname(), unlockpt() from XPG4.2
+ getdate() from XPG4.2
*** Probably underway
+ fmtmsg() from SVID
*** Probably underway
More information are available on request.
More information is available on request.
[14] We need to write a library for on-the-fly transformation of streams
+8 -7
View File
@@ -1,11 +1,11 @@
This directory contains the version 2.0.1 test release of the GNU C Library.
This directory contains the version 2.0.90 test release of the GNU C Library.
Many bugs have been fixed since the last release.
Some bugs surely remain.
As of this release, the GNU C library is known to run on the following
configurations:
*-*-gnu GNU Hurd
i[3456]86-*-gnu GNU Hurd
i[3456]86-*-linux-gnu Linux-2.0 on Intel
m68k-*-linux-gnu Linux-2.0 on Motorola 680x0
alpha-*-linux-gnu Linux-2.0 on DEC Alpha
@@ -36,17 +36,18 @@ versions) used to run on the following configurations:
sparc-sun-solaris2
sparc-sun-sunos4
Whether this is still true for this release is unknown. Porting the
library is not hard. If you are interested in doing a port, please
get on the mailing list by sending electronic mail to
<bug-glibc-request@prep.ai.mit.edu>.
Since no one has volunteered to test and fix the above configurations,
these are not supported at the moment. It's expected that these don't
work anymore. Porting the library is not hard. If you are interested
in doing a port, please contact the glibc maintainers by sending
electronic mail to <bug-glibc@prep.ai.mit.edu>.
The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
provides the Unix `crypt' function, plus some other entry points.
Because of the United States export restriction on DES implementations,
we are distributing this code separately from the rest of the C
library. There is an extra distribution tar file just for crypt; it is
called `glibc-crypt-2.0.1.tar.gz'. You can just unpack the crypt
called `glibc-crypt-2.0.90.tar.gz'. You can just unpack the crypt
distribution along with the rest of the C library and build; you can
also build the library without getting crypt. Users outside the USA
can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
+6 -5
View File
@@ -5,7 +5,7 @@ Some bugs surely remain.
As of this release, the GNU C library is known to run on the following
configurations:
*-*-gnu GNU Hurd
i[3456]86-*-gnu GNU Hurd
i[3456]86-*-linux-gnu Linux-2.0 on Intel
m68k-*-linux-gnu Linux-2.0 on Motorola 680x0
alpha-*-linux-gnu Linux-2.0 on DEC Alpha
@@ -36,10 +36,11 @@ versions) used to run on the following configurations:
sparc-sun-solaris2
sparc-sun-sunos4
Whether this is still true for this release is unknown. Porting the
library is not hard. If you are interested in doing a port, please
get on the mailing list by sending electronic mail to
<bug-glibc-request@prep.ai.mit.edu>.
Since no one has volunteered to test and fix the above configurations,
these are not supported at the moment. It's expected that these don't
work anymore. Porting the library is not hard. If you are interested
in doing a port, please contact the glibc maintainers by sending
electronic mail to <bug-glibc@prep.ai.mit.edu>.
The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
provides the Unix `crypt' function, plus some other entry points.
+1 -1
View File
@@ -122,7 +122,7 @@ subdir_echo-headers: echo-headers
.PHONY: subdir_echo-distinfo
subdir_echo-distinfo:
@echo $(addprefix +header+,$(headers)) \
@echo $(addprefix +header+,$(headers) $(filter %.h,$(distribute))) \
$(addprefix +nodist+,$(generated) $(common-generated) $(dont_distribute))
# We want to install everything except the library itself, but update all
Vendored
+59
View File
@@ -31,3 +31,62 @@ changequote([,])dnl
fi
AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
dnl
dnl These modifications are to allow for an empty cross compiler tree.
dnl In the situation that cross-linking is impossible, the variable
dnl `cross_linkable' will be substituted with "yes".
AC_DEFUN(AC_PROG_CC_LOCAL,
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_CHECK_PROG(CC, gcc, gcc)
if test -z "$CC"; then
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
fi
AC_PROG_CC_WORKS_LOCAL
AC_PROG_CC_GNU
dnl The following differs from the AC_PROG_CC macro in autoconf. Since
dnl we require a recent version of gcc to be used we do not need to go
dnl into lengths and test for bugs in old versions. It must be gcc 2.7
dnl or above.
if test $ac_cv_prog_gcc = yes; then
GCC=yes
dnl Check the version
cat > conftest.c <<EOF
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
yes;
#endif
EOF
if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
if test -z "$CFLAGS"; then
CFLAGS="-g -O2"
fi
else
AC_MSG_ERROR([We require GNU CC version 2.7 or newer])
fi
else
AC_MSG_ERROR([GNU libc must be compiled using GNU CC])
fi
])
AC_DEFUN(AC_PROG_CC_WORKS_LOCAL,
[AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works])
AC_LANG_SAVE
AC_LANG_C
AC_TRY_COMPILER([main(){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross)
AC_LANG_RESTORE
AC_MSG_RESULT($ac_cv_prog_cc_works)
if test $ac_cv_prog_cc_works = no; then
cross_linkable=no
ac_cv_prog_cc_cross=yes
dnl AC_MSG_ERROR([installation or configuration problem: C compiler cannot create executables.])
else
cross_linkable=yes
fi
AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler])
AC_MSG_RESULT($ac_cv_prog_cc_cross)
AC_SUBST(cross_linkable)
cross_compiling=$ac_cv_prog_cc_cross
])
-108
View File
@@ -1,108 +0,0 @@
/* Copyright (C) 1991 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with the GNU C Library; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* ANSI and traditional C compatibility macros
ANSI C is assumed if __STDC__ is #defined.
Macro ANSI C definition Traditional C definition
----- ---- - ---------- ----------- - ----------
PTR `void *' `char *'
LONG_DOUBLE `long double' `double'
CONST `const' `'
VOLATILE `volatile' `'
SIGNED `signed' `'
PTRCONST `void *const' `char *'
DEFUN(name, arglist, args)
Defines function NAME.
ARGLIST lists the arguments, separated by commas and enclosed in
parentheses. ARGLIST becomes the argument list in traditional C.
ARGS list the arguments with their types. It becomes a prototype in
ANSI C, and the type declarations in traditional C. Arguments should
be separated with `AND'. For functions with a variable number of
arguments, the last thing listed should be `DOTS'.
DEFUN_VOID(name)
Defines a function NAME, which takes no arguments.
EXFUN(name, prototype)
Is used in an external function declaration.
In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in
parentheses). In traditional C it is `NAME()'.
For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'.
For example:
extern int EXFUN(printf, (CONST char *format DOTS));
int DEFUN(fprintf, (stream, format),
FILE *stream AND CONST char *format DOTS) { ... }
void DEFUN_VOID(abort) { ... }
*/
#ifndef _ANSIDECL_H
#define _ANSIDECL_H 1
/* Every source file includes this file,
so they will all get the switch for lint. */
/* LINTLIBRARY */
#ifdef __STDC__
#define PTR void *
#define PTRCONST void *CONST
#define LONG_DOUBLE long double
#define AND ,
#define NOARGS void
#define CONST const
#define VOLATILE volatile
#define SIGNED signed
#define DOTS , ...
#define EXFUN(name, proto) name proto
#define DEFUN(name, arglist, args) name(args)
#define DEFUN_VOID(name) name(NOARGS)
#else /* Not ANSI C. */
#define PTR char *
#define PTRCONST PTR
#define LONG_DOUBLE double
#define AND ;
#define NOARGS
#define CONST
#define VOLATILE
#define SIGNED
#define DOTS
#define EXFUN(name, proto) name()
#define DEFUN(name, arglist, args) name arglist args;
#define DEFUN_VOID(name) name()
#endif /* ANSI C. */
#endif /* ansidecl.h */
+5 -2
View File
@@ -22,8 +22,11 @@
#include <config.h>
#endif
#include <sysexits.h>
#include "argp.h"
/* The exit status that argp will use when exiting due to a parsing error.
If not defined or set by the user program, this defaults to 1. */
error_t argp_err_exit_status = 1;
If not defined or set by the user program, this defaults to EX_USAGE from
<sysexits.h>. */
error_t argp_err_exit_status = EX_USAGE;
+3 -3
View File
@@ -23,8 +23,8 @@
that. This header file is only used internally while compiling argp, and
shouldn't be installed. */
#ifndef __ARGP_FMTSTREAM_H__
#define __ARGP_FMTSTREAM_H__
#ifndef _ARGP_FMTSTREAM_H
#define _ARGP_FMTSTREAM_H
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -294,4 +294,4 @@ __argp_fmtstream_point (argp_fmtstream_t __fs)
#endif /* ARGP_FMTSTREAM_USE_LINEWRAP */
#endif /* __ARGP_FMTSTREAM_H__ */
#endif /* argp-fmtstream.h */
+28 -21
View File
@@ -458,6 +458,7 @@ hol_add_cluster (struct hol *hol, int group, const char *header, int index,
cl->index = index;
cl->parent = parent;
cl->argp = argp;
cl->depth = parent ? parent->depth + 1 : 0;
cl->next = hol->clusters;
hol->clusters = cl;
@@ -658,12 +659,12 @@ canon_doc_option (const char **name)
{
int non_opt;
/* Skip initial whitespace. */
while (isspace (*name))
while (isspace (**name))
(*name)++;
/* Decide whether this looks like an option (leading `-') or not. */
non_opt = (**name != '-');
/* Skip until part of name used for sorting. */
while (**name && !isalnum (*name))
while (**name && !isalnum (**name))
(*name)++;
return non_opt;
}
@@ -921,7 +922,7 @@ filter_doc (const char *doc, int key, const struct argp *argp,
}
else
/* No filter. */
return (char *)doc;
return doc;
}
/* Prints STR as a header line, with the margin lines set appropiately, and
@@ -973,8 +974,10 @@ comma (unsigned col, struct pentry_state *pest)
if (pest->hhstate->sep_groups && pe && pest->entry->group != pe->group)
__argp_fmtstream_putc (pest->stream, '\n');
if (pe && cl && pe->cluster != cl && cl->header && *cl->header
&& !hol_cluster_is_child (pe->cluster, cl))
if (cl && cl->header && *cl->header
&& (!pe
|| (pe->cluster != cl
&& !hol_cluster_is_child (pe->cluster, cl))))
/* If we're changing clusters, then this must be the start of the
ENTRY's cluster unless that is an ancestor of the previous one
(in which case we had just popped into a sub-cluster for a bit).
@@ -1133,7 +1136,7 @@ hol_help (struct hol *hol, const struct argp_state *state,
Mandatory or optional arguments to long options are also mandatory or \
optional for any corresponding short options.");
const char *fstr = filter_doc (tstr, ARGP_KEY_HELP_DUP_ARGS_NOTE,
state ? state->argp : 0, state);
state ? state->root_argp : 0, state);
if (fstr && *fstr)
{
__argp_fmtstream_putc (stream, '\n');
@@ -1305,17 +1308,19 @@ argp_args_levels (const struct argp *argp)
updated by this routine for the next call if ADVANCE is true. True is
returned as long as there are more patterns to output. */
static int
argp_args_usage (const struct argp *argp, char **levels, int advance,
argp_fmtstream_t stream)
argp_args_usage (const struct argp *argp, const struct argp_state *state,
char **levels, int advance, argp_fmtstream_t stream)
{
char *our_level = *levels;
int multiple = 0;
const struct argp_child *child = argp->children;
const char *doc = gettext (argp->args_doc), *nl = 0;
const char *tdoc = gettext (argp->args_doc), *nl = 0;
const char *fdoc = filter_doc (tdoc, ARGP_KEY_HELP_ARGS_DOC, argp, state);
if (doc)
if (fdoc)
{
nl = strchr (doc, '\n');
const char *cp = fdoc;
nl = strchr (cp, '\n');
if (nl)
/* This is a `multi-level' args doc; advance to the correct position
as determined by our state in LEVELS, and update LEVELS. */
@@ -1323,22 +1328,24 @@ argp_args_usage (const struct argp *argp, char **levels, int advance,
int i;
multiple = 1;
for (i = 0; i < *our_level; i++)
doc = nl + 1, nl = strchr (doc, '\n');
cp = nl + 1, nl = strchr (cp, '\n');
(*levels)++;
}
if (! nl)
nl = doc + strlen (doc);
nl = cp + strlen (cp);
/* Manually do line wrapping so that it (probably) won't get wrapped at
any embedded spaces. */
space (stream, 1 + nl - doc);
space (stream, 1 + nl - cp);
__argp_fmtstream_write (stream, doc, nl - doc);
__argp_fmtstream_write (stream, cp, nl - cp);
}
if (fdoc && fdoc != tdoc)
free ((char *)fdoc); /* Free user's modified doc string. */
if (child)
while (child->argp)
advance = !argp_args_usage ((child++)->argp, levels, advance, stream);
advance = !argp_args_usage ((child++)->argp, state, levels, advance, stream);
if (advance && multiple)
/* Need to increment our level. */
@@ -1493,7 +1500,7 @@ _help (const struct argp *argp, const struct argp_state *state, FILE *stream,
do
{
int old_lm;
int old_wm = __argp_fmtstream_set_wmargin (fs, USAGE_INDENT);
int old_wm = __argp_fmtstream_set_wmargin (fs, uparams.usage_indent);
char *levels = pattern_levels;
__argp_fmtstream_printf (fs, "%s %s",
@@ -1502,7 +1509,7 @@ _help (const struct argp *argp, const struct argp_state *state, FILE *stream,
/* We set the lmargin as well as the wmargin, because hol_usage
manually wraps options with newline to avoid annoying breaks. */
old_lm = __argp_fmtstream_set_lmargin (fs, USAGE_INDENT);
old_lm = __argp_fmtstream_set_lmargin (fs, uparams.usage_indent);
if (flags & ARGP_HELP_SHORT_USAGE)
/* Just show where the options go. */
@@ -1517,7 +1524,7 @@ _help (const struct argp *argp, const struct argp_state *state, FILE *stream,
flags |= ARGP_HELP_SHORT_USAGE; /* But only do so once. */
}
more_patterns = argp_args_usage (argp, &levels, 1, fs);
more_patterns = argp_args_usage (argp, state, &levels, 1, fs);
__argp_fmtstream_set_wmargin (fs, old_wm);
__argp_fmtstream_set_lmargin (fs, old_lm);
@@ -1594,7 +1601,7 @@ __argp_state_help (const struct argp_state *state, FILE *stream, unsigned flags)
if (state && (state->flags & ARGP_LONG_ONLY))
flags |= ARGP_HELP_LONG_ONLY;
_help (state ? state->argp : 0, state, stream, flags,
_help (state ? state->root_argp : 0, state, stream, flags,
state ? state->name : program_invocation_short_name);
if (!state || ! (state->flags & ARGP_NO_EXIT))
@@ -1612,7 +1619,7 @@ weak_alias (__argp_state_help, argp_state_help)
/* If appropriate, print the printf string FMT and following args, preceded
by the program name and `:', to stderr, and followed by a `Try ... --help'
message, then exit (ARGP_ERR_EXIT_STATUS). */
message, then exit (1). */
void
__argp_error (const struct argp_state *state, const char *fmt, ...)
{
+100 -36
View File
@@ -38,10 +38,11 @@
# define _(msgid) (msgid)
# define gettext(msgid) (msgid)
#endif
#define N_(msgid) (msgid)
#endif
#if _LIBC - 0
#include <libc-lock.h>
#include <bits/libc-lock.h>
#else
#ifdef HAVE_CTHREADS_H
#include <cthreads.h>
@@ -84,11 +85,11 @@ volatile int _argp_hang = 0;
static const struct argp_option argp_default_options[] =
{
{"help", '?', 0, 0, "Give this help list", -1},
{"usage", OPT_USAGE, 0, 0, "Give a short usage message"},
{"program-name",OPT_PROGNAME,"NAME", OPTION_HIDDEN, "Set the program name"},
{"help", '?', 0, 0, N_("Give this help list"), -1},
{"usage", OPT_USAGE, 0, 0, N_("Give a short usage message")},
{"program-name",OPT_PROGNAME,"NAME", OPTION_HIDDEN, N_("Set the program name")},
{"HANG", OPT_HANG, "SECS", OPTION_ARG_OPTIONAL | OPTION_HIDDEN,
"Hang for SECS seconds (default 3600)"},
N_("Hang for SECS seconds (default 3600)")},
{0, 0}
};
@@ -145,7 +146,7 @@ static const struct argp argp_default_argp =
static const struct argp_option argp_version_options[] =
{
{"version", 'V', 0, 0, "Print program version", -1},
{"version", 'V', 0, 0, N_("Print program version"), -1},
{0, 0}
};
@@ -160,7 +161,7 @@ argp_version_parser (int key, char *arg, struct argp_state *state)
else if (argp_program_version)
fprintf (state->out_stream, "%s\n", argp_program_version);
else
__argp_error (state, _("No version known!?"));
__argp_error (state, _("(PROGRAM ERROR) No version known!?"));
if (! (state->flags & ARGP_NO_EXIT))
exit (0);
break;
@@ -526,7 +527,7 @@ parser_init (struct parser *parser, const struct argp *argp,
parser_convert (parser, argp, flags);
memset (&parser->state, 0, sizeof (struct argp_state));
parser->state.argp = parser->argp;
parser->state.root_argp = parser->argp;
parser->state.argc = argc;
parser->state.argv = argv;
parser->state.flags = flags;
@@ -548,6 +549,14 @@ parser_init (struct parser *parser, const struct argp *argp,
if (group->parent)
/* If a child parser, get the initial input value from the parent. */
group->input = group->parent->child_inputs[group->parent_index];
if (!group->parser
&& group->argp->children && group->argp->children->argp)
/* For the special case where no parsing function is supplied for an
argp, propagate its input to its first child, if any (this just
makes very simple wrapper argps more convenient). */
group->child_inputs[0] = group->input;
err = group_parse (group, &parser->state, ARGP_KEY_INIT, 0);
}
if (err == EBADKEY)
@@ -629,8 +638,8 @@ parser_finalize (struct parser *parser,
err = EBADKEY;
}
/* Okay, we're all done, with either an error or success. We only call the
parsers once more, to indicate which one. */
/* Okay, we're all done, with either an error or success; call the parsers
to indicate which one. */
if (err)
{
@@ -646,7 +655,7 @@ parser_finalize (struct parser *parser,
group_parse (group, &parser->state, ARGP_KEY_ERROR, 0);
}
else
/* Do final cleanup, including propagating back values from parsers. */
/* Notify parsers of success, and propagate back values from parsers. */
{
/* We pass over the groups in reverse order so that child groups are
given a chance to do there processing before passing back a value to
@@ -659,6 +668,10 @@ parser_finalize (struct parser *parser,
err = 0; /* Some parser didn't understand. */
}
/* Call parsers once more, to do any final cleanup. Errors are ignored. */
for (group = parser->egroup - 1; group >= parser->groups; group--)
group_parse (group, &parser->state, ARGP_KEY_FINI, 0);
if (err == EBADKEY)
err = EINVAL;
@@ -668,28 +681,55 @@ parser_finalize (struct parser *parser,
}
/* Call the user parsers to parse the non-option argument VAL, at the current
position, returning any error. */
position, returning any error. The state NEXT pointer is assumed to have
been adjusted (by getopt) to point after this argument; this function will
adjust it correctly to reflect however many args actually end up being
consumed. */
static error_t
parser_parse_arg (struct parser *parser, char *val)
{
int index = parser->state.next;
/* Save the starting value of NEXT, first adjusting it so that the arg
we're parsing is again the front of the arg vector. */
int index = --parser->state.next;
error_t err = EBADKEY;
struct group *group;
int key = 0; /* Which of ARGP_KEY_ARG[S] we used. */
/* Try to parse the argument in each parser. */
for (group = parser->groups
; group < parser->egroup && err == EBADKEY
; group++)
err = group_parse (group, &parser->state, ARGP_KEY_ARG, val);
{
parser->state.next++; /* For ARGP_KEY_ARG, consume the arg. */
key = ARGP_KEY_ARG;
err = group_parse (group, &parser->state, key, val);
if (!err)
if (parser->state.next >= index)
/* Remember that we successfully processed a non-option
argument -- but only if the user hasn't gotten tricky and set
the clock back. */
(--group)->args_processed++;
else
/* The user wants to reparse some args, give getopt another try. */
parser->try_getopt = 1;
if (err == EBADKEY)
/* This parser doesn't like ARGP_KEY_ARG; try ARGP_KEY_ARGS instead. */
{
parser->state.next--; /* For ARGP_KEY_ARGS, put back the arg. */
key = ARGP_KEY_ARGS;
err = group_parse (group, &parser->state, key, 0);
}
}
if (! err)
{
if (key == ARGP_KEY_ARGS)
/* The default for ARGP_KEY_ARGS is to assume that if NEXT isn't
changed by the user, *all* arguments should be considered
consumed. */
parser->state.next = parser->state.argc;
if (parser->state.next > index)
/* Remember that we successfully processed a non-option
argument -- but only if the user hasn't gotten tricky and set
the clock back. */
(--group)->args_processed += (parser->state.next - index);
else
/* The user wants to reparse some args, give getopt another try. */
parser->try_getopt = 1;
}
return err;
}
@@ -702,6 +742,7 @@ parser_parse_opt (struct parser *parser, int opt, char *val)
/* The group key encoded in the high bits; 0 for short opts or
group_number + 1 for long opts. */
int group_key = opt >> USER_BITS;
error_t err = EBADKEY;
if (group_key == 0)
/* A short option. By comparing OPT's position in SHORT_OPTS to the
@@ -714,16 +755,39 @@ parser_parse_opt (struct parser *parser, int opt, char *val)
if (short_index)
for (group = parser->groups; group < parser->egroup; group++)
if (group->short_end > short_index)
return group_parse (group, &parser->state, opt, optarg);
return EBADKEY; /* until otherwise asserted */
{
err = group_parse (group, &parser->state, opt, optarg);
break;
}
}
else
/* A long option. We use shifts instead of masking for extracting
the user value in order to preserve the sign. */
return
err =
group_parse (&parser->groups[group_key - 1], &parser->state,
(opt << GROUP_BITS) >> GROUP_BITS, optarg);
if (err == EBADKEY)
/* At least currently, an option not recognized is an error in the
parser, because we pre-compute which parser is supposed to deal
with each option. */
{
static const char bad_key_err[] =
N_("(PROGRAM ERROR) Option should have been recognized!?");
if (group_key == 0)
__argp_error (&parser->state, "-%c: %s", opt, _(bad_key_err));
else
{
struct option *long_opt = parser->long_opts;
while (long_opt->val != opt && long_opt->name)
long_opt++;
__argp_error (&parser->state, "--%s: %s",
long_opt->name ? long_opt->name : "???",
_(bad_key_err));
}
}
return err;
}
/* Parse the next argument in PARSER (as indicated by PARSER->state.next).
@@ -792,20 +856,20 @@ parser_parse_next (struct parser *parser, int *arg_ebadkey)
return EBADKEY;
}
else
/* A non-option arg. */
err =
parser_parse_arg (parser, parser->state.argv[parser->state.next++]);
else if (opt == KEY_ARG)
/* A non-option arg; simulate what getopt might have done. */
{
opt = KEY_ARG;
optarg = parser->state.argv[parser->state.next++];
}
if (opt == KEY_ARG)
/* A non-option argument; try each parser in turn. */
err = parser_parse_arg (parser, optarg);
else
err = parser_parse_opt (parser, opt, optarg);
if (err == EBADKEY)
{
*arg_ebadkey = (opt == KEY_END || opt == KEY_ARG);
parser->state.next--; /* Put back the unused argument. */
}
*arg_ebadkey = (opt == KEY_END || opt == KEY_ARG);
return err;
}
+18 -8
View File
@@ -18,8 +18,8 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef __ARGP_H__
#define __ARGP_H__
#ifndef _ARGP_H
#define _ARGP_H
#include <stdio.h>
#include <ctype.h>
@@ -34,6 +34,7 @@
#ifndef __error_t_defined
typedef int error_t;
#define __error_t_defined
#endif
#ifndef __P
@@ -159,6 +160,12 @@ typedef error_t (*argp_parser_t)(int key, char *arg, struct argp_state *state);
actually modify the argument (perhaps into an option), and have it
processed again. */
#define ARGP_KEY_ARG 0
/* There are remaining arguments not parsed by any parser, which may be found
starting at (STATE->argv + STATE->next). If success is returned, but
STATE->next left untouched, it's assumed that all arguments were consume,
otherwise, the parser should adjust STATE->next to reflect any arguments
consumed. */
#define ARGP_KEY_ARGS 0x1000006
/* There are no more command line arguments at all. */
#define ARGP_KEY_END 0x1000001
/* Because it's common to want to do some special processing if there aren't
@@ -171,11 +178,12 @@ typedef error_t (*argp_parser_t)(int key, char *arg, struct argp_state *state);
element of the CHILD_INPUT field, if any, in the state structure is
copied to each child's state to be the initial value of the INPUT field. */
#define ARGP_KEY_INIT 0x1000003
/* Use after all other keys, including SUCCESS & END. */
#define ARGP_KEY_FINI 0x1000007
/* Passed in when parsing has successfully been completed (even if there are
still arguments remaining). */
#define ARGP_KEY_SUCCESS 0x1000004
/* Passed in if an error occurs (in which case a call with ARGP_KEY_SUCCESS is
never made, so any cleanup must be done here). */
/* Passed in if an error occurs. */
#define ARGP_KEY_ERROR 0x1000005
/* An argp structure contains a set of options declarations, a function to
@@ -241,6 +249,7 @@ struct argp
/* Explanatory note emitted when duplicate option arguments have been
suppressed. */
#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
#define ARGP_KEY_HELP_ARGS_DOC 0x2000006 /* Argument doc string. */
/* When an argp has a non-zero CHILDREN field, it should point to a vector of
argp_child structures, each of which describes a subsidiary argp. */
@@ -272,7 +281,7 @@ struct argp_child
struct argp_state
{
/* The top level ARGP being parsed. */
__const struct argp *argp;
__const struct argp *root_argp;
/* The argument vector being parsed. May be modified. */
int argc;
@@ -394,10 +403,11 @@ extern void (*argp_program_version_hook) __P ((FILE *__stream,
argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various
standard help messages), embedded in a sentence that says something like
`Report bugs to ADDR.'. */
__const extern char *argp_program_bug_address;
extern __const char *argp_program_bug_address;
/* The exit status that argp will use when exiting due to a parsing error.
If not defined or set by the user program, this defaults to 1. */
If not defined or set by the user program, this defaults to EX_USAGE from
<sysexits.h>. */
extern error_t argp_err_exit_status;
/* Flags for argp_help. */
@@ -541,7 +551,7 @@ __option_is_end (__const struct argp_option *__opt)
# undef __option_is_short
# undef __option_is_end
#endif
#endif /* argp.h */
#endif /* __OPTIMIZE__ */
#ifdef __cplusplus
@@ -17,8 +17,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _IOCTL_TYPES_H
#define _IOCTL_TYPES_H 1
/*
* Never include this file directly; use <sys/ioctl.h> instead.
*/
#ifndef _BITS_IOCTL_TYPES_H
#define _BITS_IOCTL_TYPES_H 1
#if defined(TIOCGETC) || defined(TIOCSETC)
@@ -114,4 +118,4 @@ struct ttysize
#endif
#endif /* ioctl-types.h */
#endif /* bits/ioctl-types.h */
@@ -16,8 +16,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _MATHBITS_H
#define _MATHBITS_H 1
#ifndef _MATH_H
# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
#endif
/* Normally, there is no long double type and the `float' and `double'
expressions are evaluated as `double'. */
@@ -32,4 +34,7 @@ typedef double double_t; /* `double' expressions are evaluated as
/* Define `INFINITY' as value of type `float_t'. */
#define INFINITY HUGE_VAL
#endif /* mathbits.h */
/* The values returned by `ilogb' for 0 and NaN respectively. */
#define FP_ILOGB0 0x80000001
#define FP_ILOGBNAN 0x7fffffff
+35
View File
@@ -0,0 +1,35 @@
/* Definitions of constants and data structure for POSIX 1003.1b-1993
scheduling interface.
Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 59 Temple Place
Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _SCHED_H
#error "Never use <bits/sched.h> directly; include <sched.h> instead."
#endif
/* Scheduling algorithms. */
#define SCHED_OTHER 0
#define SCHED_FIFO 1
#define SCHED_RR 2
/* Data structure to describe a process' schedulability. */
struct sched_param
{
int sched_priority;
};
@@ -16,8 +16,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SELECTBITS_H
#define _SELECTBITS_H 1
#ifndef _SYS_SELECT_H
#error "Never use <bits/select.h> directly; include <sys/select.h> instead."
#endif
/* This line MUST be split! Otherwise m4 will not change it. */
#define __FD_ZERO(set) \
@@ -25,5 +27,3 @@
#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
#define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
#endif /* selectbits.h */
@@ -17,8 +17,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SOCKADDRCOM_H
#define _SOCKADDRCOM_H 1
/*
* Never include this file directly; use <sys/socket.h> instead.
*/
#ifndef _BITS_SOCKADDR_H
#define _BITS_SOCKADDR_H 1
/* POSIX.1g specifies this type name for the `sa_family' member. */
@@ -34,4 +38,4 @@ typedef unsigned short int sa_family_t;
#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int))
#endif /* sockaddrcom.h */
#endif /* bits/sockaddr.h */
@@ -17,9 +17,11 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SOCKETBITS_H
#ifndef _SYS_SOCKET_H
#error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
#endif
#define _SOCKETBITS_H 1
#include <features.h>
__BEGIN_DECLS
@@ -114,7 +116,7 @@ enum __socket_type
/* Get the definition of the macro to define the common sockaddr members. */
#include <sockaddrcom.h>
#include <bits/sockaddr.h>
/* Structure describing a generic socket address. */
struct sockaddr
@@ -196,5 +198,3 @@ struct linger
};
__END_DECLS
#endif /* socketbits.h */
+52
View File
@@ -0,0 +1,52 @@
/* Definition of `struct statfs', information about a filesystem.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/*
* Never include this file directly; use <sys/statfs.h> instead.
*/
#ifndef _BITS_STATFS_H
#define _BITS_STATFS_H 1
#include <bits/types.h>
/* GNU Hurd NOTE: The size of this structure (16 ints) is known in
<hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC. MiG
does not cope at all well with the passed C structure not being of the
expected size. There are some filler words at the end to allow for
future expansion. To increase the size of the structure used in the RPC
and retain binary compatibility, we would need to assign a new message
number. */
struct statfs
{
unsigned int f_type;
unsigned int f_bsize;
unsigned int f_blocks;
unsigned int f_bfree;
unsigned int f_bavail;
unsigned int f_files;
unsigned int f_ffree;
__fsid_t f_fsid;
unsigned int f_namelen;
unsigned int f_spare[6];
};
#endif /* bits/statfs.h */
@@ -17,8 +17,9 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* These macros are also defined in some ioctls.h files (with numerically
identical values), but this serves to shut up cpp's complaining. */
/* These macros are also defined in some <bits/ioctls.h> files (with
numerically identical values), but this serves to shut up cpp's
complaining. */
#ifdef __USE_BSD
#ifdef MDMBUF
+16 -3
View File
@@ -16,9 +16,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _GNU_TYPES_H
/*
* Never include this file directly; use <sys/types.h> instead.
*/
#define _GNU_TYPES_H 1
#ifndef _BITS_TYPES_H
#define _BITS_TYPES_H 1
/* Convenience types. */
@@ -39,6 +42,16 @@ typedef struct
__u_long __val[2];
} __u_quad_t;
#endif
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
#ifdef __GNUC__
typedef signed long long int __int64_t;
typedef unsigned long long int __uint64_t;
#endif
typedef __quad_t *__qaddr_t;
typedef int __dev_t; /* Type of device numbers. */
typedef unsigned int __uid_t; /* Type of user identifications. */
@@ -78,4 +91,4 @@ typedef struct
typedef unsigned long int __fd_mask;
#endif /* gnu/types.h */
#endif /* bits/types.h */
+32
View File
@@ -0,0 +1,32 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SYS_UIO_H
#error "Never use <bits/uio.h> directly; include <sys/uio.h> instead."
#endif
/* `struct iovec' -- Structure describing a section of memory. */
struct iovec
{
/* Starting address. */
__ptr_t iov_base;
/* Length in bytes. */
size_t iov_len;
};
+5 -5
View File
@@ -1,5 +1,5 @@
/* The `struct utmp' type, describing entries in the utmp file. Generic/BSDish
Copyright (C) 1993, 1996 Free Software Foundation, Inc.
Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -16,9 +16,11 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _UTMPBITS_H
#ifndef _UTMP_H
#error "Never use <bits/utmp.h> directly; include <utmp.h> instead."
#endif
#define _UTMPBITS_H 1
#include <features.h>
#include <paths.h>
@@ -49,5 +51,3 @@ struct utmp {
__END_DECLS
#endif /* utmpbits.h */
@@ -1,5 +1,5 @@
/* Definitions of status bits for `wait' et al.
Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc.
Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,10 +17,13 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SYS_WAIT_H
#error "Never use <bits/waitstatus.h> directly; include <sys/wait.h> instead."
#endif
/* Everything extant so far uses these same bits. */
#ifndef _WAITSTATUS_H
#define _WAITSTATUS_H
/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
@@ -99,6 +102,3 @@ union wait
#define w_stopval __wait_stopped.__w_stopval
#endif /* Use BSD. */
#endif /* waitstatus.h */
+1
View File
@@ -18,6 +18,7 @@
#ifndef _NL_TYPES_H
#define _NL_TYPES_H 1
#include <features.h>
/* The default message set used by the gencat program. */
+50 -26
View File
@@ -168,6 +168,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
@@ -427,33 +430,33 @@ EOF
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,-.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
echo "powerpc-unknown-linux-gnu" ; exit 0
elif test "${UNAME_MACHINE}" = "alpha" ; then
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
s/.*supported emulations: *//
s/ .*//
p'`
case "$ld_supported_emulations" in
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
echo alpha-unknown-linux-gnu ; exit 0
elif test "${UNAME_MACHINE}" = "sparc" ; then
echo sparc-unknown-linux-gnu ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
int argc;
char *argv[];
{
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
@@ -467,20 +470,41 @@ EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us
# useful --help. Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout.
test ! -d /usr/lib/ldscripts/. \
&& echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
# If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
VENDOR=pc;
;;
*)
VENDOR=unknown;
;;
esac
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
int argc;
char *argv[];
{
#ifdef __ELF__
printf ("%s-pc-linux-gnu\n", argv[1]);
# ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
#else
printf ("%s-pc-linux-gnuaout\n", argv[1]);
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
+3
View File
@@ -46,6 +46,9 @@
/* Define if versioning of the library is wanted. */
#undef DO_VERSIONING
/* Define if static NSS modules are wanted. */
#undef DO_STATIC_NSS
/*
*/
+1
View File
@@ -40,6 +40,7 @@ build-shared = @shared@
build-profile = @profile@
build-omitfp = @omitfp@
build-bounded = @bounded@
build-static-nss = @static_nss@
stdio = @stdio@
add-ons = @subdirs@
cross-compiling = @cross_compiling@
Vendored
+4 -4
View File
@@ -391,11 +391,11 @@ case $basic_machine in
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux
os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux
os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
@@ -585,7 +585,7 @@ case $basic_machine in
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
@@ -615,7 +615,7 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux ]; then
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
Vendored
+103 -89
View File
@@ -1,6 +1,10 @@
#! /bin/sh
# From configure.in CVSid
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
@@ -41,6 +45,8 @@ ac_help="$ac_help
--enable-bounded build with runtime bounds checking [default=no]"
ac_help="$ac_help
--enable-add-ons=DIR... configure and build named extra directories"
ac_help="$ac_help
--enable-static-nss build static NSS modules [default=no]"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -480,7 +486,7 @@ echo > confdefs.h
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=features.h
ac_unique_file=include/features.h
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
@@ -723,6 +729,21 @@ if test x"$add_ons" != x; then
done
fi
# Check whether --enable-static-nss or --disable-static-nss was given.
if test "${enable_static_nss+set}" = set; then
enableval="$enable_static_nss"
static_nss=$enableval
else
static_nss=no
fi
if test x"$static_nss" = xyes; then
cat >> confdefs.h <<\EOF
#define DO_STATIC_NSS 1
EOF
fi
# Make sure we can run config.sub.
if $ac_config_sub sun4 >/dev/null 2>&1; then :
@@ -730,7 +751,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
echo "configure:734: checking host system type" >&5
echo "configure:755: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -812,7 +833,7 @@ esac
# This can take a while to compute.
sysdep_dir=$srcdir/sysdeps
echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
echo "configure:816: checking sysdep dirs" >&5
echo "configure:837: checking sysdep dirs" >&5
# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
@@ -994,10 +1015,10 @@ while test $# -gt 0; do
done
# Add the default directories.
sysnames="$names sysdeps/generic sysdeps/stub"
sysnames="$names sysdeps/generic sysdeps/stub include"
# The other names were emitted during the scan.
echo "$ac_t""sysdeps/generic sysdeps/stub" 1>&6
echo "$ac_t""sysdeps/generic sysdeps/stub include" 1>&6
### Locate tools.
@@ -1013,7 +1034,7 @@ echo "$ac_t""sysdeps/generic sysdeps/stub" 1>&6
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:1017: checking for a BSD compatible install" >&5
echo "configure:1038: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1067,7 +1088,7 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
INSTALL='$(..)./install-sh -c'
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
echo "configure:1071: checking whether ln -s works" >&5
echo "configure:1092: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1092,7 +1113,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1096: checking for $ac_word" >&5
echo "configure:1117: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1125,7 +1146,7 @@ test -n "$MSGFMT" || MSGFMT=":"
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1129: checking for $ac_word" >&5
echo "configure:1150: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1154,7 +1175,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1158: checking for $ac_word" >&5
echo "configure:1179: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1202,7 +1223,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
echo "configure:1206: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
echo "configure:1227: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1212,11 +1233,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
#line 1216 "configure"
#line 1237 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
if { (eval echo configure:1220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1233,15 +1254,19 @@ rm -fr conftest*
echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
cross_linkable=no
ac_cv_prog_cc_cross=yes
else
cross_linkable=yes
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
echo "configure:1240: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "configure:1264: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
echo "configure:1245: checking whether we are using GNU C" >&5
echo "configure:1270: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1250,7 +1275,7 @@ else
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1261,39 +1286,25 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
GCC=yes
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
echo "configure:1269: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
ac_cv_prog_cc_g=yes
else
ac_cv_prog_cc_g=no
fi
rm -f conftest*
fi
echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
cat > conftest.c <<EOF
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
if test -z "$CFLAGS"; then
CFLAGS="-g -O2"
fi
else
CFLAGS="-O2"
{ echo "configure: error: We require GNU CC version 2.7 or newer" 1>&2; exit 1; }
fi
else
GCC=
test "${CFLAGS+set}" = set || CFLAGS="-g"
{ echo "configure: error: GNU libc must be compiled using GNU CC" 1>&2; exit 1; }
fi
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:1297: checking build system type" >&5
echo "configure:1308: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -1316,7 +1327,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1320: checking for $ac_word" >&5
echo "configure:1331: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1347,7 +1358,7 @@ done
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
echo "configure:1351: checking how to run the C preprocessor" >&5
echo "configure:1362: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1362,13 +1373,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 1366 "configure"
#line 1377 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1379,13 +1390,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 1383 "configure"
#line 1394 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1416,7 +1427,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1420: checking for $ac_word" >&5
echo "configure:1431: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1447,7 +1458,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1451: checking for $ac_word" >&5
echo "configure:1462: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1478,7 +1489,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1482: checking for $ac_word" >&5
echo "configure:1493: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1513,7 +1524,7 @@ fi
# Extract the first word of "bash", so it can be a program name with args.
set dummy bash; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1517: checking for $ac_word" >&5
echo "configure:1528: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1554,7 +1565,7 @@ if test "$BASH" = no; then
# Extract the first word of "ksh", so it can be a program name with args.
set dummy ksh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1558: checking for $ac_word" >&5
echo "configure:1569: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1596,7 +1607,7 @@ fi
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
echo "configure:1600: checking for signed size_t type" >&5
echo "configure:1611: checking for signed size_t type" >&5
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1620,12 +1631,12 @@ EOF
fi
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
echo "configure:1624: checking for libc-friendly stddef.h" >&5
echo "configure:1635: checking for libc-friendly stddef.h" >&5
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1629 "configure"
#line 1640 "configure"
#include "confdefs.h"
#define __need_size_t
#define __need_wchar_t
@@ -1640,7 +1651,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort ();
; return 0; }
EOF
if { (eval echo configure:1644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_friendly_stddef=yes
else
@@ -1659,7 +1670,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
fi
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
echo "configure:1663: checking whether we need to use -P to assemble .S files" >&5
echo "configure:1674: checking whether we need to use -P to assemble .S files" >&5
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1682,7 +1693,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
echo "configure:1686: checking for assembler global-symbol directive" >&5
echo "configure:1697: checking for assembler global-symbol directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1712,7 +1723,7 @@ EOF
fi
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
echo "configure:1716: checking for .set assembler directive" >&5
echo "configure:1727: checking for .set assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1746,7 +1757,7 @@ EOF
fi
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
echo "configure:1750: checking for .symver assembler directive" >&5
echo "configure:1761: checking for .symver assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1765,7 +1776,7 @@ fi
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
echo "configure:1769: checking for ld --version-script" >&5
echo "configure:1780: checking for ld --version-script" >&5
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1782,7 +1793,7 @@ VERS {
EOF
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&5 2>&5; then
if { ac_try='${CC-cc} $CFLAGS --shared -o conftest.so conftest.o
-Wl,--version-script,conftest.map'; { (eval echo configure:1786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
-Wl,--version-script,conftest.map'; { (eval echo configure:1797: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
then
libc_cv_ld_version_script_option=yes
else
@@ -1812,7 +1823,7 @@ fi
if test $elf = yes; then
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
echo "configure:1816: checking for .previous assembler directive" >&5
echo "configure:1827: checking for .previous assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1820,7 +1831,7 @@ else
.section foo_section
.previous
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1835: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_previous_directive=yes
else
libc_cv_asm_previous_directive=no
@@ -1836,7 +1847,7 @@ EOF
else
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
echo "configure:1840: checking for .popsection assembler directive" >&5
echo "configure:1851: checking for .popsection assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1844,7 +1855,7 @@ else
.pushsection foo_section
.popsection
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_popsection_directive=yes
else
libc_cv_asm_popsection_directive=no
@@ -1864,12 +1875,12 @@ fi
if test $elf != yes; then
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
echo "configure:1868: checking for .init and .fini sections" >&5
echo "configure:1879: checking for .init and .fini sections" >&5
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1873 "configure"
#line 1884 "configure"
#include "confdefs.h"
int main() {
@@ -1878,7 +1889,7 @@ asm (".section .init");
asm (".text");
; return 0; }
EOF
if { (eval echo configure:1882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1893: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_have_initfini=yes
else
@@ -1903,19 +1914,19 @@ if test $elf = yes; then
libc_cv_asm_underscores=no
else
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
echo "configure:1907: checking for _ prefix on C symbol names" >&5
echo "configure:1918: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1912 "configure"
#line 1923 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() {
glibc_foobar ();
; return 0; }
EOF
if { (eval echo configure:1919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
libc_cv_asm_underscores=yes
else
@@ -1942,7 +1953,7 @@ if test $elf = yes; then
libc_cv_asm_weakext_directive=no
else
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
echo "configure:1946: checking for assembler .weak directive" >&5
echo "configure:1957: checking for assembler .weak directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1965,7 +1976,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
if test $libc_cv_asm_weak_directive = no; then
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
echo "configure:1969: checking for assembler .weakext directive" >&5
echo "configure:1980: checking for assembler .weakext directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2002,7 +2013,7 @@ EOF
fi
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
echo "configure:2006: checking for ld --no-whole-archive" >&5
echo "configure:2017: checking for ld --no-whole-archive" >&5
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2013,7 +2024,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -Wl,--no-whole-archive
-o conftest conftest.c'; { (eval echo configure:2017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-o conftest conftest.c'; { (eval echo configure:2028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_ld_no_whole_archive=yes
else
libc_cv_ld_no_whole_archive=no
@@ -2024,7 +2035,7 @@ fi
echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
echo "configure:2028: checking for gcc -fno-exceptions" >&5
echo "configure:2039: checking for gcc -fno-exceptions" >&5
if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2035,7 +2046,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -fno-exceptions
-o conftest conftest.c'; { (eval echo configure:2039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-o conftest conftest.c'; { (eval echo configure:2050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_no_exceptions=yes
else
libc_cv_gcc_no_exceptions=no
@@ -2066,10 +2077,10 @@ for dir in $sysnames; do
fi
if test -z "$uname"; then
if test -r $sysdep_dir/$dir/uname.c ||
test -r $sysdep_dir/$dir/uname.S ||
{ test -r $sysdep_dir/$dir/syscalls.list &&
grep '^uname[ ]' $sysdep_dir/$dir/syscalls.list >/dev/null; }; then
if test -r $dest/uname.c ||
test -r $dest/uname.S ||
{ test -r $dest/syscalls.list &&
grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
uname=$dir
fi
fi
@@ -2079,7 +2090,7 @@ done
# If we will use the generic uname implementation, we must figure out what
# it will say by examining the system, and write the results in config-name.h.
if test "$uname" = generic; then
if test "$uname" = "sysdeps/generic"; then
uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
if test $uname_sysname != $config_os; then
@@ -2087,7 +2098,7 @@ if test "$uname" = generic; then
fi
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
echo "configure:2091: checking OS release for uname" >&5
echo "configure:2102: checking OS release for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2109,7 +2120,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
uname_release="$libc_cv_uname_release"
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
echo "configure:2113: checking OS version for uname" >&5
echo "configure:2124: checking OS version for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2131,7 +2142,7 @@ else
fi
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
echo "configure:2135: checking stdio selection" >&5
echo "configure:2146: checking stdio selection" >&5
case $stdio in
libio) cat >> confdefs.h <<\EOF
@@ -2184,6 +2195,7 @@ fi
if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
config_makefile=
else
@@ -2337,6 +2349,7 @@ s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@LN_S@%$LN_S%g
s%@MSGFMT@%$MSGFMT%g
s%@CC@%$CC%g
s%@cross_linkable@%$cross_linkable%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
@@ -2370,6 +2383,7 @@ s%@shared@%$shared%g
s%@profile@%$profile%g
s%@omitfp@%$omitfp%g
s%@bounded@%$bounded%g
s%@static_nss@%$static_nss%g
s%@DEFINES@%$DEFINES%g
s%@VERSION@%$VERSION%g
@@ -2626,7 +2640,7 @@ while test -n "$ac_sources"; do
done
EOF
cat >> $CONFIG_STATUS <<EOF
echo '$config_vars' >> config.make
echo '$config_vars' >> config.make; test -d bits || mkdir bits
EOF
cat >> $CONFIG_STATUS <<\EOF
+20 -10
View File
@@ -1,7 +1,7 @@
Dnl Process this file with autoconf to produce a configure script.
AC_REVISION([$CVSid$])
AC_PREREQ(2.11)dnl dnl Minimum Autoconf version required.
AC_INIT(features.h)
AC_INIT(include/features.h)
AC_CONFIG_HEADER(config.h)
# This will get text that should go into config.make.
@@ -92,6 +92,15 @@ if test x"$add_ons" != x; then
done
fi
dnl On some platforms we cannot use dynamic loading. We must provide
dnl static NSS modules.
AC_ARG_ENABLE(static-nss, dnl
[ --enable-static-nss build static NSS modules [default=no]],
static_nss=$enableval, static_nss=no)
if test x"$static_nss" = xyes; then
AC_DEFINE(DO_STATIC_NSS)
fi
AC_CANONICAL_HOST
# The way shlib-versions is used to generate soversions.mk uses a
@@ -345,10 +354,10 @@ changequote([,])dnl
done
# Add the default directories.
sysnames="$names sysdeps/generic sysdeps/stub"
sysnames="$names sysdeps/generic sysdeps/stub include"
AC_SUBST(sysnames)
# The other names were emitted during the scan.
AC_MSG_RESULT(sysdeps/generic sysdeps/stub)
AC_MSG_RESULT(sysdeps/generic sysdeps/stub include)
### Locate tools.
@@ -361,7 +370,7 @@ fi
AC_PROG_LN_S
AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
AC_PROG_CC
AC_PROG_CC_LOCAL
AC_CANONICAL_BUILD
if test $host != $build; then
AC_CHECK_PROGS(BUILD_CC, gcc cc)
@@ -703,10 +712,10 @@ for dir in $sysnames; do
fi
[
if test -z "$uname"; then
if test -r $sysdep_dir/$dir/uname.c ||
test -r $sysdep_dir/$dir/uname.S ||
{ test -r $sysdep_dir/$dir/syscalls.list &&
grep '^uname[ ]' $sysdep_dir/$dir/syscalls.list >/dev/null; }; then
if test -r $dest/uname.c ||
test -r $dest/uname.S ||
{ test -r $dest/syscalls.list &&
grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
uname=$dir
fi
fi
@@ -717,7 +726,7 @@ AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`)
# If we will use the generic uname implementation, we must figure out what
# it will say by examining the system, and write the results in config-name.h.
if test "$uname" = generic; then
if test "$uname" = "sysdeps/generic"; then
changequote(,)dnl
uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
@@ -811,6 +820,7 @@ fi
AC_SUBST(profile)
AC_SUBST(omitfp)
AC_SUBST(bounded)
AC_SUBST(static_nss)
AC_SUBST(DEFINES)
@@ -823,5 +833,5 @@ fi
VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h`
AC_SUBST(VERSION)
AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, ,
[echo '$config_vars' >> config.make; test -d bits || mkdir bits])
[echo '$config_vars' >> config.make])
+7 -3
View File
@@ -59,11 +59,11 @@ omit-deps += $(crtstuff)
# Special rules for the building of crti.o and crtn.o
$(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h
$(CC) -c -fPIC -g0 -I$(..) -I$(common-objpfx) -DASSEMBLER $< -o $@
$(compile.S) -fPIC -g0 -o $@
$(objpfx)initfini.s: initfini.c
$(CC) $(CPPFLAGS) $(CFLAGS) -g0 -S -fPIC -finhibit-size-directive \
$(no-exceptions) $< -o $@
$(compile.c) -g0 -S -fPIC -finhibit-size-directive \
$(no-exceptions) -o $@
$(objpfx)crti.S: $(objpfx)initfini.s
sed -n -e '1,/@HEADER_ENDS/p' \
@@ -81,6 +81,10 @@ $(objpfx)defs.h: $(objpfx)initfini.s
endif
ifeq (yes,$(elf))
extra-objs += abi-note.o
endif
include ../Rules
define link-relocatable
+3 -3
View File
@@ -32,18 +32,18 @@
#define ELF_NOTE_BEGIN(sectname, sectflags, type, name) \
.section sectname, sectflags; \
.align ALIGNARG(2); /* Notes are 4-byte aligned. */ \
.align 4; /* Notes are 4-byte aligned. */ \
.long 1f - 0f; /* 32-bit word: length of name field */ \
.long 3f - 2f; /* 32-bit word: length of desc field */ \
.long (type); /* 32-bit word: vendor-defined type field */ \
0: .asciz name; /* null-terminated string, any length: name */\
1: .align ALIGNARG(2); /* Name data padded to 4-byte alignment. */ \
1: .align 4; /* Name data padded to 4-byte alignment. */ \
2: /* Here follows the "note descriptor" data, whose format \
is not specified by ELF. The vendor name and type field \
indicate what sort of data is found here. */
#define ELF_NOTE_END \
3: .align ALIGNARG(2) /* Pad to 4-byte align the next note. */
3: .align 4 /* Pad to 4-byte align the next note. */
/* The linker (GNU ld 2.8 and later) recognize an allocated section whose
+5 -5
View File
@@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */
#include <ctype.h>
#include "../locale/localeinfo.h"
#include <locale/localeinfo.h>
/* Defined in locale/C-ctype.c. */
extern const char _nl_C_LC_CTYPE_class[];
@@ -30,8 +30,8 @@ extern const char _nl_C_LC_CTYPE_width[];
#define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o);
const unsigned short int *__ctype_b = b (unsigned short int, class, 128);
const unsigned int *__ctype32_b = b (unsigned int, class32, 0);
const int *__ctype_tolower = b (int, tolower, 128);
const int *__ctype_toupper = b (int, toupper, 128);
const unsigned int *__ctype_names = b (unsigned int, names, 0);
const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0);
const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128);
const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128);
const __uint32_t *__ctype_names = b (__uint32_t, names, 0);
const unsigned char *__ctype_width = b (unsigned char, width, 0);
+4 -3
View File
@@ -21,9 +21,10 @@
*/
#ifndef _CTYPE_H
#define _CTYPE_H 1
#include <features.h>
#include <gnu/types.h>
__BEGIN_DECLS
@@ -72,8 +73,8 @@ enum
doesn't fit into an `unsigned char'. But today more important is that
the arrays are also used for multi-byte character sets. */
extern __const unsigned short int *__ctype_b; /* Characteristics. */
extern __const int *__ctype_tolower; /* Case conversions. */
extern __const int *__ctype_toupper; /* Case conversions. */
extern __const __int32_t *__ctype_tolower; /* Case conversions. */
extern __const __int32_t *__ctype_toupper; /* Case conversions. */
#define __isctype(c, type) \
(__ctype_b[(int) (c)] & (unsigned short int) type)
+6
View File
@@ -19,6 +19,7 @@ libdb-routines := bt_close bt_conv bt_debug bt_delete bt_get \
mpool \
rec_close rec_delete rec_get rec_open rec_put rec_search \
rec_seq rec_utils
libdb-map := libdb.map
headers := db.h mpool.h ndbm.h
distribute := compat.h \
@@ -45,3 +46,8 @@ $(objpfx)makedb: $(objpfx)libdb.so$(libdb.so-version)
else
$(objpfx)makedb: $(objpfx)libdb.a
endif
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
# This ensures they will load libc.so for needed symbols if loaded by
# a statically-linked program that hasn't already loaded it.
$(objpfx)libdb.so: $(common-objpfx)libc.so
+2
View File
@@ -259,7 +259,9 @@ __bt_open(fname, flags, mode, openinfo, dflags)
* Don't overflow the page offset type.
*/
if (b.psize == 0) {
#ifdef _STATBUF_ST_BLKSIZE
b.psize = sb.st_blksize;
#endif
if (b.psize < MINPSIZE)
b.psize = MINPSIZE;
if (b.psize > MAX_PAGE_OFFSET + 1)
+4 -3
View File
@@ -33,8 +33,8 @@
* @(#)db.h 8.7 (Berkeley) 6/16/94
*/
#ifndef _DB_H_
#define _DB_H_
#ifndef _DB_H
#define _DB_H 1
#include <sys/types.h>
#include <sys/cdefs.h>
@@ -234,4 +234,5 @@ DB *__rec_open __P((const char *, int, int, const RECNOINFO *, int));
void __dbpanic __P((DB *dbp));
#endif
__END_DECLS
#endif /* !_DB_H_ */
#endif /* db.h */
+1 -1
View File
@@ -52,7 +52,7 @@ void __free_ovflpage __P((HTAB *, BUFHEAD *));
BUFHEAD *__get_buf __P((HTAB *, u_int32_t, BUFHEAD *, int));
int __get_page __P((HTAB *, char *, u_int32_t, int, int, int));
int __ibitmap __P((HTAB *, int, int, int));
u_int32_t __log2 __P((u_int32_t));
u_int32_t __hash_log2 __P((u_int32_t));
int __put_page __P((HTAB *, char *, u_int32_t, int, int));
void __reclaim_buf __P((HTAB *, BUFHEAD *));
int __split_page __P((HTAB *, u_int32_t, u_int32_t));
+5 -5
View File
@@ -303,13 +303,13 @@ init_hash(hashp, file, info)
if (stat(file, &statbuf))
return (NULL);
hashp->BSIZE = statbuf.st_blksize;
hashp->BSHIFT = __log2(hashp->BSIZE);
hashp->BSHIFT = __hash_log2(hashp->BSIZE);
}
if (info) {
if (info->bsize) {
/* Round pagesize up to power of 2 */
hashp->BSHIFT = __log2(info->bsize);
hashp->BSHIFT = __hash_log2(info->bsize);
hashp->BSIZE = 1 << hashp->BSHIFT;
if (hashp->BSIZE > MAX_BSIZE) {
errno = EINVAL;
@@ -358,7 +358,7 @@ init_htab(hashp, nelem)
*/
nelem = (nelem - 1) / hashp->FFACTOR + 1;
l2 = __log2(MAX(nelem, 2));
l2 = __hash_log2(MAX(nelem, 2));
nbuckets = 1 << l2;
hashp->SPARES[l2] = l2 + 1;
@@ -376,7 +376,7 @@ init_htab(hashp, nelem)
hashp->BSHIFT) + 1;
nsegs = (nbuckets - 1) / hashp->SGSIZE + 1;
nsegs = 1 << __log2(nsegs);
nsegs = 1 << __hash_log2(nsegs);
if (nsegs > hashp->DSIZE)
hashp->DSIZE = nsegs;
@@ -843,7 +843,7 @@ __expand_table(hashp)
* * increases), we need to copy the current contents of the spare
* split bucket to the next bucket.
*/
spare_ndx = __log2(hashp->MAX_BUCKET + 1);
spare_ndx = __hash_log2(hashp->MAX_BUCKET + 1);
if (spare_ndx > hashp->OVFL_POINT) {
hashp->SPARES[spare_ndx] = hashp->SPARES[hashp->OVFL_POINT];
hashp->OVFL_POINT = spare_ndx;
+1 -1
View File
@@ -170,7 +170,7 @@ typedef struct htab { /* Memory resident data structure */
#define OADDR_OF(S,O) ((u_int32_t)((u_int32_t)(S) << SPLITSHIFT) + (O))
#define BUCKET_TO_PAGE(B) \
(B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__log2((B)+1)-1] : 0)
(B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__hash_log2((B)+1)-1] : 0)
#define OADDR_TO_PAGE(B) \
BUCKET_TO_PAGE ( (1 << SPLITNUM((B))) -1 ) + OPAGENUM((B));
+2 -2
View File
@@ -42,10 +42,10 @@ static char sccsid[] = "@(#)hash_log2.c 8.2 (Berkeley) 5/31/94";
#include <db.h>
u_int32_t __log2 __P((u_int32_t));
u_int32_t __hash_log2 __P((u_int32_t));
u_int32_t
__log2(num)
__hash_log2(num)
u_int32_t num;
{
register u_int32_t i, limit;
+12
View File
@@ -0,0 +1,12 @@
GLIBC_2.0 {
global:
# the real DB entry point.
dbopen; __dbopen;
# The compatibility functions.
dbm_clearerr; dbm_close; dbm_delete; dbm_dirfno; dbm_error;
dbm_fetch; dbm_firstkey; dbm_nextkey; dbm_open; dbm_store;
local:
*;
};
+5
View File
@@ -33,6 +33,9 @@
* @(#)mpool.h 8.2 (Berkeley) 7/14/94
*/
#ifndef _MPOOL_H
#define _MPOOL_H 1
#include <sys/queue.h>
/*
@@ -105,3 +108,5 @@ int mpool_close __P((MPOOL *));
void mpool_stat __P((MPOOL *));
#endif
__END_DECLS
#endif /* mpool.h */
+3 -3
View File
@@ -36,8 +36,8 @@
* @(#)ndbm.h 8.1 (Berkeley) 6/2/93
*/
#ifndef _NDBM_H_
#define _NDBM_H_
#ifndef _NDBM_H
#define _NDBM_H 1
#include <db.h>
@@ -76,4 +76,4 @@ int dbm_error __P((DBM *));
int dbm_clearerr __P((DBM *));
__END_DECLS
#endif /* !_NDBM_H_ */
#endif /* ndbm.h */
+2 -2
View File
@@ -21,9 +21,9 @@
#
subdir := dirent
headers := dirent.h direntry.h
headers := dirent.h bits/dirent.h
routines := opendir closedir readdir readdir_r rewinddir \
seekdir telldir scandir alphasort \
seekdir telldir scandir alphasort versionsort \
getdents dirfd
distribute := dirstream.h
+9 -5
View File
@@ -21,13 +21,13 @@
*/
#ifndef _DIRENT_H
#define _DIRENT_H 1
#include <features.h>
__BEGIN_DECLS
#include <gnu/types.h>
#include <bits/types.h>
/* This file defines `struct dirent'.
@@ -44,7 +44,7 @@ __BEGIN_DECLS
member that gives the type of the file.
*/
#include <direntry.h>
#include <bits/dirent.h>
#if (defined __USE_BSD || defined __USE_MISC) && !defined d_fileno
# define d_ino d_fileno /* Backward compatibility. */
@@ -142,7 +142,7 @@ extern int dirfd __P ((DIR *__dirp));
# ifndef MAXNAMLEN
/* Get the definitions of the POSIX.1 limits. */
# include <posix1_lim.h>
# include <bits/posix1_lim.h>
/* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */
# ifdef NAME_MAX
@@ -152,7 +152,7 @@ extern int dirfd __P ((DIR *__dirp));
# endif
# endif
# include <gnu/types.h>
# include <bits/types.h>
# define __need_size_t
# include <stddef.h>
@@ -175,6 +175,10 @@ extern int scandir __P ((__const char *__dir,
/* Function to compare two `struct dirent's alphabetically. */
extern int alphasort __P ((__const __ptr_t, __const __ptr_t));
# ifdef __USE_GNU
/* Function to compare two `struct dirent's by name & version. */
extern int versionsort __P ((__const __ptr_t, __const __ptr_t));
#endif
/* Read directory entries from FD into BUF, reading at most NBYTES.
Reading starts at offset *BASEP, and *BASEP is updated with the new
+27
View File
@@ -0,0 +1,27 @@
/* Copyright (C) 1992, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <dirent.h>
#include <string.h>
int
versionsort (const void *a, const void *b)
{
return strverscmp ((*(const struct dirent **) a)->d_name,
(*(const struct dirent **) b)->d_name);
}
+4 -3
View File
@@ -20,14 +20,14 @@
subdir := elf
headers = elf.h elfclass.h link.h dlfcn.h
headers = elf.h bits/elfclass.h link.h dlfcn.h
routines = $(dl-routines) dl-open dl-close dl-symbol dl-support \
dl-version enbl-secure
# The core dynamic linking functions are in libc for the static and
# profiled libraries.
dl-routines = $(addprefix dl-,load cache lookup object reloc deps \
runtime error init fini debug)
runtime error init fini debug misc)
# But they are absent from the shared libc, because that code is in ld.so.
elide-routines.so = $(dl-routines) dl-support enbl-secure
@@ -35,11 +35,12 @@ elide-routines.so = $(dl-routines) dl-support enbl-secure
# interpreter and operating independent of libc.
rtld-routines := rtld $(dl-routines) dl-sysdep dl-minimal
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c
dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c
extra-libs = libdl
extra-libs-others = $(extra-libs)
libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr
libdl-map := libdl.map
before-compile = $(objpfx)trusted-dirs.h
+40 -20
View File
@@ -17,6 +17,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <alloca.h>
#include <stddef.h>
#include <link.h>
#include <assert.h>
@@ -24,10 +25,14 @@
#include "dl-hash.h"
#include <dl-machine.h>
#include "../stdio-common/_itoa.h"
#include <stdio-common/_itoa.h>
#define VERSTAG(tag) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (tag))
/* We need this string more than once. */
static const char undefined_msg[] = "undefined symbol: ";
struct sym_val
{
ElfW(Addr) a;
@@ -78,6 +83,11 @@ do_lookup (const char *undef_name, unsigned long int hash,
if (skip != NULL && map == skip)
continue;
/* Skip objects that could not be opened, which can occur in trace
mode. */
if (map->l_opencount == 0)
continue;
/* Don't search the executable when resolving a copy reloc. */
if (elf_machine_lookup_noexec_p (reloc_type) &&
map->l_type == lt_executable)
@@ -104,16 +114,10 @@ do_lookup (const char *undef_name, unsigned long int hash,
&& sym->st_shndx == SHN_UNDEF))
continue;
switch (ELFW(ST_TYPE) (sym->st_info))
{
case STT_NOTYPE:
case STT_FUNC:
case STT_OBJECT:
break;
default:
/* Not a code/data definition. */
continue;
}
if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC)
/* Ignore all but STT_NOTYPE, STT_OBJECT and STT_FUNC entries
since these are no code/data definitions. */
continue;
if (sym != ref && strcmp (strtab + sym->st_name, undef_name))
/* Not the symbol we are looking for. */
@@ -128,7 +132,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
if (verstab != NULL)
{
ElfW(Half) ndx = verstab[symidx] & 0x7fff;
if (map->l_versions[ndx].hash != 0)
if (ndx > 2) /* map->l_versions[ndx].hash != 0) */
continue;
}
}
@@ -142,7 +146,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
symbol must not simply disappear. */
if (version->filename != NULL
&& _dl_name_match_p (version->filename, map))
return -1;
return -2;
/* Otherwise we accept the symbol. */
}
else
@@ -176,11 +180,14 @@ do_lookup (const char *undef_name, unsigned long int hash,
/* Local symbols are ignored. */
break;
}
/* There cannot be another entry for this symbol so stop here. */
break;
}
/* If this current is the one mentioned in the verneed entry it
is a bug. */
if (version != NULL && version->filename != NULL
/* If this current map is the one mentioned in the verneed entry
and we have not found a weak entry, it is a bug. */
if (symidx == STN_UNDEF && version != NULL && version->filename != NULL
&& _dl_name_match_p (version->filename, map))
return -1;
}
@@ -213,7 +220,7 @@ _dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
(*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK))
/* We could find no value for a strong reference. */
_dl_signal_error (0, reference_name,
make_string ("undefined symbol: ", undef_name));
make_string (undefined_msg, undef_name));
*ref = current_value.s;
return current_value.a;
@@ -283,19 +290,21 @@ _dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
if (res < 0)
/* Oh, oh. The file named in the relocation entry does not
contain the needed symbol. */
_dl_signal_error (0, *reference_name ? reference_name : NULL,
_dl_signal_error (0, reference_name,
make_string ("symbol ", undef_name, ", version ",
version->name,
" not defined in file ",
version->filename,
" with link time reference"));
" with link time reference",
res == -2
? " (no version symbols)" : ""));
}
if (current_value.s == NULL &&
(*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK))
/* We could find no value for a strong reference. */
_dl_signal_error (0, reference_name,
make_string ("undefined symbol: ", undef_name,
make_string (undefined_msg, undef_name,
", version ", version->name ?: NULL));
*ref = current_value.s;
@@ -332,6 +341,17 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
reference_name, version, skip_map, 0))
break;
if (current_value.s == NULL &&
(*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK))
{
/* We could find no value for a strong reference. */
const size_t len = strlen (undef_name);
char buf[sizeof undefined_msg + len];
memcpy (buf, undefined_msg, sizeof undefined_msg - 1);
memcpy (&buf[sizeof undefined_msg - 1], undef_name, len + 1);
_dl_signal_error (0, reference_name, buf);
}
*ref = current_value.s;
return current_value.a;
}
-1
View File
@@ -126,7 +126,6 @@ longjmp (jmp_buf env, int val) { __longjmp (env[0].__jmpbuf, val); }
char * weak_function
__dcgettext (const char *domainname, const char *msgid, int category)
{
assert (domainname == _libc_intl_domainname);
return (char *) msgid;
}
weak_alias (__dcgettext, dcgettext)
+122
View File
@@ -0,0 +1,122 @@
/* Miscellaneous support functions for dynamic linker
Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <assert.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdarg.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
#ifndef MAP_ANON
/* This is the only dl-sysdep.c function that is actually needed at run-time
by _dl_map_object. */
int
_dl_sysdep_open_zero_fill (void)
{
return __open ("/dev/zero", O_RDONLY);
}
#endif
/* Read the whole contents of FILE into new mmap'd space with given
protections. *SIZEP gets the size of the file. */
void *
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
{
void *result;
struct stat st;
int fd = __open (file, O_RDONLY);
if (fd < 0)
return NULL;
if (__fxstat (_STAT_VER, fd, &st) < 0)
result = NULL;
else
{
/* Map a copy of the file contents. */
result = __mmap (0, st.st_size, prot,
#ifdef MAP_COPY
MAP_COPY
#else
MAP_PRIVATE
#endif
#ifdef MAP_FILE
| MAP_FILE
#endif
, fd, 0);
if (result == (void *) -1)
result = NULL;
else
*sizep = st.st_size;
}
__close (fd);
return result;
}
void
_dl_sysdep_fatal (const char *msg, ...)
{
va_list ap;
va_start (ap, msg);
do
{
size_t len = strlen (msg);
__write (STDERR_FILENO, msg, len);
msg = va_arg (ap, const char *);
} while (msg);
va_end (ap);
_exit (127);
}
void
_dl_sysdep_error (const char *msg, ...)
{
va_list ap;
va_start (ap, msg);
do
{
size_t len = strlen (msg);
__write (STDERR_FILENO, msg, len);
msg = va_arg (ap, const char *);
} while (msg);
va_end (ap);
}
void
_dl_sysdep_message (const char *msg, ...)
{
va_list ap;
va_start (ap, msg);
do
{
size_t len = strlen (msg);
__write (STDOUT_FILENO, msg, len);
msg = va_arg (ap, const char *);
} while (msg);
va_end (ap);
}
+1 -5
View File
@@ -68,11 +68,7 @@ _dl_relocate_object (struct link_map *l, struct link_map *scope[], int lazy)
ELF_DYNAMIC_RELOCATE (l, lazy);
}
/* Set up the PLT so its unrelocated entries will jump to
_dl_runtime_resolve (dl-runtime.c), which will relocate them. */
elf_machine_runtime_setup (l, lazy);
/* Mark the object so we know ths work has been done. */
/* Mark the object so we know this work has been done. */
l->l_relocated = 1;
if (l->l_info[DT_TEXTREL])
+13 -56
View File
@@ -17,71 +17,28 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <assert.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>
/* This file defines some things that for the dynamic linker are defined in
rtld.c and dl-sysdep.c in ways appropriate to bootstrap dynamic linking. */
#include <stdlib.h>
extern char *__progname;
char **_dl_argv = &__progname; /* This is checked for some error messages. */
/* This defines the default search path for libraries.
For the dynamic linker it is set by -rpath when linking. */
const char *_dl_rpath = DEFAULT_RPATH;
#ifndef MAP_ANON
/* This is the only dl-sysdep.c function that is actually needed at run-time
by _dl_map_object. */
int
_dl_sysdep_open_zero_fill (void)
/* If nonzero print warnings about problematic situations. */
int _dl_verbose;
static void init_verbose (void) __attribute__ ((unused));
static void
init_verbose (void)
{
return __open ("/dev/zero", O_RDONLY);
}
#endif
/* This should never be called. */
void
_dl_sysdep_fatal (void)
{
assert (! "_dl_sysdep_fatal called");
}
/* Read the whole contents of FILE into new mmap'd space with given
protections. *SIZEP gets the size of the file. */
void *
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
{
void *result;
struct stat st;
int fd = __open (file, O_RDONLY);
if (fd < 0)
return NULL;
if (__fxstat (_STAT_VER, fd, &st) < 0)
result = NULL;
else
{
/* Map a copy of the file contents. */
result = __mmap (0, st.st_size, prot,
#ifdef MAP_COPY
MAP_COPY
#else
MAP_PRIVATE
#endif
#ifdef MAP_FILE
| MAP_FILE
#endif
, fd, 0);
if (result == (void *) -1)
result = NULL;
else
*sizep = st.st_size;
}
__close (fd);
return result;
_dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
}
text_set_element (__libc_subinit, init_verbose);
+13 -10
View File
@@ -25,7 +25,7 @@
#include <string.h>
#include <assert.h>
#include "../stdio-common/_itoa.h"
#include <stdio-common/_itoa.h>
/* Set in rtld.c at startup. */
@@ -53,13 +53,13 @@ extern char **_dl_argv;
static inline struct link_map *
find_needed (struct link_map *map, const char *name)
find_needed (const char *name)
{
unsigned int n;
for (n = 0; n < map->l_nsearchlist; ++n)
if (_dl_name_match_p (name, map->l_searchlist[n]))
return map->l_searchlist[n];
for (n = 0; n < _dl_loaded->l_nsearchlist; ++n)
if (_dl_name_match_p (name, _dl_loaded->l_searchlist[n]))
return _dl_loaded->l_searchlist[n];
/* Should never happen. */
return NULL;
@@ -72,10 +72,10 @@ match_symbol (const char *name, ElfW(Word) hash, const char *string,
{
const char *strtab = (const char *) (map->l_addr
+ map->l_info[DT_STRTAB]->d_un.d_ptr);
ElfW(Addr) def_offset = map->l_info[VERSTAG (DT_VERDEF)]->d_un.d_ptr;
ElfW(Addr) def_offset;
ElfW(Verdef) *def;
if (def_offset == 0)
if (map->l_info[VERSTAG (DT_VERDEF)] == NULL)
{
/* The file has no symbol versioning. I.e., the dependent
object was linked against another version of this file. We
@@ -87,7 +87,10 @@ no version information available (required by ",
return 0;
}
def = (ElfW(Verdef) *) (map->l_addr + def_offset);
def_offset = map->l_info[VERSTAG (DT_VERDEF)]->d_un.d_ptr;
assert (def_offset != 0);
def = (ElfW(Verdef) *) ((char *) map->l_addr + def_offset);
while (1)
{
/* Currently the version number of the definition entry is 1.
@@ -179,7 +182,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
while (1)
{
ElfW(Vernaux) *aux;
struct link_map *needed = find_needed (map, strtab + ent->vn_file);
struct link_map *needed = find_needed (strtab + ent->vn_file);
/* If NEEDED is NULL this means a dependency was not found
and no stub entry was created. This should never happen. */
@@ -227,7 +230,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
if (def != NULL)
{
ElfW(Verdef) *ent;
ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr);
ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr);
while (1)
{
if ((unsigned int) (ent->vd_ndx & 0x7fff) > ndx_high)
+1 -1
View File
@@ -18,8 +18,8 @@
Boston, MA 02111-1307, USA. */
#ifndef _DLFCN_H
#define _DLFCN_H 1
#include <features.h>
/* The MODE argument to `dlopen' contains one of the following: */
+1 -1
View File
@@ -53,7 +53,7 @@ elf_dynamic_do_rel (struct link_map *map,
const ElfW(Sym) *const symtab =
(const ElfW(Sym) *) (map->l_addr + map->l_info[DT_SYMTAB]->d_un.d_ptr);
if (map->l_info[VERSYMIDX (DT_VERNEEDNUM)])
if (map->l_info[VERSYMIDX (DT_VERSYM)])
{
const ElfW(Half) *const version =
(const ElfW(Half) *) (map->l_addr
+11 -3
View File
@@ -22,6 +22,11 @@
#include <assert.h>
/* Global read-only variable defined in rtld.c which is nonzero if we
shall give more warning messages. */
extern int _dl_verbose __attribute__ ((unused));
/* Read the dynamic section at DYN and fill in INFO with indices DT_*. */
static inline void __attribute__ ((unused))
@@ -97,8 +102,11 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn,
/* This can't just be an inline function because GCC is too dumb
to inline functions containing inlines themselves. */
#define ELF_DYNAMIC_RELOCATE(map, lazy) \
do { ELF_DYNAMIC_DO_REL ((map), (lazy)); \
ELF_DYNAMIC_DO_RELA ((map), (lazy)); } while (0)
#define ELF_DYNAMIC_RELOCATE(map, lazy) \
do { \
int edr_lazy = elf_machine_runtime_setup((map), (lazy)); \
ELF_DYNAMIC_DO_REL ((map), edr_lazy); \
ELF_DYNAMIC_DO_RELA ((map), edr_lazy); \
} while (0)
#endif
+22 -21
View File
@@ -19,46 +19,47 @@
Boston, MA 02111-1307, USA. */
#ifndef _ELF_H
#define _ELF_H 1
#include <sys/cdefs.h>
__BEGIN_DECLS
/* Standard ELF types. Using __attribute__ mode ensures that GCC
will choose the right number of bits for these types. */
/* Standard ELF types. */
#include <inttypes.h>
/* Type for a 16-bit quantity. */
typedef unsigned int Elf32_Half __attribute__ ((mode (HI)));
typedef unsigned int Elf64_Half __attribute__ ((mode (HI)));
typedef uint16_t Elf32_Half;
typedef uint16_t Elf64_Half;
/* Types for signed and unsigned 32-bit quantities. */
typedef unsigned int Elf32_Word __attribute__ ((mode (SI)));
typedef int Elf32_Sword __attribute__ ((mode (SI)));
typedef unsigned int Elf64_Word __attribute__ ((mode (SI)));
typedef int Elf64_Sword __attribute__ ((mode (SI)));
typedef uint32_t Elf32_Word;
typedef int32_t Elf32_Sword;
typedef uint32_t Elf64_Word;
typedef int32_t Elf64_Sword;
/* Types for signed and unsigned 64-bit quantities. */
typedef unsigned int Elf32_Xword __attribute__ ((mode (DI)));
typedef int Elf32_Sxword __attribute__ ((mode (DI)));
typedef unsigned int Elf64_Xword __attribute__ ((mode (DI)));
typedef int Elf64_Sxword __attribute__ ((mode (DI)));
typedef uint64_t Elf32_Xword;
typedef int64_t Elf32_Sxword;
typedef uint64_t Elf64_Xword;
typedef int64_t Elf64_Sxword;
/* Type of addresses. */
typedef unsigned int Elf32_Addr __attribute__ ((mode (SI)));
typedef unsigned int Elf64_Addr __attribute__ ((mode (DI)));
typedef uint32_t Elf32_Addr;
typedef uint64_t Elf64_Addr;
/* Type of file offsets. */
typedef unsigned int Elf32_Off __attribute__ ((mode (SI)));
typedef unsigned int Elf64_Off __attribute__ ((mode (DI)));
typedef uint32_t Elf32_Off;
typedef uint64_t Elf64_Off;
/* Type for section indices, which are 16-bit quantities. */
typedef unsigned int Elf32_Section __attribute__ ((mode (HI)));
typedef unsigned int Elf64_Section __attribute__ ((mode (HI)));
typedef uint16_t Elf32_Section;
typedef uint16_t Elf64_Section;
/* Type of symbol indices. */
typedef unsigned int Elf32_Symndx __attribute__ ((mode (SI)));
typedef unsigned int Elf64_Symndx __attribute__ ((mode (DI)));
typedef uint32_t Elf32_Symndx;
typedef uint64_t Elf64_Symndx;
/* The ELF file header. This appears at the start of every ELF file. */
+2 -2
View File
@@ -1,5 +1,5 @@
/* You don't really want to know what this hack is for.
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -128,7 +128,7 @@ _start (void)
char *buf = NULL;
size_t bufsz = 0;
while (__getline (&buf, &bufsz, stdin) > 0)
while (__getdelim (&buf, &bufsz, '\n', stdin) > 0)
{
char *p = buf;
eval (&p);
+23 -13
View File
@@ -31,14 +31,16 @@ TEXTDOMAINDIR=@TEXTDOMAINDIR@
RTLD=@RTLD@
warn=
bind_now=
verbose=
while test $# -gt 0; do
case "$1" in
--v | --ve | --ver | --vers | --versi | --versio | --version)
echo $"ldd (GNU libc) @VERSION@
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
--vers | --versi | --versio | --version)
echo 'ldd (GNU libc) @VERSION@'
echo $"Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper."
exit 0 ;;
--h | --he | --hel | --help)
echo $"ldd [OPTION]... FILE...
@@ -46,6 +48,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-v, --verbose print all information
Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
exit 0 ;;
-d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
@@ -58,10 +61,16 @@ Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
warn=yes
bind_now=yes
shift ;;
-v | --verb | --verbo | --verbos | --verbose)
verbose=yes
shift ;;
--v | --ve | --ver)
echo >&2 $"ldd: option \`$1' is ambiguous"
exit 1 ;;
--) # Stop option processing.
shift; break ;;
-*)
echo >&2 $"ldd: unrecognized option" "\`$1'"
echo >&2 'ldd:' $"unrecognized option" "\`$1'"
echo >&2 $"Try \`ldd --help' for more information."
exit 1 ;;
*)
@@ -70,9 +79,10 @@ Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
done
add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
add_env="$add_env LD_VERBOSE=$verbose"
case $# in
0)
echo >&2 $"ldd: missing file arguments"
echo >&2 'ldd:' $"missing file arguments"
echo >&2 $"Try \`ldd --help' for more information."
exit 1 ;;
1)
@@ -86,7 +96,7 @@ case $# in
exit 1
elif test -r "$file"; then
test -x "$file" ||
echo $"ldd: warning: you do not have execution permission for" "\`$file'"
echo 'ldd:' $"warning: you do not have execution permission for" "\`$file'"
${RTLD} --verify "$file"
case $? in
0)
@@ -100,12 +110,12 @@ case $# in
eval $add_env exec \${RTLD} '"$file"' || exit 1
;;
*)
echo $"ldd: ${RTLD} exited with unknown exit code ($?)" >&2
echo 'ldd:' ${RTLD} $"exited with unknown exit code" "($?)" >&2
exit 1
;;
esac
else
echo $"ldd: error: you do not have read permission for" "\`$file'"
echo 'ldd:' $"error: you do not have read permission for" "\`$file'"
exit 1
fi
exit ;;
@@ -121,8 +131,8 @@ case $# in
echo "ldd: ${file}:" $"no such file"
result=1
elif test -r "$file"; then
test -x "$file" || echo $"\
ldd: warning: you do not have execution permission for" "\`$file'"
test -x "$file" || echo 'ldd:' $"\
warning: you do not have execution permission for" "\`$file'"
${RTLD} --verify "$file"
case $? in
0)
@@ -136,12 +146,12 @@ ldd: warning: you do not have execution permission for" "\`$file'"
eval $add_env ${RTLD} '"$file"' || result=1
;;
*)
echo $"ldd: ${RTLD} exited with unknown exit code ($?)" >&2
echo 'ldd:' ${RTLD} $"exited with unknown exit code" "($?)" >&2
exit 1
;;
esac
else
echo $"ldd: error: you do not have read permission for" "\`$file'"
echo 'ldd:' $"error: you do not have read permission for" "\`$file'"
result=1
fi
done
+11 -2
View File
@@ -30,11 +30,12 @@ bind_now=
while test $# -gt 0; do
case "$1" in
--v | --ve | --ver | --vers | --versi | --versio | --version)
--vers | --versi | --versio | --version)
echo 'ldd (GNU libc) @VERSION@
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.'
exit 0 ;;
--h | --he | --hel | --help)
echo "ldd [OPTION]... FILE...
@@ -42,6 +43,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-v, --verbose print all information
Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
exit 0 ;;
-d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
@@ -54,6 +56,12 @@ Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
warn=yes
bind_now=yes
shift ;;
-v | --verb | --verbo | --verbos | --verbose)
verbose=yes
shift ;;
--v | --ve | --ver)
echo >&2 "ldd: option \`$1' is ambiguous"
exit 1 ;;
--) # Stop option processing.
shift; break ;;
-*)
@@ -67,6 +75,7 @@ Try \`ldd --help' for more information."
done
add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
add_env="$add_env LD_VERBOSE=$verbose"
case $# in
0)
echo >&2 "\
+7
View File
@@ -0,0 +1,7 @@
GLIBC_2.0 {
global:
dladdr; dlclose; dlerror; dlopen; dlsym; dlvsym;
local:
*;
};
+4 -3
View File
@@ -18,8 +18,8 @@
Boston, MA 02111-1307, USA. */
#ifndef _LINK_H
#define _LINK_H 1
#include <features.h>
#define __need_size_t
@@ -36,7 +36,8 @@ __BEGIN_DECLS
#define ELFW(type) _ElfW (ELF, __ELF_NATIVE_CLASS, type)
#define _ElfW(e,w,t) _ElfW_1 (e, w, _##t)
#define _ElfW_1(e,w,t) e##w##t
#include <elfclass.h> /* Defines __ELF_NATIVE_CLASS. */
#include <bits/elfclass.h> /* Defines __ELF_NATIVE_CLASS. */
/* Rendezvous structure used by the run-time dynamic linker to communicate
details of shared object loading to the debugger. If the executable's
@@ -255,7 +256,7 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
/* Helper function for <dlfcn.h> functions. Runs the OPERATE function via
_dl_catch_error. Returns zero for success, nonzero for failure; and
arranges for `dlerror' to return the error details.
arranges for `dlerror' to return the error details.
ARGS is passed as argument to OPERATE. */
extern int _dlerror_run (void (*operate) (void *), void *args);
+158 -24
View File
@@ -23,7 +23,7 @@
#include <string.h>
#include <unistd.h>
#include <sys/mman.h> /* Check if MAP_ANON is defined. */
#include "../stdio-common/_itoa.h"
#include <stdio-common/_itoa.h>
#include <assert.h>
#include "dynamic-link.h"
@@ -56,6 +56,7 @@ static void print_missing_version (int errcode, const char *objname,
int _dl_argc;
char **_dl_argv;
const char *_dl_rpath;
int _dl_verbose;
/* Set nonzero during loading and initialization of executable and
libraries, cleared before the executable's entry point runs. This
@@ -106,8 +107,6 @@ _dl_start (void *arg)
ELF_DYNAMIC_RELOCATE (&bootstrap_map, 0);
elf_machine_runtime_setup (&bootstrap_map, 0);
/* Now life is sane; we can call functions and access global data.
Set up to use the operating system facilities, and find out from
the operating system's program loader where to find the program
@@ -189,6 +188,54 @@ version_check_doit (void *a)
_exit (1);
}
static inline struct link_map *
find_needed (const char *name)
{
unsigned int n;
for (n = 0; n < _dl_loaded->l_nsearchlist; ++n)
if (_dl_name_match_p (name, _dl_loaded->l_searchlist[n]))
return _dl_loaded->l_searchlist[n];
/* Should never happen. */
return NULL;
}
static int
match_version (const char *string, struct link_map *map)
{
const char *strtab = (const char *) (map->l_addr
+ map->l_info[DT_STRTAB]->d_un.d_ptr);
ElfW(Verdef) *def;
#define VERDEFTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (DT_VERDEF))
if (map->l_info[VERDEFTAG] == NULL)
/* The file has no symbol versioning. */
return 0;
def = (ElfW(Verdef) *) ((char *) map->l_addr
+ map->l_info[VERDEFTAG]->d_un.d_ptr);
while (1)
{
ElfW(Verdaux) *aux = (ElfW(Verdaux) *) ((char *) def + def->vd_aux);
/* Compare the version strings. */
if (strcmp (string, strtab + aux->vda_name) == 0)
/* Bingo! */
return 1;
/* If no more definitions we failed to find what we want. */
if (def->vd_next == 0)
break;
/* Next definition. */
def = (ElfW(Verdef) *) ((char *) def + def->vd_next);
}
return 0;
}
unsigned int _dl_skip_args; /* Nonzero if we were run directly. */
static void
@@ -208,12 +255,13 @@ dl_main (const ElfW(Phdr) *phdr,
int has_interp = 0;
mode = getenv ("LD_TRACE_LOADED_OBJECTS") != NULL ? trace : normal;
_dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
/* LAZY is determined by the parameters --datadeps and --function-deps
if we trace the binary. */
/* LAZY is determined by the environment variable LD_WARN and
LD_BIND_NOW if we trace the binary. */
if (mode == trace)
lazy = (*(getenv ("LD_WARN") ?: "") == '\0' ? -1
: (*(getenv ("LD_BIND_NOW") ?: "") == '\0' ? 1 : 0));
lazy = (_dl_verbose
? (*(getenv ("LD_BIND_NOW") ?: "") == '\0' ? 1 : 0) : -1);
else
lazy = !__libc_enable_secure && *(getenv ("LD_BIND_NOW") ?: "") == '\0';
@@ -576,27 +624,113 @@ of this helper program; chances are you did not intend to run this program.\n",
*--bp = '0';
_dl_sysdep_message (" in object at 0x", bp, "\n", NULL);
}
else if (lazy >= 0)
else
{
/* We have to do symbol dependency testing. */
struct relocate_args args;
struct link_map *l;
args.lazy = lazy;
l = _dl_loaded;
while (l->l_next)
l = l->l_next;
do
if (lazy >= 0)
{
if (l != &_dl_rtld_map && l->l_opencount > 0)
/* We have to do symbol dependency testing. */
struct relocate_args args;
struct link_map *l;
args.lazy = lazy;
l = _dl_loaded;
while (l->l_next)
l = l->l_next;
do
{
args.l = l;
_dl_receive_error (print_unresolved, relocate_doit, &args);
*_dl_global_scope_end = NULL;
if (l != &_dl_rtld_map && l->l_opencount > 0)
{
args.l = l;
_dl_receive_error (print_unresolved, relocate_doit,
&args);
*_dl_global_scope_end = NULL;
}
l = l->l_prev;
} while (l);
}
#define VERNEEDTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (DT_VERNEED))
if (*(getenv ("LD_VERBOSE") ?: "") != '\0')
{
/* Print more information. This means here, print information
about the versions needed. */
int first = 1;
struct link_map *map = _dl_loaded;
for (map = _dl_loaded; map != NULL; map = map->l_next)
{
const char *strtab =
(const char *) (map->l_addr
+ map->l_info[DT_STRTAB]->d_un.d_ptr);
ElfW(Dyn) *dyn = map->l_info[VERNEEDTAG];
if (dyn != NULL)
{
ElfW(Verneed) *ent =
(ElfW(Verneed) *) (map->l_addr + dyn->d_un.d_ptr);
if (first)
{
_dl_sysdep_message ("\n\tVersion information:\n",
NULL);
first = 0;
}
_dl_sysdep_message ("\t", (map->l_name[0]
? map->l_name
: _dl_argv[0]), ":\n",
NULL);
while (1)
{
ElfW(Vernaux) *aux;
struct link_map *needed;
needed = find_needed (strtab + ent->vn_file);
aux = (ElfW(Vernaux) *) ((char *) ent + ent->vn_aux);
while (1)
{
const char *fname = NULL;
_dl_sysdep_message ("\t\t",
strtab + ent->vn_file,
" (", strtab + aux->vna_name,
") ",
(aux->vna_flags
& VER_FLG_WEAK
? "[WEAK] " : ""),
"=> ", NULL);
if (needed != NULL
&& match_version (strtab + aux->vna_name,
needed))
fname = needed->l_name;
_dl_sysdep_message (fname ?: "not found", "\n",
NULL);
if (aux->vna_next == 0)
/* No more symbols. */
break;
/* Next symbol. */
aux = (ElfW(Vernaux) *) ((char *) aux
+ aux->vna_next);
}
if (ent->vn_next == 0)
/* No more dependencies. */
break;
/* Next dependency. */
ent = (ElfW(Verneed) *) ((char *) ent
+ ent->vn_next);
}
}
}
l = l->l_prev;
} while (l);
}
}
_exit (0);
+1 -1
View File
@@ -37,7 +37,7 @@ endif
# The linked shared library is never a dependent of lib-noranlib,
# because linking it will depend on libc.so already being built.
ifneq (,$(filter .so,$(object-suffixes-$(lib))))
others: $(objpfx)$(lib).so
others: $(objpfx)$(lib).so$($(lib).so-version)
endif
+3
View File
@@ -319,5 +319,8 @@ _mcleanup ()
/* write basic-block execution counts: */
write_bb_counts (fd);
/* free the memory. */
free (_gmonparam.tos);
__close (fd);
}
+3 -3
View File
@@ -33,9 +33,9 @@
* @(#)gmon.h 8.2 (Berkeley) 1/4/94
*/
#ifndef _SYS_GMON_H_
#ifndef _SYS_GMON_H
#define _SYS_GMON_H 1
#define _SYS_GMON_H_ 1
#include <features.h>
#include <sys/types.h>
@@ -176,4 +176,4 @@ void _mcleanup __P ((void));
__END_DECLS
#endif /* !_SYS_GMON_H_ */
#endif /* sys/gmon.h */
+2 -2
View File
@@ -26,8 +26,8 @@
identifying the type of records, followed by records specific data. */
#ifndef _SYS_GMON_OUT_H
#define _SYS_GMON_OUT_H 1
#include <features.h>
#define GMON_MAGIC "gmon" /* magic cookie */
@@ -74,4 +74,4 @@ struct gmon_cg_arc_record
__END_DECLS
#endif /* _SYS_GMON_OUT_H */
#endif /* sys/gmon_out.h */
+1 -1
View File
@@ -18,7 +18,7 @@
#include <errno.h>
#include <grp.h>
#include <libc-lock.h>
#include <bits/libc-lock.h>
#include <stdlib.h>
+2 -2
View File
@@ -21,13 +21,13 @@
*/
#ifndef _GRP_H
#define _GRP_H 1
#include <features.h>
__BEGIN_DECLS
#include <gnu/types.h>
#include <bits/types.h>
#define __need_size_t
#include <stddef.h>
-1
View File
@@ -16,7 +16,6 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <ansidecl.h>
#include <hurd.h>
#include <hurd/term.h>
#include <hurd/fd.h>
+1 -1
View File
@@ -22,7 +22,7 @@
#define __need___va_list
#include <stdarg.h>
#include <ioctls.h>
#include <bits/ioctls.h>
/* Type of handler function, called like ioctl to do its entire job. */
+115 -8
View File
@@ -37,17 +37,124 @@ _S_msg_add_auth (mach_port_t me,
{
error_t err;
auth_t newauth;
uid_t *genuids, *gengids, *auxuids, *auxgids;
mach_msg_type_number_t ngenuids, ngengids, nauxuids, nauxgids;
uid_t *newgenuids, *newgengids, *newauxuids, *newauxgids;
mach_msg_type_number_t nnewgenuids, nnewgengids, nnewauxuids, nnewauxgids;
if (err = __USEPORT (AUTH,
__auth_makeauth (port,
&addauth, MACH_MSG_TYPE_MOVE_SEND, 1,
NULL, 0,
NULL, 0,
NULL, 0,
NULL, 0,
&newauth)))
/* Create a list of ids and store it in NEWLISTP, length NEWLISTLEN.
Keep all the ids in EXIST (len NEXIST), adding in those from NEW
(len NNEW) which are not already there. */
error_t make_list (uid_t **newlistp, mach_msg_type_number_t *newlistlen,
uid_t *exist, mach_msg_type_number_t nexist,
uid_t *new, mach_msg_type_number_t nnew)
{
error_t urp;
int i, j, k;
vm_size_t offset;
urp = vm_allocate (mach_task_self (), (vm_address_t *) newlistp,
nexist + nnew * sizeof (uid_t), 1);
if (urp)
return urp;
j = 0;
for (i = 0; i < nexist; i++)
(*newlistp)[j++] = exist[i];
for (i = 0; i < nnew; i++)
{
for (k = 0; k < nexist; k++)
if (exist[k] == new[i])
break;
if (k < nexist)
continue;
(*newlistp)[j++] = new[i];
}
offset = (round_page (nexist + nnew * sizeof (uid_t))
- round_page (j * sizeof (uid_t)));
if (offset)
vm_deallocate (mach_task_self (),
(vm_address_t) (*newlistp
+ (nexist + nnew * sizeof (uid_t))),
offset);
*newlistlen = j;
return 0;
}
/* Find out what ids ADDAUTH refers to */
genuids = gengids = auxuids = auxgids = 0;
ngenuids = ngengids = nauxuids = nauxgids = 0;
err = __auth_getids (addauth,
&genuids, &ngenuids,
&auxuids, &nauxuids,
&gengids, &ngengids,
&auxgids, &nauxgids);
if (err)
return err;
/* OR in these ids to what we already have, creating a new list. */
HURD_CRITICAL_BEGIN;
__mutex_lock (&_hurd_id.lock);
_hurd_check_ids ();
#define MAKE(genaux,uidgid) \
make_list (&new ## genaux ## uidgid ## s, \
&nnew ## genaux ## uidgid ## s, \
_hurd_id.genaux.uidgid ## s, \
_hurd_id.genaux.n ## uidgid ## s, \
genaux ## uidgid ## s, \
n ## genaux ## uidgid ## s)
err = MAKE (gen, uid);
if (!err)
MAKE (aux, uid);
if (!err)
MAKE (gen, gid);
if (!err)
MAKE (aux, gid);
#undef MAKE
__mutex_unlock (&_hurd_id.lock);
HURD_CRITICAL_END;
/* Create the new auth port */
if (!err)
err = __USEPORT (AUTH,
__auth_makeauth (port,
&addauth, MACH_MSG_TYPE_MOVE_SEND, 1,
newgenuids, nnewgenuids,
newauxuids, nnewauxuids,
newgengids, nnewgengids,
newauxgids, nnewauxgids,
&newauth));
#define freeup(array, len) \
if (array) \
vm_deallocate (mach_task_self (), (vm_address_t) array, \
len * sizeof (uid_t));
freeup (genuids, ngenuids);
freeup (auxuids, nauxuids);
freeup (gengids, ngengids);
freeup (auxgids, nauxgids);
freeup (newgenuids, nnewgenuids);
freeup (newauxuids, nnewauxuids);
freeup (newgengids, nnewgengids);
freeup (newauxgids, nnewauxgids);
#undef freeup
if (err)
return err;
/* And install it. */
err = __setauth (newauth);
__mach_port_deallocate (__mach_task_self (), newauth);
if (err)
+1 -1
View File
@@ -29,7 +29,7 @@
#include <assert.h>
jmp_buf _hurdsig_fault_env;
struct hurd_signal_preemptor _hurdsig_fault_preemptor;
struct hurd_signal_preemptor _hurdsig_fault_preemptor = {0};
/* XXX temporary to deal with spelling fix */
weak_alias (_hurdsig_fault_preemptor, _hurdsig_fault_preempter)
+2 -2
View File
@@ -426,7 +426,7 @@ abort_all_rpcs (int signo, struct machine_thread_all_state *state, int live)
}
}
struct hurd_signal_preemptor *_hurdsig_preemptors;
struct hurd_signal_preemptor *_hurdsig_preemptors = 0;
sigset_t _hurdsig_preempted_set;
/* XXX temporary to deal with spelling fix */
@@ -1194,7 +1194,7 @@ _hurdsig_init (void)
err = __thread_create (__mach_task_self (), &_hurd_msgport_thread);
assert_perror (err);
stacksize = __vm_page_size * 4; /* Small stack for signal thread. */
stacksize = __vm_page_size * 8; /* Small stack for signal thread. */
err = __mach_setup_thread (__mach_task_self (), _hurd_msgport_thread,
_hurd_msgport_receive,
(vm_address_t *) &__hurd_sigthread_stack_base,
+2 -2
View File
@@ -132,8 +132,8 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
int i;
} check =
{ t: {
MACH_MSG_TYPE_INTEGER_32,
32,
MACH_MSG_TYPE_INTEGER_T,
MACH_MSG_TYPE_INTEGER_T,
1,
TRUE,
FALSE,
View File
View File
View File
View File
View File
View File
View File
View File
+1
View File
@@ -0,0 +1 @@
#include <math/bits/mathcalls.h>

Some files were not shown because too many files have changed in this diff Show More