Commit Graph

46 Commits

Author SHA1 Message Date
Roland McGrath fde89ad009 * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN.
* malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]
	(malloc_starter, memalign_starter, free_starter): Don't define these.
	* malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]:
	Don't declare them either.
	* malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call
	__pthread_initialize, so no need to set hooks to *_starter.
	(ptmalloc_init_minimal): New function, broken out of ptmalloc_init.
	[_LIBC && SHARED && USE_TLS && !USE___THREAD]
	(__libc_malloc_pthread_startup): New function.
	* malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function.

	* malloc/hooks.c (memalign_starter): New function.
	* malloc/malloc.c: Declare it.
	* malloc/arena.c (save_memalign_hook): New variable.
	(ptmalloc_init): Set __memalign_hook to memalign_starter.

	* elf/dl-minimal.c (free): Clear the memory.
	(calloc): Just call malloc, knowing all memory it returns is cleared.

	* sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of
	malloc and memset; calloc can avoid the zeroing when redundant.
	(_dl_tls_setup): Likewise.
	* elf/dl-load.c (decompose_rpath): Likewise.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset
	call, since memory from sbrk at startup is already zero.

	* elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an
	error string for failure, null for success.  Update callers.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
2002-12-06 11:15:07 +00:00
Roland McGrath ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].

	* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
	Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
	* sysdeps/x86_64/dl-machine.h
	(elf_machine_type_class, elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
	Likewise.

	* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
	* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
	(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].

	* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
	instead of ___tls_get_addr.
	(___tls_get_addr_internal): Add attribute_hidden to decl.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
	_dl_error_catch_tsd.
	* elf/rtld.c (startup_error_tsd): New function.
	(dl_main): Point _dl_error_catch_tsd at that.
	* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
	use new function pointer instead.
	* elf/dl-tsd.c: New file.
	* elf/Makefile (routines): Add it.

2002-10-07  Roland McGrath  <roland@redhat.com>

	* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
	writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
	take _dl_load_lock around calling __writev.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
	(INLINE_SYSCALL): Use that.

	* sysdeps/generic/dl-sysdep.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.h: New file.
	* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
	* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
	[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
	access it directly.
	* elf/dl-minimal.c (__errno_location): Removed.
	* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use GOTOFF access for errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use PC-relative access for errno.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* include/tls.h: New file.
	(USE___THREAD): New macro.
	Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
	libc or libpthread.
	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
	changed from [USE_TLS && HAVE___THREAD].
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
	* include/errno.h: Likewise.
	* include/netdb.h: Likewise.
	* include/resolv.h: Likewise.

	* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.

	* manual/search.texi (Tree Search Function, Hash Search Function):
	Mention search.h clearly.

2002-10-05  Roland McGrath  <roland@redhat.com>

	* elf/dl-fxstat64.c: File removed.
	* elf/dl-xstat64.c: File removed.
	* elf/Makefile (rtld-routines): Remove them.
	* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
	Instead, use strong_alias instead of versioned_symbol in the
	!SHLIB_COMPAT case.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/shlib-compat.h
	(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
	[! NOT_IN_libc] (IS_IN_libc): Define it.
	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
	* elf/Makefile (CPPFLAGS-.os): Likewise.

	* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
	Return the status instead of calling exit.

	* Makeconfig (CFLAGS): Prepend -std=gnu99.
	* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
	Remove superfluous rm command, whose @ plus make bugs hid
	all these commands from the make output.

	* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
	* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
	Use that file's contents instead of literal echo's for the prologue.
	* include/features.h: Include <gnu/stubs.h> unconditionally.
	* include/gnu/stubs.h: New file.

2002-09-30  Roland McGrath  <roland@redhat.com>

	* elf/rtld-Rules: New file.
	* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
	$(objpfx)rtld-libc.a): New targets.
	(generated): Add them.
	(reloc-link): Remove -o $@ from the variable.
	($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
	(distribute): Add rtld-Rules.
	(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
	(common-mostlyclean, common-clean): Clean up rtld-* files.
	* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 10:52:20 +00:00
Roland McGrath 7a9ce79a3b * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def.
* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).

	* sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.

	* include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
	* assert/assert-perr.c: Add libc_hidden_def.
	* elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.

	* sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
	found at all.
	* sysdeps/gnu/Versions: File removed.  Moved all #errlist-compat
	sys_errlist stuff to ...
	* sysdeps/unix/sysv/linux/Versions: ... here.

	* mach/mach.h: Include <features.h>.
2002-08-30 01:31:18 +00:00
Roland McGrath a816b435dd * Makerules (cpp-srcs-left): When setting this to run
cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
	words.  Combine the two loops into one on the concatenated list,
	including those as well as $(test-srcs).

	* elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
	since we align here with optimally minimal waste anyway.
	(malloc): Just call that.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
	the right variable.

	* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
	to compute memory location for l_tls_initimage.
	* elf/rtld.c (_dl_start): Likewise.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.

	* libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
	because the .d file is generated in the non-shared case and
	so fails to catch them otherwise.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
	split out of _dl_allocate_tls.
	(_dl_allocate_tls_init): Likewise.
	(_dl_allocate_tls): Call those.
	* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
	* elf/rtld.c (dl_main): Call them separately instead of calling
	_dl_allocate_tls.  Delay _dl_allocate_tls_init until after relocation
	is finished, so that the initializer data has been relocated before we
	copy it into the main thread's TLS block.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
	loop conditions, prevented the last used module from being initialized.
2002-08-05 01:21:25 +00:00
Ulrich Drepper 37ba7d6663 Update.
2002-08-02  Ulrich Drepper  <drepper@redhat.com>

	* configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for
	broken alias attribute handling.
	* config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.

	* assert/assert.c (__assert_fail): Fix typo in comment.

	* include/rpc/rpc.h: Declare __libc_tsd_RPC_VARS if USE_TLS &&
	HAVE___THREAD.
	* sunrpc/rpc_thread.c: Don't define __libc_tsd_RPC_VARS as static
	if USE_TLS && HAVE___THREAD.
	* sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS.

2002-08-02  Jakub Jelinek  <jakub@redhat.com>

	* assert/assert.c (__assert_fail): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* assert/__assert.c (__assert): Remove INTUSE.
	* elf/dl-minimal.c (__assert_fail): Replace INTDEF with
	libc_hidden_weak.
	* include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
	hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
	libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
	rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
	libm_hiden_ver): Define.
	* include/assert.h (__assert_fail_internal): Remove.
	(__assert_fail): Add prototype.  Add hidden_proto.
	* include/libc-internal.h (__libc_freeres, __profile_frequency): Add
	libc_hidden_proto.
	* include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
	(__mbrtowc, __mbrlen): Use libc_hidden_proto.  Remove macros.
	* include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
	Add libc_hidden_proto.
	* include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
	__fcntl): Add libc_hidden_proto.  Remove macros.
	(__open_internal, __fcntl_internal): Remove.
	* libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
	* malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
	* nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
	libc_hiden_proto.
	* nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
	libc_hidden_def.
	* sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
	Add libc_hidden_def.
	* sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
	* sysdeps/generic/open.c (__open): Remove undef.
	Add libc_hidden_def.  Remove INTDEF.
	* sysdeps/generic/fcntl.c (__fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise.
	* sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
	(__open): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_open): Add libc_hidden_def.
	* sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
	* sysdeps/standalone/open.c (__open): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
	undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
	__getpgid_internal, __chown_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
	__GI___sched_setscheduler, __GI___select, __GI___setpgid,
	__GI___chown): Add.
	* sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
	__getpid_internal, __open_internal, __write_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
	__GI___chown, __GI___close, __GI___dup2, __GI___getpid,
	__GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
	__GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
	* wcsmbs/mbrlen.c (__mbrlen): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
	* catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
	* catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
	* elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
	* include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
	Add libc_hidden_proto.
	* include/sys/poll.h (__poll): Add libc_hidden_proto.
	* include/sys/select.h (__select): Likewise.
	* include/sys/socket.h (__send): Likewise.
	* include/sys/statfs.h (__statfs): Likewise.
	* include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
	__getpid, __getpgid, __setpgid, __close, __read, __write,
	__getpagesize, __sbrk): Likewise.
	(__chown_internal, __dup2_internal, __getpid_internal,
	__getpgid_internal, __close_internal, __write_internal,
	__getpagesize_internal): Remove.
	(__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
	Remove macros.
	* include/printf.h (__printf_fp): Add libc_hidden_proto.
	* include/sched.h (__sched_setscheduler): Likewise.
	* include/resolv.h (__res_ninit, __res_randomid): Likewise.
	* include/stdlib.h (__secure_getenv): Likewise.
	* include/signal.h (__sigaction, __sigsuspend): Likewise.
	* inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
	* inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetent_r.c (NSS_attribute_hidden): Remove.
	* inet/getproto_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtent_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
	* inet/getservent_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
	* libio/genops.c (__overflow): Add libc_hidden_def.
	* libio/iovdprintf.c: Remove libio.h include.
	* libio/libioP.h (libc_hidden_proto, libc_hidden_def,
	libc_hidden_weak): Define to nothing if not defined.
	(__overflow, __woverflow): Add libc_hidden_proto.
	* libio/wgenops.c (__woverflow): Add libc_hidden_def.
	* nss/getXXent_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
	and libc_hidden_def.
	* nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
	* posix/bsd-getpgrp.c (__getpgid_internal): Remove.
	(__getpgid): Add libc_hidden_proto.
	(__bsd_getpgrp): Remove INTUSE.
	* resolv/res_init.c (__res_ninit, __res_randomid): Add
	libc_hidden_def.
	* shadow/getspent_r.c (NSS_attribute_hidden): Remove.
	* shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
	* stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
	* stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
	* stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.
	* sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
	libc_hidden_def.
	* sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/generic/chown.c (__chown): Likewise.
	* sysdeps/generic/close.c (__close): Likewise.
	* sysdeps/generic/dup2.c (__dup2): Likewise.
	* sysdeps/generic/pipe.c (__pipe): Likewise.
	* sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
	* sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
	* sysdeps/generic/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
	* sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise.
	* sysdeps/generic/select.c (__select): Likewise.
	* sysdeps/generic/send.c (__send): Likewise.
	* sysdeps/generic/setpgid.c (__setpgid): Likewise.
	* sysdeps/generic/sigaction.c (__sigaction): Likewise.
	* sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/generic/statfs.c (__statfs): Likewise.
	* sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
	* sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
	* sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
	Remove undef and INTDEF.
	* sysdeps/generic/getpgid.c (__getpgid): Likewise.
	* sysdeps/generic/getpid.c (__getpid): Likewise.
	* sysdeps/generic/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
	* sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/mach/hurd/chown.c (__chown): Likewise.  Remove INTDEF.
	* sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
	* sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
	* sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
	* sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/mach/hurd/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/mach/hurd/pipe.c: Include unistd.h.
	(__pipe): Add libc_hidden_def.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
	libc_hidden_weak.
	* sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
	* sysdeps/mach/hurd/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
	(__libc_pwrite64): Add libc_hidden_def.
	* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
	* sysdeps/mach/hurd/select.c (__select): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
	* sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/posix/dup2.c: Likewise.
	Remove undef and INTDEF.
	* sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
	(__pwrite64): Add libc_hidden_weak.
	* sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
	* sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/standalone/close.c (__close): Likewise.
	* sysdeps/standalone/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.
	* sysdeps/standalone/read.c (__read): Likewise.
	(__libc_read): Add libc_hidden_def.
	* sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
	* sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
	* sysdeps/unix/bsd/poll.c (__poll): Likewise.
	* sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
	__GI___sigaction): Add.
	* sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/inet/syscalls.list (__GI___send): Add.
	* sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
	__GI___setpgid): Add.
	* sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
	* sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
	* sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
	* sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
	* sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
	* sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
	* sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
	* sysdeps/unix/sysv/aix/select.c (__select): Likewise.
	* sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
	__GI___send): Add.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
	Add libc_hidden_weak.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
	resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.  Remove
	INTDEF.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
	Likewise.  Remove undef.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
	(__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
	__GI___statfs): Add.
	* sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/send.S (__send): Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
	Add.
	* sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
	libc_hidden_def.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
	Remove undef and INTDEF.
	* configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
	broken visibility attribute handling.
	* config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.

2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2002-08-03 07:02:10 +00:00
Ulrich Drepper bc32ebd3b0 Update.
* elf/dl-minimal.c: Remove definition of __assert_perror_fail.
2002-07-25 08:29:34 +00:00
Ulrich Drepper 51d46f733a Update.
2002-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal.
	* sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead
	of __divdi3.

	* sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal.
	* sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal
	alias for adjtimex syscall.

	* elf/dl-minimal.c: Define __assert_fail_internal.
	* assert/assert.c: Likewise.
	* include/assert.h: Define __assert_file macro if !SHARED and not
	NOT_IN_libc.

	* iconv/Makefile: Define NOT_IN_libc for objects in standalone
	programs.
	* locale/Makefile: Likewise.
	* nscd/Makefile: Likewise.
	* catgets/Makefile: Likewise.

	succesful seek call.  Simplify error checking.
2002-07-25 08:19:59 +00:00
Ulrich Drepper 739d440d2a Update.
2002-07-19  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add test for __thread support in compiler.
	* config.h.in: Add HAVE___THREAD.
	* Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h.
	* include/sys/errno.h: Moved to...
	* stdlib/sys/errno.h: ...here.  New file.
	* stdlib/errno.h: New file.  Moved from...
	* include/errno.h: ...here.  Changed into an internal header defining
	libc-local things like __set_errno.
	* stdlib/Makefile (headers): Add errno.h, sys/errno.h, and
	bits/errno.h.
	* elf/dl-minimal.c: Include <tls.h>.  Define errno as thread-local
	variable if USE_TLS && HAVE___THREAD.  Don't define __errno_location
	either.
	* elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so
	from...
	(_dl_start_final): ...here.  Add code to initialize tls elements from
	bootstrap_map.
	* sysdeps/generic/errno-loc.c: Define errno as thread-local variable
	if USE_TLS && HAVE___THREAD.
	* sysdeps/generic/bits/errno.h: Remove __set_errno definition.
	* sysdeps/mach/hurd/bits/errno.h: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/bits/errno.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/aix/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/hpux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise.
	* sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't
	use GL(dl_rtld_map), use map parameter.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if
	USE_TLS && HAVE___THREAD.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG
	definitions.  If USE_TLS && HAVE___THREAD store errooor value using
	TLS code sequence.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno.
	* sysdeps/unix/sysv/linux/grantpt.c: Likewise.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
2002-07-20 01:14:41 +00:00
Ulrich Drepper 3646145597 (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. 2002-03-15 03:09:42 +00:00
Ulrich Drepper 75bfdfc7df Update.
2002-03-13  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.

2002-03-02  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfprintf.c (process_arg): Fix decimal format with
	'h' flag and positional arg.
	* stdio-common/tst-printf.c (rfg3): New function to test
	positional arguments.
	(main): Fix some warnings.

2002-03-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
2002-03-13 23:27:20 +00:00
Ulrich Drepper aa32f79837 Update.
* include/stdlib.h (__libc_drand48_data): Declare as hidden.
	* stdlib/drand48.c: Remove declaration of __libc_drand48_data here.
	* stdlib/erand48.c: Likewise.
	* stdlib/jrand48.c: Likewise.
	* stdlib/lcong48.c: Likewise.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/nrand48.c: Likewise.
	* stdlib/seed48.c: Likewise.
	* stdlib/srand48.c: Likewise.

	* stdio-common/_itoa.c (_itoa_base_table): Declare as hidden.
	(_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits.
	* stdio-common.h (_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa_word): Use INTUSE to acces _itoa_upper_digits and
	_itoa_lower_digits.
	* stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits.
	* stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits.

	* elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.

	* stdio-common/_itowa.c (_itoa_base_table): Declare as hidden.
	(_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.
	* stdio-common/_itowa.h (_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.

	* intl/plural-exp.h (attribute_hidden): Define as empty macro if
	not already defined.
	(GERMANIC_PLURAL): Declare as hidden.

	* posix/getopt.c (__getopt_initialized): Declare as hidden.
	(attribute_hidden): Define as empty macro if not already defined.

	* iconv/gconv_int.h (__gconv_path_elem): Declare hidden.
	(__gconv_max_path_elem_len): Likewise.
	(__gconv_path_envvar): Likewise.

	* math/Makefile (gmp-objs): Remove mp_clz_tab.
	* stdlib/Makefile (aux): Remove mp_clz_tab.
	* stdlib/mp_clz_tab.c: Removed.  Not needed anywhere.

	* stdlib/exit.h (__exit_funcs): Declare as hidden.
2002-03-12 20:04:56 +00:00
Ulrich Drepper aed283dd45 Update.
2002-02-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
	TLS_DTV_UNALLOCATE.
	(oom): New function.
	(_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
	(_dl_determine_tlsoffset): Likewise.
	(_dl_allocate_tls): Likewise.
	(__TLS_GET_ADDR): Define if not already defined.
	(_dl_tls_symaddr): New function.
	(allocate_and_init): New function.
	(__tls_get_addr): Actually implement handling of generation counter
	and deferred allocation.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
	add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
	Declare _dl_tls_symaddr.
	* sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
	SHARED.
	* include/link.h (struct link_map):  Remove l_tls_nextimage and
	l_tls_previmage.
	* elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
	instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
	(_dl_vsym): Likewise.
	* elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
	layout.
	(dl_main): Allow PT_TLS be present for empty segment.  Remove
	nextimage list handling.  Instead add all modules using TLS to
	dl_tls_dtv_slotinfo_list.
	* elf/dl-open.c (dl_open_worker): After successfully loading all
	objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
	* elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
	empty segment don't do anything.  Remove handling of initimage list.
	* elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
	(GLIBC_PRIVATE): Add _dl_tls_symaddr.
	* elf/dl-minimal.c: Define __libc_memalign.
	* elf/dl-support.c: Remove _dl_initimage_list.  Add
	_dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	* include/stdlib.h: Declare __libc_memalign.

	* elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
	* elf/tst-tls4.c: New file.
	* elf/tst-tls5.c: New file.
	* elf/tst-tlsmod2.c: New file.

	* elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.

	* elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.

	* elf/tst-tls1.c: Use test-skeleton.c.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

	* elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
2002-02-13 08:03:56 +00:00
Ulrich Drepper 37beecf77c Update.
* elf/dl-minimal.c: Define _itoa_lower_digits.

	* elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
	DT_FLAGS set.
2002-02-06 01:14:01 +00:00
Ulrich Drepper 9710f75d4a Update.
2002-02-03  Andreas Schwab  <schwab@suse.de>

	* sysdeps/posix/readv.c: Use ssize_t for bytes_read.
	* sysdeps/posix/writev.c: Use ssize_t for bytes_written.  Fix comment.

2002-02-03  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/writev.c: Check for ssize_t overflow, don't use
	alloca if the memory reqirements are too high.

2002-02-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (decompose_rpath): Avoid using strstr.
	* elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since
	the former is available anyway and speed isn't important here.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/dl-version.c (match_symbol): Likewise.
	(_dl_check_map_versions): Likewise.
	* elf/rtld.c (process_envvars): Likewise.
	(print_statistics): Likewise.
	* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise.
	* elf/dl-minimal.c (_itoa): Always define it.  Make it work for all
	bases.  Add assert to catch uses of unimplemented features.
	(__strsep): Add assert to catch uses of unimplemented features.
	* elf/dl-object.c (_dl_new_object): Don't use rawmemchr.  Use strchr
	and avoid inline optimization.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/dl-open.c: Don't include <stdio-common/_itoa.h>.
	* elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs.
	* elf/rtld.c (dl_main): Avoid strsep inline optimization.

	* stdio-common/_itoa.h: Minor simplifications of the code.
	* stdio-common/_itoa.c: Likewise.

	* elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf
	instead of _dl_printf for debugging info output.

	* sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely.
2002-02-03 19:39:52 +00:00
Ulrich Drepper 5c1159b6a9 Update.
2002-02-01  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h (exchange_and_add): Use branch
	likely.
	(atomic_add): Likewise.
	(compare_and_swap): Return 0 only when failed to compare. Use
	branch likely.

	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use
	branch likely.

2002-02-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo.

2002-02-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (__strsep): New minimal implementation.
2002-02-03 02:26:37 +00:00
Ulrich Drepper ccdf0cab1d Update.
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
	* elf/dl-reloc.c: Pretty printing.
	* sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
	procinfo-related variables in rtld_global struct.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/i386/i686/Makefile: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/Makefile: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/x86_64/Makefile: Likewise.
2002-02-01 07:49:47 +00:00
Ulrich Drepper d6b5d570a3 Update.
2002-01-30  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/dl-addr.c: Move global variables for SHARED code in struct
	_rtld_global.  Export this struct, remove all exports for the
	signal variables.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.

	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
Ulrich Drepper d252c4796b (realloc): Handle NULL for first parameter correctly. 2001-11-10 03:23:20 +00:00
Andreas Jaeger 41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper 28966366a2 Update.
2001-04-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (__assert_fail): Change error string.  It's
	most of the time no bug in ld.so.
	(__assert_perror_fail): Likewise.
2001-04-11 04:53:37 +00:00
Ulrich Drepper a986484f67 Update.
2001-03-12  Jakub Jelinek  <jakub@redhat.com>

	* csu/Makefile (abi-tag.h): Define OS and version separately, allow
	version to be overriden from config.h.
	* csu/abi-note.S: Use OS and version separately, include config.h.
	* elf/dl-load.c (_dl_osversion): New.
	(_dl_map_object_from_fd): Kill some warnings.
	(open_verify): Check .note.ABI-tag of the library if present.
	* elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx).
	* elf/cache.c (struct cache_entry): Add osversion.
	(print_entry): Print osversion.
	(print_cache): Pass osversion to it.
	(compare): Sort according to osversion.
	(save_cache): Set osversion.
	(add_to_cache): Add osversion argument.
	* sysdeps/generic/ldconfig.h (add_to_cache, process_file,
	process_elf_file): Add osversion argument.
	* elf/readlib.c (process_file): Likewise.
	* sysdeps/generic/readelflib.c (process_elf_file): Likewise.
	* sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* elf/ldconfig.c (manual_link): Pass it.
	(search_dir): Issue diagnostic if two libs with the same soname in
	the same directory have different .note.ABI-tag.  Record osversion in
	dlib_entry and use it from there.
	(struct lib_entry): Remove.
	(struct dlib_entry): Add osversion.
	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check
	osversion.
	* sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused
	field with osversion.
	* sysdeps/generic/ldsodefs.h (_dl_osversion): Declare.
	* sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h.
	* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel
	version in _dl_osversion.
	* sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION.
	* Makerules (build-shlib-helper, build-module-helper): New.
	(build-shlib, build-module-helper): Make sure .note.ABI-tag comes
	early.
	* config.h.in (__ABI_TAG_VERSION): Add.
	* elf/dl-minimal.c (__strtoul_internal): Set endptr on return.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
	Handle LD_ASSUME_KERNEL.
	* sysdeps/unix/sysv/linux/dl-librecon.h: New.
2001-03-16 07:40:05 +00:00
Ulrich Drepper 35fc382add Update.
* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
2001-02-28 06:36:10 +00:00
Ulrich Drepper 1e71bd5279 Update.
* elf/rtld.c (process_envvars): Call __strtoul_internal instead of
	strtoul.
	* elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed.
	(__sigjmp_save): Set __mask_was_saved to zero since we don't save
	anything.
	* dlfcn/eval.c (__strtol_internal): Define here.
	(eval): Use __strtol_internal instead of strtol.
2001-01-19 00:36:48 +00:00
Andreas Jaeger 728c24ff87 Update.
* elf/dl-minimal.c: Add prototypes.

	* include/locale.h: Add internal prototypes.
	* include/sys/gmon.h: Likewise.
2000-12-28 07:58:08 +00:00
Ulrich Drepper a42195dbe4 Update.
2000-03-23  Andreas Jaeger  <aj@suse.de>

	* elf/dl-addr.c: Adjust include paths for ldsodefs location
	change.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-preinit.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/sprof.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
	* sysdeps/powerpc/dl-machine.c: Likewise.
	* sysdeps/powerpc/elf/libc-start.c: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/ldsodefs.h: Move file to ...
	* sysdeps/generic/ldsodefs.h: ... here.

	* sysdeps/generic/ldsodefs.h: Add definition for D_PTR.
	
	* sysdeps/mips/elf/ldsodefs.h: New file.

	* elf/dl-version.c (match_symbol): Use D_PTR to access relocated
	entries in l_info.
	(_dl_check_map_versions): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.
	* elf/dl-load.c (_dl_init_paths): Likewise.
	(_dl_map_object): Likewise.
	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise.
	(elf_get_dynamic_info): Likewise.
	* elf/do-lookup.h (FCT): Likewise.
	* elf/do-rel.h (elf_dynamic_do_rel): Likewise.
	* elf/dl-deps.c (_dl_map_object_deps): Likewise.
	* elf/dl-addr.c (_dl_addr): Likewise.
	* elf/dl-runtime.c (profile_fixup): Likewise.
	(fixup): Likewise.
	* elf/dl-init.c (_dl_init_next): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h
	(DISTINGUISH_LIB_VERSIONS): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise.
	(elf_machine_rel): Likewise.

	* elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info
	for writable dynamic section.
2000-03-23 20:31:46 +00:00
Ulrich Drepper 5aa8ff620e Update.
1998-04-21 18:00  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv.c (__gconv): Remove bogus input buffer size computation.

	* iconv/gconv_open.c (__gconv_open): Initialize outbufend element.

	* iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use
	character in comparison with uint32_t.
	(__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO.
	(__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM.
	Optimize BODY a bit.

	* iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to
	be defined.

	* iconv/skeleton.c: Also reset converted counter in case of an error.
	Call reset function using correct value for output buffer start.

	* iconvdata/Makefile: Re-enable tests.

	* iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT
	value for to-conversion.

	* iconvdata/TESTS: Add new third column.
	* iconvdata/run-iconv-test.sh: Add support for charsets which are
	not ASCII based.
	* iconvdata/testdata/suntzus: New file.

	* elf/dl-minimal.c (__strtol_internal): Increment pointer to string
	while reading.  Correctly used base.  Little optimization.
	(__strtoul_internal): Likewise.

	* elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths
	was wrong.  Use explicit variable.

1998-04-20 23:49  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Check for awk.
	* config.make.in: Add AWK to be substituted.

	* manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions.
	* manual/users.texi: Fix typo exposed by above rewrite.

	* Makefile: Invoke awk using AWK variable.
	* csu/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* mach/Makefile: Likewise.
	* manual/Makefile: Likewise.
	* sysdeps/gnu/Makefile: Likewise.
	* sysdeps/mach/hurd/Makefile: Likewise.
	* sysdeps/unix/Makefile: Likewise.
	* timezone/Makefile: Likewise.

1998-04-10  Gordon Matzigkeit  <gord@profitpress.com>

	* sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to
	array index translation.
	(SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if
	these are defined.

	* sysdeps/mach/hurd/Dist: Add errlist.c to distribution.

	* sysdeps/mach/hurd/errlist.c: New file.
	(ERR_TRANSLATE): Map Hurd error codes into errlist indices.
	(_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist
	semantics, so rename it.

1998-04-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* iconvdata/run-iconv-test.sh: Make portable.  Always test all
	conversions.

1998-04-21 12:30  H.J. Lu  <hjl@gnu.org>

	* wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0.
	* wcsmbs/wcsnrtombs.c: Likewise.

1998-04-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly.

	* wcsmbs/btowc.c (__btowc): Declare inptr as const char *.

	* time/strftime.c (my_strftime): Initialize pad variable in
	declaration.

	* iconvdata/big5.c: Don't use character constants in comparisons
	with unsigned value.

	* sysdeps/generic/setutxent.c: New file.
	* sysdeps/generic/getutxent.c: New file.
	* sysdeps/generic/endutxent.c: New file.
	* sysdeps/generic/getutxid.c: New file.
	* sysdeps/generic/getutxline.c: New file.
	* sysdeps/generic/pututxline.c: New file.
	* sysdeps/generic/utmpxname.c: New file.
	* sysdeps/generic/updwtmpx.c: New file.
1998-04-21 18:15:51 +00:00
Ulrich Drepper 8619129f3f Update.
1998-04-20 18:00  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
	__libc_siglongjmp to GLIBC_2.1.

	* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
	__strerror_r.

	* iconv/Makefile: Don't run tests now.

	* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
	with correct output buffer.

	Major rewrite of the low-level gconv functionality.
	* iconv/gconv.c: Rewritten.
	* iconv/gconv.h: Likewise.
	* iconv/gconv_builtin.c: Likewise.
	* iconv/gconv_builtin.h: Likewise.
	* iconv/gconv_conf.c: Likewise.
	* iconv/gconv_int.h: Likewise.
	* iconv/gconv_open.c: Likewise.
	* iconv/gconv_simple.c: Likewise.
	* iconv/iconv.c: Likewise.
	* iconvdata/8bit-gap.c: Likewise.
	* iconvdata/8bit-generic.c: Likewise.
	* iconvdata/Makefile: Likewise.
	* iconvdata/big5.c: Likewise.
	* iconvdata/cns11643.c: Likewise.
	* iconvdata/cns11643.h: Likewise.
	* iconvdata/cns11643l1.c: Likewise.
	* iconvdata/cns11643l1.h: Likewise.
	* iconvdata/ebcdic-at-de-a.c: Likewise.
	* iconvdata/ebcdic-at-de.c: Likewise.
	* iconvdata/ebcdic-ca-fr.c: Likewise.
	* iconvdata/euccn.c: Likewise.
	* iconvdata/eucjp.c: Likewise.
	* iconvdata/euckr.c: Likewise.
	* iconvdata/euctw.c: Likewise.
	* iconvdata/gb2312.c: Likewise.
	* iconvdata/gb2312.h: Likewise.
	* iconvdata/hp-roman8.c: Likewise.
	* iconvdata/iso646.c: Likewise.
	* iconvdata/iso6937.c: Likewise.
	* iconvdata/iso8859-1.c: Likewise.
	* iconvdata/iso8859-10.c: Likewise.
	* iconvdata/iso8859-2.c: Likewise.
	* iconvdata/iso8859-3.c: Likewise.
	* iconvdata/iso8859-4.c: Likewise.
	* iconvdata/iso8859-5.c: Likewise.
	* iconvdata/iso8859-6.c: Likewise.
	* iconvdata/iso8859-7.c: Likewise.
	* iconvdata/iso8859-8.c: Likewise.
	* iconvdata/iso8859-9.c: Likewise.
	* iconvdata/jis0201.c: Likewise.
	* iconvdata/jis0201.h: Likewise.
	* iconvdata/jis0208.c: Likewise.
	* iconvdata/jis0208.h: Likewise.
	* iconvdata/jis0212.c: Likewise.
	* iconvdata/jis0212.h: Likewise.
	* iconvdata/johab.c: Likewise.
	* iconvdata/koi-8.c: Likewise.
	* iconvdata/koi8-r.c: Likewise.
	* iconvdata/ksc5601.c: Likewise.
	* iconvdata/ksc5601.h: Likewise.
	* iconvdata/latin-greek-1.c: Likewise.
	* iconvdata/latin-greek.c: Likewise.
	* iconvdata/run-iconv-test.sh: Likewise.
	* iconvdata/sjis.c: Likewise.
	* iconvdata/t61.c: Likewise.
	* iconvdata/uhc.c: Likewise.
	* wcsmbs/btowc.c: Likewise.
	* wcsmbs/mbrtowc.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsmbsload.c: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.
	* iconv/loop.c: New file.
	* iconv/skeleton.c: New file.

	* stdlib/mblen.c: Handle empty input string correctly.
	* stdlib/mbtowc.c: Likewise.

	* posix/getopt.c: Various cleanups.

	* sysdeps/arm/bits/setjmp.h: Add copyright text.
	* sysdeps/i386/bits/setjmp.h: Likewise.
	* sysdeps/m68k/bits/setjmp.h: Likewise.
	* sysdeps/powerpc/bits/setjmp.h: Likewise.
	* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.

	* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
	and make longjmp weak alias.

1998-04-18 20:29  Philip Blundell  <Philip.Blundell@pobox.com>

	* iconv/Makefile (routines): Only include gconv_dl if building for
	an ELF system - dynamic linking is not available on a.out.
	(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
	due to above check.
	* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
	routines from gconv_dl.

1998-04-17  Gordon Matzigkeit  <gord@profitpress.com>

	* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
	we can compile without libio.

1998-04-20 16:28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/mach/hurd/Subdirs: Remove login.

1998-04-11  Gordon Matzigkeit  <gord@profitpress.com>

	* db2/compat.h: Include <errno.h>, to make sure we get the
	definition of EFTYPE before we define it ourselves.

1998-04-10  Gordon Matzigkeit  <gord@profitpress.com>

	* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
	* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
	Fix typo to allow inclusion from sys/ioctl.h again.

1998-04-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* iconvdata/*.[ch]: Clean up namespace.  Optimize character lookup.

1998-04-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Export __strerror_r.  Remove _strerror_internal.

1998-04-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
	Also undefine __strcasestr.

1998-04-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/regex.c: Rename __re_max_failures back to re_max_failures,
	aliases do not work with global variables due to copy relocations.

1998-04-20 15:12  Ulrich Drepper  <drepper@cygnus.com>

	* manual/creature.texi: Fix type.  Patch by Andreas Schwab.

1998-04-20 13:47  Ulrich Drepper  <drepper@cygnus.com>

	* signal/sighold.c: Include stddef.h for NULL definition.
	* signal/sigrelse.c: Likewise.
	* sysdeps/posix/sigignore.c: Likewise.
	* sysdeps/posix/sigset.c: Likewise.
	* sysdeps/posix/waitid.c: Likewise.
	* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
	Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.

1998-04-13  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
	* login/getutent.c (getutxent): Remove alias.
	* login/getutent_r.c (setutxent, pututxline, endutxent):
	Remove aliases.
	* login/getutid.c (getutxid): Remove alias.
	* login/getutline.c (getutxline): Remove alias.
	* login/utmp.h: Add prototypes for __updwtmp, __getutent,
	__getutid, __getutline and __pututline.
	* login/utmpx.h: Moved to ...
	* sysdeps/gnu/utmpx.h: ... here.  [__USE_GNU]: Define UTMPX_FILE,
	UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
	and updwtmpx.
	* login/updwtmp.c: Moved to ...
	* sysdeps/generic/updwtmp.c: ... here.  (updwtmp): Generalized by
	allowing file name transformation.
	* sysdeps/gnu/updwtmp.c: New file.  Use generic implementation with
	additional file name transformation.
	* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
	* login/utmp_file.c: Moved to ...
	* sysdeps/generic/utmp_file.c: ... here.  (setutent_file):
	Generalized by allowing file name transformation.  Do not
	print error message.  Library functions should not print them.
	Reported by Jim Meyering.
	* sysdeps/gnu/utmp_file.c: New file.  Use generic implementation
	with additional file name transformation.
	* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
	* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
	setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
	pututxline, utmpxname and updwtmpx.  (sysdep_headers): Add utmpx.h
	and bits/utmpx.h.
	* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
	(_PATH_UTMPX): Define to _PATH_UTMP.  (_PATH_WTMPX): Define to
	_PATH_WTMPX.  (RUN_LVL): Define only if __USE_GNU.  (ACCOUNTING):
	Define if __USE_GNU.
	* sysdeps/gnu/setutxent.c: New file.
	* sysdeps/gnu/getutxent.c: New file.
	* sysdeps/gnu/endutxent.c: New file.
	* sysdeps/gnu/getutxid.c: New file.
	* sysdeps/gnu/getutxline.c: New file.
	* sysdeps/gnu/pututxline.c: New file.
	* sysdeps/gnu/utmpxname.c: New file.
	* sysdeps/gnu/updwtmpx.c: New file.
	* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
	* sysdeps/generic/bits/utmpx.h: Remove.

1998-04-20  Ulrich Drepper  <drepper@cygnus.com>

	* posix/wordexp-test.c (main): Initialize ifs element of ts for
	~root test.

1998-04-17 07:53  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.

1998-04-17 11:32  Ulrich Drepper  <drepper@cygnus.com>

	* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
	variable using _G_stat64.
	* libio/fileops.c: Remove macro definition of fstat, it is in the
	global header.
	Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.

1998-04-17  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
	<willy@odie.barnet.ac.uk>.

1998-04-16  Philip Blundell  <Philip.Blundell@pobox.com>

	* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
	required by IPv6 Basic API.
	(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
	(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
	(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
	(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-20 18:41:05 +00:00
Ulrich Drepper 479e9b3f21 Update.
1998-04-15  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/gconv_simple.c (__gconv_transform_ucs4_ascii): Fix typo in
	last change.

1998-04-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-minimal.c (__strtol_internal): Correct range check.  Fix
	return value on overflow.

1998-04-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/posix/mkstemp.c (mkstemp): Change value and v to 64
	bits.

1998-04-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/mtrace.c (mtrace): Use standard function setvbuf instead
	of non-standard function setbuffer.

1998-04-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdio-common/perror.c: Include <string.h> for __strerror_r.
1998-04-15 10:15:16 +00:00
Ulrich Drepper 310b3460e0 Update.
1998-04-14 16:34  Ulrich Drepper  <drepper@cygnus.com>

	* test-skeleton.c: Provide hook for initializing code before the fork.
	* rt/tst-aio.c: Use PREPARE hook to make suer temp files are always
	removed.

	* libio/fcloseall.c (__fcloseall): Return return value of _IO_cleanup.
	* libio/genops.c (_IO_cleanup): Return return value of _IO_flush_all.
	* libio/libioP.h: Adopt _IO_cleanup prototype.

	* stdlib/Makefile (tests): Add test-canon2.
	* stdlib/test-canon2.c: New file.
	* stdlib/canonicalize.c (canonicalize): Allow RESOLVED parameter to
	be NULL.  Use __lxstat, not __lstat.  Correctly recognize long
	symlink sequences.
	(__realpath): Make real function which checks RESOLVED parameter for
	not being NULL.

1998-04-14  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/open_catalog.c (__open_catalog): Fix problems with
	reading non-files.  Always close file.
	Reported by Cristian Gafton <gafton@redhat.com>.

	* elf/dl-minimal.c (__strtol_internal): Prevent overflow warnings.

1998-04-14 13:28  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add various low-level I/O functions.

1998-04-14 10:35  Ulrich Drepper  <drepper@cygnus.com>

	* string/Makefile (routines): Remove strerror_r.
	* string/strerror_r.c: Removed.
	* string/strerror.c: Call __strerror_r for doing the real work.
	* sysdeps/generic/_strerror.c: Rename function to __strerror_r and
	add weak alias strerror_r.
	* sysdeps/mach/_strerror.c: Likewise.
	* assert/assert-perr.c: Use __strerror_r instead of _strerror_internal.
	* elf/dl-error.c (_dl_signal_error): Likewise.
	* elf/dl-profile.c (_dl_start_profile): Likewise.
	* gmon/gmon.c (write_gmon): Likewise.
	* stdio-common/perror.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.

1998-04-10  Mark Kettenis  <kettenis@phys.uva.nl>

	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet]
	(sysdep_headers): Add netatalk/at.h.

1998-04-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/socket.texi, manual/creature.texi, manual/time.texi:
	Formatting fixes.

1998-04-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/regex.c: Rename __re_syntax_options back to
	re_syntax_options, aliases do not work with global variables due
	to copy relocations.
	(regex_compile): Use syntax parameter instead of
	re_syntax_options.

1998-04-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* configure.in: Document that enable-force-install is default.
1998-04-14 16:51:08 +00:00
Ulrich Drepper 27a5bb33ac Update.
1998-04-07 16:18  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add __asprintf to GLIBC_2.1.
	* elf/dlerror.c: Use __asprintf, not asprintf.
	* libio/stdio.h: Declare __asprintf.
	* stdio-common/asprintf.c: Define as __asprintf and make asprintf
	a weak alias.

	* elf/dl-minimal.c: Add definition of strtol and strtoul (und friends)
	to avoid inclusion from libc_pic.a.

	* elf/dl-runtime.c: Undo last patch.

	* stdlib/strtod.c: Don't use mbtowc, use btowc.

	* sysdeps/i386/dl-machine.h (dl_platform_init): Don't use "i386"
	as default, use NULL.
1998-04-07 16:28:09 +00:00
Ulrich Drepper a853022cc3 Update.
1998-03-24  Ulrich Drepper  <drepper@cygnus.com>

	* elf/ldsodesf.h: New file.
	* elf/Makefile (distribute): Add ldsodefs.h.
	* elf/link.h: Separate internal information in exter header.
	* elf/rtld.c: Include elf/ldsodefs.h not link.h.
	* elf/dl-minimal.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* elf/sprof.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/dlvsym.c: Likewise.
	* elf/dlerror.c: Likewise.
	* elf/dladdr.c: Likewise.
	* elf/dlclose.c: Likewise.
	* elf/dlopen.c: Likewise.
	* elf/dl-addr.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* nss/nsswitch.c: Likewise.
1998-03-24 00:39:45 +00:00
Ulrich Drepper ea7eb7e3eb Update.
1998-03-04 09:43  Ulrich Drepper  <drepper@cygnus.com>

	* elf/link.h (struct link_map): Add new field l_reloc_result.
	* elf/dl-reloc.c (_dl_relocate_object): Allocate array for results
	of relocation for the object to be profiled.
	* elf/dl-object.c (_dl_new_object): Initialize l_reloc_result field
	to NULL.
	* elf/rtld.c (_dl_start): Add comment that we must not allocate an
	array here.
	* elf/dl-runtime.c (profile_fixup): If l_reloc_result array already
	contains a result from a previous run use this instead of computing
	the value again.
	* elf/dl-minimal.c (malloc): Remove limit for size of allocation.

1998-03-04 11:32  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-03-04 09:53:17 +00:00
Ulrich Drepper da8324650d Update.
1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-load.c (add_name_to_object): Don't translate strings.
	* elf/dl-minimal.c (_strerror_internal): Define it here to avoid
	pulling in the whole error list.
	(__dcgettext, dcgettext): Removed.
	* libc.map: Export _strerror_internal.

1998-02-18 10:50  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/fpu/t_exp.c: New file.

1998-02-18  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/libnss_nisplus.map: NIS+ support is new in glibc 2.1, add
	everything with version GLIBC_2.1.
	* hesiod/libnss_hesiod.map: Likewise.

1998-02-18  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/arith.texi (Old-style number conversion): This node is a
	section, not a subsection.

1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-lookup.c (make_string): Use __stpcpy instead of stpcpy.

1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/rtld.c (dl_main): Make sure that the library search paths
	have been initialized before the first call to _dl_map_object.

1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (common-generated): Add libc_pic.os.

1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/rtld.c (dl_main): Use PT_PHDR to figure out the load address
	of the executable.

1998-02-18 10:28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-02-18 11:00:24 +00:00
Ulrich Drepper af6f39063b Update.
1997-10-26 18:12  Ulrich Drepper  <drepper@cygnus.com>

	* libio/genops.c: Partial undo of last patch.
	* libio/stdfiles.c: Likewise.
	* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_file_plus.
	* libio/iopopen.c: Likewise.
	* libio/iovdprintf.c: Likewise.
	* libio/libio.h: Remove duplicated `;'.
	* libio/stdio.c: Remove misleading comment.
	* libio/stdio.h: Declare standard streams as variables.

	* login/Makefile (distribute): Add README.utmpd.
	* login/README.utmpd: New file.
	Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.

	* manual/job.texi: Document tcgetsid.
	* manual/pattern.texi: Document globfree.
	* manual/terminal.texi: Document B38400 ... B460800.

	* posix/confstr.c: Print "-D_FILE_OFFSET_SIZE=64" for _CS_LFS_CFLAGS.

	* posix/unistd.h: Add explanation of _POSIX_* constants.

	* posix/unists.h: Add prototypes for __pread, __pread64, __pwrite
	and __pwrite64.
	* sysdeps/generic/pread.c: Define as __pread and make pread weak alias.
	* sysdeps/generic/pread64.c: Likewise.
	* sysdeps/generic/pwrite.c: Likewise.
	* sysdeps/generic/pwrite64.c: Likewise.
	* sysdeps/posix/pread.c: Likewise.
	* sysdeps/posix/pwrite.c: Likewise.
	* sysdeps/posix/pread64.c: New file.
	* sysdeps/posix/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=posix] (sysdep_routines):
	Add s_pread64 and s_pwrite64.
	* sysdeps/unix/sysv/linux/pread.c: New file.
	* sysdeps/unix/sysv/linux/pread64.c: New file.
	* sysdeps/unix/sysv/linux/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/s_pread64.c: New file.
	* sysdeps/unix/sysv/linux/s_pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Add pread and pwrite.
	* sysdeps/unix/sysv/linux/alpha/pread64.c: New (empty) file.
	* sysdeps/unix/sysv/linux/alpha/pwrite64.c: New (empty) file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: New (empty) file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: New (empty) file.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add pread and pwrite
	with weak aliases for *64 functions.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

	* string/bits/string2.h: Add casts to allow void * arguments.

	* sysdeps/i386/i486/bits/string.h: Define index and rindex only if
	__USE_BSD or __USE_XOPEN_EXTENDED.

	* sysdeps/unix/sysv/linux/bits/socket.h: Add SCM_RIGHTS and other
	SCM_* constants from kernel header.

	* termios/termios.h: Add prototype for tcgetsid.

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

	* sunrpc/clnt_perr.c: Add trailing '\0' to strings.

	* sunrpc/get_myaddr.c: Include rpc/clnt.h for prototypes.

	* sunrpc/pmap_clnt.c: Use get_myaddress from header file.

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

	* configure.in: Punt if any directory mentioned in the
	enable-add-on parameter does not exist.

1997-10-25 19:25  Ulrich Drepper  <drepper@cygnus.com>

	* termios/Makefile (routines): Add tcgetsid.
	* termios/tcgetsid.c: New file.
	Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.

1997-10-25 18:56  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/stdlib.h: Remove mblen optimization.
	* stdlib/mblen.c: Rewrite to make sure global state is not changed.
	Reported by anderson@metrolink.com.

1997-10-19 21:51  Wolfram Gloger  <wg@wolfram.dent.med.uni-muenchen.de>

	* malloc/thread-m.h [_LIBC]:  Use new __libc_internal_tsd_{set,get}
	interface for thread-specific data.

1997-10-25 06:51  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-addr.c: Use braces for correct logical grouping.
	Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

1997-10-18 09:15  Geoff Keating  <geoffk@ozemail.com.au>

	* io/ftwtest-sh: Sometimes /tmp is a symlink to somewhere more
	convenient; that caused this test to break.

	* sysdeps/powerpc/dl-machine.h: Fix typo.

	* sysdeps/powerpc/bits/fenv.h: Don't use floating-point registers
	when -msoft-float is in effect, because this causes compilation to
	stop.
	* sysdeps/powerpc/bits/mathinlines.h: Likewise.

	* rpm/template: Add description, use RPM flags rather than the ones
	used to build the spec.  Build in a temporary directory, not /.

	* elf/dl-lookup.c: Don't include _itoa.h, it's not used.
	* elf/dl-minimal.c: Use _itoa_word rather than _itoa.  It seems that
	_itoa is the only routine that ld.so uses that requires something
	from libgcc.a on powerpc, so it would be best to avoid it in ld.so.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/_strerror.c: Likewise.
	* stdio-common/_itoa.c: Split out digits strings.
	* stdio-common/itoa-digits.c: New file.
	* stdio-common/Makefile: Add itoa-digits.

1997-10-21  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/filesys.texi (Scanning Directory Content): Document error
	case more.

	* dirent/scandir.c (scandir): Ignore errors from select function.
	Suggested by urbanw@cs.umu.se (closes PR libc/316).

1997-10-25 06:18  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Corrections.
	Patch by Erik Troan <ewt@redhat.com>.

1997-10-25 04:00  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Favour exact
	matching of version function if both the general (1) and
	glibc-specific (3) entry are present.

1997-10-22 18:47  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/rpc/clnt.h: Add get_myaddress prototype.

	* nis/libnsl.map: Fix typo.

	* nis/nis_call.c: Fix memory leak.

1997-10-22 19:29  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/memcmp.c: Define __P if not defined before.
	Patch by Jim Meyering <meyering@eng.ascend.com>.

1997-10-21 22:09  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/sys/prctl.h: New file by Richard Gooch
	<rgooch@atnf.csiro.au>.

1997-10-21 21:50  Ulrich Drepper  <drepper@cygnus.com>

	* misc/syslog.c (vsyslog): Open console with O_NOCTTY.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.

1997-10-21 18:07  Ulrich Drepper  <drepper@cygnus.com>

	* posix/wordexp.c: Improve handling of $... expressions.
	Patch by Tim Waugh <tim@cyberelk.demon.co.uk>.

1997-10-21 16:12  Ulrich Drepper  <drepper@cygnus.com>

	* manual/string.texi: Correct return values of bcopy and bzero.
	Patch by Matthew Wilcox <willy@odie.barnet.ac.uk>.

1997-10-18 15:03  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Correct types of some
	elements in struct msghdr and struct cmsghdr, to keep in step with
	the kernel.

1997-10-17 22:29  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Fix another
	bug in startup code.
	Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.

1997-10-16 20:17  Richard Henderson  <rth@cygnus.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Dump args to the
	stack and give the kernel a pointer.  Use the sysdep.h macros.

1997-10-17 04:07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/sparc/sparc32/elf/start.S: Calculate argv correctly.
	Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.

1997-10-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/libm-ieee754/s_nextafterxf.c [!__STDC__]: Correct typo.

1997-10-16 14:50  Ulrich Drepper  <drepper@cygnus.com>

	* manual/pattern.texi: Document globfree.

1997-10-15 21:11  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/unix/sysv/linux/net/if_packet.h: New file.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	net/if_packet.h.

	* sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_ASH): New type, for
	64Mbps ASH.
	(ARPHRD_ETHER): This is used for 100Mbps networks too.

1997-10-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makerules (install): Use full pathnames for linker script.
	This is to work around a limitation in `ld' while no better solution
	is possible.

1997-10-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* malloc/malloc.c (mmap_chunk): Put inline before static in
	function definition to avoid compiler warning.
	(malloc_extend): Likewise.

	* sysdeps/generic/des_impl.c: Include "des.h" to avoid warning.

1997-10-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* NEWS: Fix @gnu.ai.mit.edu -> @gnu.org.
	* README.template: Likewise.
	* db/makedb.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/ldd.sh.in: Likewise.
	* intl/locale.alias: Likewise.
	* login/programs/utmpd.c: Likewise.
	* libio/stdfiles.c [!_IO_MTSAFE] (DEF_STDFILE): Fix parameter list.

1997-10-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Rules: Remove all empty.* files.
	(shared-only-routines): Correct implementation.

1997-10-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_lrintl.c: Make compilable.
	* sysdeps/libm-ieee754/s_llrintl.c: Likewise.  Optimized.

1997-10-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldd.bash.in: Only prepend ./ if the file contains no slash
	at all.
	* elf/ldd.sh.in: Likewise.

1997-10-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/sys/ucontext.h: New file.

1997-10-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/s_scalbln.c: New (empty) file.
	* sysdeps/m68k/fpu/s_scalblnf.c: New (empty) file.
	* sysdeps/m68k/fpu/s_scalblnl.c: New (empty) file.

	* sysdeps/m68k/fpu/s_scalbn.c: Add scalbln alias.
	* sysdeps/m68k/fpu/s_scalbnf.c: Adapted.
	* sysdeps/m68k/fpu/s_scalbnl.c: Adapted.

	* sysdeps/m68k/fpu/s_lrint.c: Add standard skeleton stuff.
	* sysdeps/m68k/fpu/s_lrintf.c: New file.
	* sysdeps/m68k/fpu/s_lrintl.c: New file.

	* sysdeps/m68k/fpu/bits/mathinline.h: Add fma and scalbln.  Update
	lrint and scalbn.
	(__m81_inline) [__cplusplus]: Define to __inline.

	* math/bits/mathcalls.h: Remove whitespace before second argument
	of __MATHDECL.  Add note explaining this.

1997-10-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/arith.texi (Absolute Value): Spelling fix.

1997-10-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/obstack.h (obstack_empty_p) [!__GNUC__]: Properly
	parenthesize the macro parameter.

	* Rules: Remove rules to magically install <subdir>.h headers.
1997-10-26 20:13:00 +00:00
Ulrich Drepper ca34d7a7c7 Update.
1997-08-14 03:14  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-minimal.c: Don't use relative #include paths.
	(malloc): Don't try to initialize _dl_pagesize, it already is.
	(__sigjmp_save, longjmp): Reformat.

	* sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to
	show content of auxiliary array.
	(_dl_sysdep_start): Remember start of auxiliary vector.
	* sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function.
	* elf/link.h: Add prototype for _dl_show_auxv.
	* elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar
	is present.

	* libio/iofdopen.c: Better prepare for use in libstdc++.
	* libio/iofflush.c: Likewise.
	* libio/iofgetpos.c: Likewise.
	* libio/iofgets.c: Likewise.
	* libio/iofopen.c: Likewise.
	* libio/iofputs.c: Likewise.
	* libio/iofread.c: Likewise.
	* libio/iofsetpos.c: Likewise.
	* libio/ioftell.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/iogetdelim.c: Likewise.
	* libio/iogets.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/ioputs.c: Likewise.
	* libio/iosetbuffer.c: Likewise.
	* libio/iosetvbuf.c: Likewise.
	* libio/ioungetc.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.

	* manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct
	place.

	* manual/math.texi: Add comment to sincos decsription to say it's a
	GNU extension.
	Fix description of random function.

	* posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32.
	* posix/glob.c: Likewise.  Handle stupid system headers on SunOS.
	Add casts for all __alloca calls.
	* posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32.
	Declare additional GLOB_* constants also if _GNU_SOURCE is defined.
	Patches by Paul D. Smith <psmith@BayNetworks.COM>.

	* stdio-common/_itoa.c: Don't use relateive #include paths.

	* sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for
	gcc 2.7.
	(atan): Loading 1.0 from memory does not pay off.
	(asinh): Fix typo.

1997-08-13 09:44  Philip Blundell  <Philip.Blundell@pobox.com>

	* sysdeps/stub/accept.c: Use socklen_t where necessary.
	* sysdeps/stub/bind.c: Likewise.
	* sysdeps/stub/connect.c: Likewise.
	* sysdeps/stub/getsockname.c: Likewise.
	* sysdeps/stub/getsockopt.c: Likewise.
	* sysdeps/stub/recvfrom.c: Likewise.
	* sysdeps/stub/sendto.c: Likewise.
	* sysdeps/stub/setsockopt.c: Likewise.

1997-08-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* io/ftw.c (object_compare): Avoid memcmp when comparing scalar
	types.

1997-08-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c (cbrt_test): Add epsilon for long double to
	`cbrt (-0.001)'.

1997-08-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/stub/bits/string.h: Fix comment.

1997-08-01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/Makefile (routines): Remove dl-version.
	(dl-routines): Add it here instead.  This removes dead code from
	libc.so.

1997-08-12 17:17  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/thread-m.h (thread_atfork, thread_atfork_static): New
	macros to encapsulate pthread_atfork's functionality.
	* malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New
	functions, registered via thread_atfork in the initialization
	routine or via thread_atfork_static in global scope.  This
	ensures a consistent state of all locks across fork().

1997-08-11 23:00:32 1997  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/programs/xtmp.c (compare_entry):
	Partially undo patch made by Klaus Espenlaub.  There
	was no xtmp/utmp typo.  Added comment to cclarify this.
	* login/programs/xtmp.h: Likewise.

	* posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32.
	Patch by Paul D. Smith <psmith@BayNetworks.COM>.

1997-08-12 13:51  Ulrich Drepper  <drepper@cygnus.com>

	* login/getutid.c: Rename to __getutid and make getutid and getutxid
	weak aliases.
	Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>.

1997-08-11 23:55  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
	Add bits/mman.h.

1997-08-11 08:51:21 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* stdlib/fmtmsg.c (fmtmsg): Add static to
	__libc_once_define macro.

	* libc.map (__progname_full, __progname): Added.

1997-08-04 08:31  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0
	if SIOGIFINDEX is not defined.
	(if_indextoname): Initialize "result" to NULL.
	(if_nametoindex, if_nameindex): Fix ENOSYS setting.

1997-08-11 11:58  Richard Henderson  <rth@cygnus.com>

	Sparc ISO C 9x exception handling:
	* sysdeps/sparc/fpu/bits/mathdef.h: New file.
	* sysdeps/sparc/fpu/fclrexcpt.c: New file.
	* sysdeps/sparc/fpu/fegetenv.c: New file.
	* sysdeps/sparc/fpu/fegetround.c: New file.
	* sysdeps/sparc/fpu/feholdexcpt.c: New file.
	* sysdeps/sparc/fpu/fesetenv.c: New file.
	* sysdeps/sparc/fpu/fesetround.c: New file.
	* sysdeps/sparc/fpu/feupdateenv.c: New file.
	* sysdeps/sparc/fpu/fgetexcptflg.c: New file.
	* sysdeps/sparc/fpu/fraiseexcpt.c: New file.
	* sysdeps/sparc/fpu/fsetexcptflg.c: New file.
	* sysdeps/sparc/fpu/ftestexcept.c: New file.
	* sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file.
	* sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file.

1997-08-11 11:58  Richard Henderson  <rth@cygnus.com>

	Sparc64 merge:
	* configure.in: Change up subdirectories, rename sparc8->sparcv8.

	* csu/Makefile: Nuke need-nopic-initfini bits.  The problem was
	that sparc64 ld did not recognize pic relocs at all.

	* elf/dl-deps.c: Include <string.h>.
	* elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size
	directly instead of the DT names to get them from.
	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled
	from ELF_DYNAMIC_DO_REL{,A}.  Define a second version that accounts
	for the possibility that DT_RELA and DT_JMPPLT overlap, as such is
	the case on the Sparc.

	* elf/elf.h: Stub out Elf64_Ver*, and make them the same as the
	Elf32_Ver* bits.  The linker does not even know to differentiate
	between the word sizes.  Someone should examine this and figure
	out what the proper sizes of things should be for 64-bit hosts
	before the sparc64 libraries are distributed.

	* shlib-versions: Rename sparc64 ld.so to not conflict with sparc32
	on the same machine.

	Move old sysdeps/sparc contents to sysdeps/sparc/sparc32,
	rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to
	sysdeps/sparc/sparc64.  Same for sysdeps/unix/sysv/linux/sparc.

	* sysdeps/sparc/Implies: Do ieee754 here.
	* sysdeps/sparc/configure.in: Move from sparc32/.
	* sysdeps/sparc/sparc32/Implies: Do wordsize here.
	* sysdeps/sparc/sparc64/Implies: Likewise.

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address):
	Use uninitialized .got to find load address instead of AT_BASE, as
	the later does not exist when running ld.so directly.

	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../.
	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise.

	* sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support.

	* sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel
	and s_signbitl for stdio.
	* sysdeps/sparc/sparc64/configure.in: Remove, we no longer need
	nopic_initfini.

	* sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove.
	* sysdeps/sparc/sparc64/bsd-setjmp.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp
	and setjmp entry points.

	* sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation.

	* sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC.
	* sysdeps/sparc/sparc64/elf/crtend.S: Likewise.

	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction):
	Fix sa_flags size for sparc64; add sa_restorer for kernel.

	* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.

	* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file.

1997-08-10 18:29:08 1997  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/login.c (login): Check for correct return value of
	utmpname.

1997-08-11 16:49  Ulrich Drepper  <drepper@cygnus.com>

	* time/tzset.c (__tzset_internal): Correctly handle TZ strings
	following incorrect old POSIX specs.
	Patch by Paul Eggert <eggert@twinsun.com>.

	* sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART.
	* sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise.
	Reported by NIIBE Yutaka <gniibe@mri.co.jp>.

1997-08-09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/math.texi: Define the macros @mul and @infinity and use
	them to format the multiplication and infinity signs.
	(FP Comparison Functions): Use @code, not @math, for C code
	examples.

	* elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
Ulrich Drepper 0413b54c02 Update.
1997-08-10 18:48  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Define build-programs to no if not set and $(config-os)
	is none.
	* Makerules (+depfiles): Don't add $(others) if not build-programs.
	* Rules (others): Don't depend on $(install-bin), $(install-rootbin)
	and $(install-sbin) if not build-programs.
	* Makefile (subdirs): Remove login.
	* sysdeps/mach/hurd/Subdirs: Add login.
	* sysdeps/unix/Subdirs: Add login.

	* sysdeps/generic/sys/mman.h: Test feature macros before defining
	non-POSIX things.  Add MAP_FAILED.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Rewrite to not use kernel header
	but bits/mman.h.  Test feature macros before definitions non-POSIX
	functions.
	* sysdeps/unix/sysv/linux/alpha/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/i386/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/m68k/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/mips/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/sparc64/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/alpha/Dist: Add bits/mman.h.
	* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
	* sysdeps/unix/sysv/linux/mips/Dist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc64/Dist: New file.  Likewise.

	* catgets/open_catalog.c (__open_catalog): Compare result of mmap
	with MAP_FAILED and not -1.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* elf/dl-minimal.c (malloc): Likewise.
	* elf/dl-misc.c (_dl_sysdep_read_whole_file): Likewise.
	* locale/loadlocale.c (_nl_load_locale): Likewise.
	* locale/programs/localedef.c: Likewise.
	* malloc/malloc.c (mmap_chunk): Likewise.
	(new_heap): Likewise.
	* string/stratcliff.c: Likewise.
	* string/tester.c: Add tests for stpcpy.

	* gmon/gmon.c (__monstartup): Use calloc instead of malloc+memset.

	* gmon/sys/gmon.h: Add prototype for write_profiling.

	* elf/dl-profile.c: Add decsriptions and implement reading of
	existing data in profiling file.
	* gmon/sys/gmon_out.h (GMON_SHOBJ_VERSION): New macro for shared
	lib profiling data.

	* sysdeps/stub/bits/libc-lock.h (__libc_once_define): Add new first
	parameter for class.

	* inet/inet_ntoa.c: Make once control variable static.
	Correctly handle case where key cannot be retrieved.
	* inet/Makefile (tests): Add tst-ntoa.
	* inet/tst-ntoa.c: New file.

	* manual/time.texi: Document localtime_r, gmtime_r, asctime_r, and
	ctime_r.
	Mention that tzname values must not be changed.

	* manual/users.texi: Document UTMP/WTMP handling functions.
	Mainly written by Mark Kettenis.

	* math/libm-test.c (cbrt_test): Add test for number with aboslute
	value < 1.0.

	* nss/nss_files/files-XXX.c (internal_setent): If opening of file
	failed with EGAIN return NSS_STATUS_TRYAGAIN.
	* nss/nss_files/files-alias.c (internal_setent): Likewise.

	* sysdeps/generic/bits/utmp.h: Pretty print.

	* sysdeps/i386/i586/strcpy.S: New file.  Much faster implementation.
	* sysdeps/i386/i586/stpcpy.S: New file.
	* sysdeps/i386/i686/Implies: Don't fall back on i586 versions since
	these are less efficient than i486/i386 versions.

	* sysdeps/libm-i387/e_rem_pio2.c: Add empty file to prevent the
	version from libm-ieee754 be compiled since the later is not needed.
	* sysdeps/libm-i387/e_rem_pio2f.c: Likewise.
	* sysdeps/libm-i387/e_rem_pio2l.c: Likewise.
	* sysdeps/libm-i387/k_rem_pio2.c: Likewise.
	* sysdeps/libm-i387/k_rem_pio2f.c: Likewise.
	* sysdeps/libm-i387/k_rem_pio2l.c: Likewise.
	* sysdeps/m68k/fpu/e_rem_pio2.c: Likewise.
	* sysdeps/m68k/fpu/e_rem_pio2f.c: Likewise.
	* sysdeps/m68k/fpu/e_rem_pio2l.c: Likewise.
	* sysdeps/m68k/fpu/k_rem_pio2.c: Likewise.
	* sysdeps/m68k/fpu/k_rem_pio2f.c: Likewise.
	* sysdeps/m68k/fpu/k_rem_pio2l.c: Likewise.

	* sysdeps/libm-i387/s_cbrt.S: Fix several bugs.
	* sysdeps/libm-i387/s_cbrtf.S: Likewise.
	* sysdeps/libm-i387/s_cbrtl.S: Likewise.

	* sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct
	little bug.

	* sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Make field
	msg_iovlen of type int.

	* time/tzfile.c: Change return type of __tzstring to char *.
	* time/tzset.c: Likewise.  Change definition of __tzstring.

	* time/tzset.c: Interpret no DST information in user provided time
	zone specification as it is meant: no DST.
	Patch by Paul Eggert <eggert@twinsun.com>.

1997-07-20 03:01  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/elf/dl-load.c (add_name_to_object): New procedure.
	(_dl_map_object_from_fd): Use add_name_to_object.
	(_dl_map_object): If an object's SONAME is used to resolve a
	dependency, add it to the list of the object's names.

	* inet/getnameinfo.c: Make `domain' non-const.

	* sysdeps/unix/sysv/linux/powerpc/kernel_termios.c: Clean up.

	* math/test-fenv.c (feenv_nomask_test): Don't execute if
	FE_NOMASK_ENV is not defined, or if fesetenv(FE_NOMASK_ENV)
	sets errno to ENOSYS.

	* sysdeps/powerpc/dl-machine.h: Print proper error message on
	unknown reloc type (rather than using assert).

	* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/profil.c: Deleted.

1997-07-16 12:47  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/bits/fenv.h (feraiseexcept): New optimising macro.
	(feclearexcept): New optimising macro.
	(FE_NOMASK_ENV): Change to procedure so it can enable exceptions.
	(FE_ENABLED_ENV): Add.
	(FE_NONIEEE_ENV): Add.
	* sysdeps/powerpc/bits/fenv_const.c: Add __fe_enabled_env,
	__fe_nonieee_env; delete __fe_nomask_env.
	* sysdeps/powerpc/bits/fe_nomask.c: New file (stub warning until it
	gets implemented in the kernel).

	* sysdeps/powerpc/fraiseenv.c: Deal with chips that don't have
	FE_INVALID_SOFTWARE implemented. Use macros for bit names for clarity.
	* sysdeps/powerpc/fsetexcptflag.c: Likewise.

	* io/ftw.c: Don't compare holes in structures.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Cast the result of the
	macros to `int', because otherwise it might be `long long' which
	the calling code is probably not expecting.

	* sysdeps/libm-ieee754/s_lround.c [NO_LONG_DOUBLE]: Fix a few bugs,
	document the existence of some more.

	* sysdeps/powerpc/s_llrint.c: New file.
	* sysdeps/powerpc/s_lrint.c: New file.
	* sysdeps/powerpc/s_llround.c: New file.
	* sysdeps/powerpc/s_lround.c: New file.

	* sysdeps/powerpc/s_sqrt.c: New file.
	* sysdeps/powerpc/s_sqrtf.c: New file.
	* sysdeps/powerpc/w_sqrt.s: New empty file.
	* sysdeps/powerpc/w_sqrtf.s: New empty file.
	* sysdeps/powerpc/t_sqrt.c: New file.
	* sysdeps/powerpc/test-arithf.c: New file.
	* sysdeps/powerpc/Makefile [subdir=math]: Add t_sqrt to support
	routines.  Add test-arithf to test programs.

	* sysdeps/powerpc/bits/mathdef.h: Add FP_ILOGB0, FP_ILOGBNAN.

	* sysdeps/powerpc/strcmp.s: Simplify drastically. Now much neater,
	and possibly faster (or possibly slower, depending on input).

1997-06-08 22:55  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/fenvbits.h: Correct FE_DFL_ENV and FE_NOMASK_ENV
	macros.
	* sysdeps/powerpc/s_rint.c: New file.

1997-05-22 08:47  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/Makefile [subdir=math]: Add q_* routines.
	* sysdeps/powerpc/Dist: Add quad_float.h.
	* sysdeps/powerpc/q_dtoq.c: New file.
	* sysdeps/powerpc/q_itoq.c: New file.
	* sysdeps/powerpc/q_lltoq.c: New file.
	* sysdeps/powerpc/q_neg.c: New file.
	* sysdeps/powerpc/q_qtoi.c: New file.
	* sysdeps/powerpc/q_qtoll.c: New file.
	* sysdeps/powerpc/q_qtos.c: New file.
	* sysdeps/powerpc/q_qtou.c: New file.
	* sysdeps/powerpc/q_qtoull.c: New file.
	* sysdeps/powerpc/q_stoq.c: New file.
	* sysdeps/powerpc/q_ulltoq.c: New file.
	* sysdeps/powerpc/q_utoq.c: New file.
	* sysdeps/powerpc/quad_float.h: New file.
	* sysdeps/powerpc/test-arith.c: New file.

	* sysdeps/powerpc/fpu_control.h: Fix _FPU_GETCW.
	* sysdeps/powerpc/fegetround.c: Use mcrfs to be faster and not
	require a stack frame.
	* sysdeps/powerpc/bits/fenv.h: Include inline macro for fegetround.

1997-05-18 05:55  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/fenv_libc.h (fegetenv_register,
	fesetenv_register): Add 'volatile'.
	(set_fpscr_bit, reset_fpscr_bit): New macros, FPSCR_*
	constants to use with them.
	* sysdeps/powerpc/s_copysign.S: New file.
	* sysdeps/powerpc/s_copysignf.s: New file.
	* sysdeps/powerpc/s_fabs.S: New file.
	* sysdeps/powerpc/s_fabsf.s: New file.
	* sysdeps/powerpc/s_isnan.c: New file.
	* sysdeps/powerpc/s_isnanf.s: New file.
	* sysdeps/powerpc/s_rintf.c: New file.

	* sysdeps/powerpc/fenvbits.h: Make FE_INVALID the summary
	bit in the FPSCR, not the enable bit.
	* sysdeps/powerpc/fraiseexcpt.c: Consequent change to the above.
	* sysdeps/powerpc/fclrexcpt.c: Correct.
	* sysdeps/powerpc/fsetexcptflag.c: Correct.
	* sysdeps/powerpc/ftestexcpt.c: Is now much simpler.
	* sysdeps/powerpc/fgetexcptflg.c: Simplify.

	* sysdeps/powerpc/strlen.s: Schedule better, save 3 clocks :-).

	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Add comment
	explaining some reentrancy issues with lazy PLT entries.

1997-08-09 13:04  Mark Kettenis  <kettenis@phys.uva.nl>

	* login/logout.c (logout): utmpname returns -1 on error.

	* login/libutil.map: Remove updwtmp.

	* login/getutline.c: Rename getutline to __getutline and make
	getutline a weak alias.  Make getutxline a weak alias for
	__getutline.
	* login/getutid.c: Rename getutid to __getutid and make getutid a
	weak alias.  Make getutxid a weak alias for __getutid.
	* libc.map: Add getutxid, getutxline.

	* login/utmpname.c (__utmpname): Reset backend right after backend
	endutent call.
	* login/utmp_file.c: Reordered functions.  Remove unecessary
	header files.
	(getutent_r_file, pututline_file): Do not call setutent_file.  At this
	point the file is guaranteed to be open (assert!).
	(getutid_r_file, getutline_r_file): Remove check for validity of file
	descriptor.  At this point the file is guaranteed to be open.
	(getutent_r_file, internal_getut_r, getutline_r_file, pututline_file,
	updwtmp_file): Do not wait when unlocking file.
	* login/utmp_daemon.c: General cleanup and a bit of reordering.
	(getutent_r_daemon, pututline_daemon): Do not call setutent_daemon.
	At this point the socket is guaranteed to be open (assert!).
	(getutid_r_daemon, getutline_r_daemon): Do not check if daemon_sock is
	valid.  At this point the socket is guaranteed to be open (assert!).
	* login/getutline_r.c: Remove unnecessary header files.
	(__getutline_r): Do not call backend setutent.
	* login/getutid_r.c: Remove unnecessary header files.
	(__getutid_r): Do not call backend setutent.
	* login/getutent_r.c: Remove unneccesary header files.
	(__libc_utmp_unknown_functions): Added getutid_r_unknown,
	getutline_r_unknown.
	(setutent_unknown): Only set file backend if setutent for the file
	backend was successful.
	(getutent_r_unknown, pututline_unknown): Call setutent_unknown instead
	of __setutent.  Report failure if no backend was selected.
	(getutid_r_unknown): New function.
	(getutline_r_unknown): New function.
	(__endutent): Reset backend.  This makes sure all backends are checked
	on the next setutent call.

1997-08-08 20:20  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis_cache.c: Replace dummy functions.

	* libc.map: Add xdr_sizeof symbol.

	* sunrpc/Makefile: Add xdr_sizeof to routines.
	* sunrpc/rpc/xdr.h: Add xdr_sizeof prototype.
	* sunrpc/xdr_sizeof.c: New, from tirpc 2.3.

1997-08-08  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/bits/libc-lock.h (__libc_once): Define correctly.

1997-08-07  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/profil.c (fetch_samples): Put parens in the
	right place.

1997-08-06  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/profil.c (fetch_samples): Do arithmetic on
	PC's in long long to avoid overflow.

1997-08-07  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/bits/libc-lock.h (__libc_once, __libc_once_define):
	New macros.

1997-08-06  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/Makefile (headers): Remove bits/nislib.h.

1997-08-06 14:54  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/mach/hurd/Subdirs: Add login.

1997-08-06 14:23  Klaus Espenlaub  <kespenla@hydra.informatik.uni-ulm.de>

	* db/hash/hash.c (init_hash): Don't use stat() if it doesn't provide
	the preferred block size.

	* login/programs/database.c (store_state_entry): Don't compile if
	there is no ut_type field.
	(store_state_entry, store_process_entry): Use the ut_tv field
	for timestamps if supported.

	* login/programs/utmpdump.c (print_entry): Always use ut_tv field.

	* login/programs/xtmp.c: Fix numerous xtmp/utmp typos.  Use the ut_tv
	field for timestamps if supported.

	* login/programs/xtmp.h: Fix xtmp/utmp typo.

	* sysdeps/posix/defs.c (stdstream): Change (PTR) to (void *).

	* sysdeps/stub/connect.c (connect): Change to __connect, add alias.
	* sysdeps/stub/send.c (send): Likewise.
	* sysdeps/stub/s_exp2f.c: Emit correct stub_warning().
	* sysdeps/stub/statfs.c: Move stub_warning() to the usual place.
	* sysdeps/stub/init-first.c: Add definition of __libc_pid.

1997-08-05 13:28  Philip Blundell  <pb@spring.nexus.co.uk>

	* sysdeps/standalone/arm/bits/errno.h: Add EISDIR, EOPNOTSUPP;
	tidy up formatting.

	* Makefile (subdirs): Remove `login'.
	* sysdeps/unix/Subdirs: New file; build `login' subdirectory
	for Unix systems.

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

	* sysdeps/generic/bits/utmpx.h: New file.

	* sysdeps/mach/hurd/Dist: Add some files.
	* sysdeps/mips/Dist: Likewise.
	* sysdeps/mips/mips64/Dist: Likewise.
	* sysdeps/sparc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/mips/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Dist: Likewise.
	* sysdeps/mips/mipsel/Dist: New file.
	* sysdeps/sparc64/elf/Dist: New file.
	* sysdeps/unix/sysv/linux/sparc64/Dist: New file.

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

	* libc.map: Add missing symbols.

1997-08-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/socket.texi: Correct typos.

	* manual/math.texi: Correct typos.

	* manual/time.texi (Formatting Date and Time): Likewise.

1997-08-04 13:06  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* gmon/gmon.c (write_gmon): New function; guts from _mcleanup.
	(_mcleanup): Use write_gmon.
	(write_profiling): This function can be safely called at any time
	to write a current histogram without interfering with ongoing
	profiling.

	* sysdeps/mach/hurd/profil.c (fetch_samples): Initialize NSAMPLES.

1997-08-01 17:53  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/profil.c (fetch_samples): Sample buffer need
	not be vm_deallocated; it's a stack buffer.
	(profil_vm_deallocate): Delete prototype.
	(#include <../mach/RPC_vm_deallocate_rpc.c>): Drop this
	inclusion.
	* sysdeps/mach/hurd/Makefile
	($(common-objpfx)hurd/../mach/RPC_vm_deallocate_rpc.c): Delete
	this rule.

	* sysdeps/mach/hurd/profil.c (fetch_samples): New function, guts
	from profile_waiter.
	(profile_waiter): Use fetch_samples.
	(profil): When turning off profiling, fetch the last bunch of
	samples before disabling PC sampling.
	(fetch_samples): Add prototype.

1997-07-30 12:53  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/Makefile: Give normal rules for the mach RPC
	source included by profil.c instead of trying to use
	before-compile grot.

1997-07-23 15:04  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/profil.c (profile_waiter): Do vm_deallocate
	after releasing lock.  Use special RPC stubs and avoid assert,
	thus making this function entirely independent of the threadvar
	mechanism and of cthreads.
	(lock): Convert to be a spin lock instead of a mutex, so that the
	waiter thread need not use cthreads.  Use a fork prepare hook
	instead of _hurd_fork_locks to make sure we are clean before
	forking.
	(fork_profil_child): Renamed from fork_profil.
	(profil_reply_port): New variable.
	(profil_vm_deallocate, profil_task_get_sampled_pcs): Special RPC
	stubs made by special hacks.
	* sysdeps/mach/hurd/Makefile (before-compile): Add the mach RPC
	source files that profil.c needs if we are in the gmon directory.

	* mach/setup-thread.c (__mach_setup_thread): Delete avoidance of a
	cthreads bug that hasn't existed for two years.

	* stdio-common/printf_fp.c (__printf_fp): Correct rounding of numbers
	* locale/programs/locale.c (print_escaped): New function.
	* time/australasia: Likewise.
	(open_database, synchronize_database, initialize_database):
	* nss/nss_files/files-netgrp.c (_nss_netgroup_parseline): Don't
	* Makerules (load-map-file): Currectly handle missing map file.
	cannot rely on M_SQRT2 being defined.
	(log1p): Use __M_SQRT2 not M_SQRT2.
1997-08-10 18:37:15 +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 c131718ccc Update.
1997-04-09 01:24  Ulrich Drepper  <drepper@cygnus.com>

	* rellns-sh: Rewrite to work also in presence of symlinks.

	* arpg/argp-fmtstream.c: Add casts to prevent warnings.
	* argp/argp-fmtstream.h: Likewise.
	* argp/argp-help.c: Likewise.

	* elf/dl-minimal.c: Add definition of calloc.
	* elf/version.c: Add casts to prevent warnings.
	(_dl_check_map_versions): Use calloc instead of malloc+memset.

	* locale/setlocale.c (_nl_current): Add element with index LC_ALL.
	Reported by Greg McGary <gkm@eng.ascend.com>.

	* manual/libc.texinfo: Update malloc documentation for new malloc.
	* manual/memory.texi: Likewise.
	Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

	* math/libm-test.c (check_long): New function.
	(check_longlong): New function.
	(rinttol_test): New function.
	(rinttoll_test): New function.

	* nis/nss_compat/compat-grp.c (in_blacklist): Improve a bit.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.

	* stdlib/erand48_r.c (erand48_r): Build double value using
	ieee754_double union and use random bits in different order to
	increase effect of seed.
	Reported by David Mosberger-Tang <davidm@AZStarNet.com>.

	* sunrpc/svc_auth.c: Moved to ...
	* sysdeps/generic/svc_auth.c: ...here.

	* time/time.h: Pretty print.

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

	* libio/genops.c (_IO_flush_all_linebuffered): don't flush on
	a read-only stream.

1997-04-09 01:19  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/malloc.c (mALLOC_STATs) [MALLOC_DEBUG>1]: Put declaration
	in correct place.
	Patch by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.

1997-04-07 15:34  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/Makefile (tests): Add tst-ferror.
	* stdio-common/tst-ferror.c: New file.  Some tests for error
	indicator of streams.
	* stdio-common/tst-ferror.input: New file.

	* isomac.c: Let tests not fail because the compiler defines itself
	symbols which violate the name space rules.  gcc defines symbols
	for the architecture which are not protected by an underscore
	character.

	* math/Makefile (libm-support): Add s_rinttol and s_rinttoll.
	(libm-calls): Add s_clog.
	* sysdeps/libm-ieee754/s_clog.c: New file.  Implementation of
	logarithm of complex value.
	* sysdeps/libm-ieee754/s_clogf.c: New file.
	* sysdeps/libm-ieee754/s_clogl.c: New file.
	* math/libm-test.c (clog_test): Compile this function.  Fix a few
	typos.
	(main): Call clog_test.

	* sysdeps/libm-ieee754/s_rinttol.c: New file.  Round long double
	value to long int.
	* sysdeps/libm-i387/s_rinttol.S: New file.
	* sysdeps/libm-ieee754/s_rinttoll.c: new file.  Round long double
	value to long long int.
	* sysdeps/libm-i387/s_rinttoll.S: New file.

	* sysdeps/libm-ieee754/s_rintl.c: Many corrections.  The previous
	version was full of errors.

	* math/math.h (rinttol): Argument is of type `long double' not
	`double'.
	(rinttoll): Likewise.
	(roundtol): Likewise.
	(roundtoll): Likewise.

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

	* posix/getopt.c (_getopt_initialize): Preserve optind.
	(_getopt_internal): Set optind to 1 if optind == 0 before
	calling _getopt_initialize ().

1997-04-05 16:45  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/rpcsvc/nislib.h: Change const nis_name to new type
	const_nis_name.
	* nis/nis_intern.c: Likewise.
	* nis/nis_intern.h: Likewise.
	* nis/nis_server.c: Likewise.
	* nis/nis_subr.c: Likewise.
	* nis/nis_table.c: Likewise.
	* nis/nis_names.c: Likewise.  Fill out ns_request structure in
	nis_add().

	* nis/nss_compat/compat-pwd.c: Use reentrant netgroup functions.
	* nis/nss_compat/compat-spwd.c: Likewise.

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

	* libio/fileops.c (_IO_file_overflow): Set error when try to write
	on a read-only stream.

	* sysdeps/gnu/utmpbits.h (ut_xtime): New symbol.
	(ut_time): Define it only if _NO_UT_TIME is not defined.

1997-04-06 00:42  Ulrich Drepper  <drepper@cygnus.com>

	* misc/tst-tsearch.c: Include <string.h>.  Define _GNU_SOURCE only
	if not already defined.

1997-04-05 16:14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netatalk/at.h: Include <sys/socket.h> to
	get definition of sa_family_t for <linux/atalk.h>.
	Reported by a sun <asun@zoology.washington.edu>.

	* malloc/malloc.c (cALLOc): Little optimization.
1997-04-08 23:42:08 +00:00
Ulrich Drepper afd4eb3759 update from main archive 961116
Sun Nov 17 03:13:57 1996  Ulrich Drepper  <drepper@cygnus.com>

	* db/makedb.c: Update and reformat copyright.
	* elf/Makefile: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dladdr.c: Likewise.
	* elf/dlclose.c: Likewise.
	* elf/dlerror.c: Likewise.
	* elf/dlopen.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/eval.c: Likewise.
	* elf/rtld.c: Likewise.
	* inet/ether_hton.c: Likewise.
	* inet/ether_ntoh.c: Likewise.
	* inet/ether_line.c: Likewise.
	* inet/getnetgrent_r.c: Likewise.

	* inet/Makefile (+gccwarn): Remove definition.
	Instead set CFLAGS-rcmd.c, CFLAGS-rexec.c, and CFLAGS-ruserpass.c
	to `-w'.
	* inet/aliases.h: Add C++ protection.
	* inet/ether_hton.c: Add prototype for __nss_ethers_lookup.
	(ether_hostton): Remove unused variable result.
	* inet/ether_ntoh.c: Likewise.
	* inet/ether_line.c: Include <ctype.h> and <string.h>.
	* inet/getnetgrent_r.c: Include <stdlib.h>.
	Use casts to prevent warnings.
	(innetgr): Initialize `known' and `needed'.
	* inet/inet_net.c: Make local variable `i' of type u_int32_t.
	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)) [NEED__RES]: Don't
	return NULL.  Instead set *RESULT to NULL and return -1.
	* nss/getXXent_r.c (INTERNAL (REENTRANT_GETNAME)): Likewise.
	(SETFUNC_NAME, ENDFUNC_NAME) [NEED__RES]: Don't return anything.

	* nss/nss_files/files-alias.c: Debug function.  I didn't worked at
	all before.

Sat Nov 16 15:25:34 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/readv.c: Don't use PTR anymore.
	* sysdeps/posix/writev.c: Likewise.

	* version.h (VERSION): Bump to 1.98.

	* nss/db-Makefile: Generate lines for getXXXent iteration.

	* sysdeps/alpha/Dist: Don't distribute removed files divlu.S,
	divqu.S, remlu.S, and remqu.S.

Fri Nov 15 08:55:54 1996  Andreas Jaeger  <aj@arthur.pfalz.de>

	* posix/unistd.h: Correct typo in documentation.

Thu Nov 14 18:08:14 1996  a sun  <asun@zoology.washington.edu>

	* inet/netinet/tcp.h: Use __ protected versions instead of
	BYTE_ORDER, LITTLE_ENDIAN, and BIG_ENDIAN directly.

Sat Nov 16 13:44:55 1996  Ulrich Drepper  <drepper@cygnus.com>

	* intl/loadmsgcat.c (_nl_msg_cat_cntr): Initialize so that
	references in libc.so are not anymore undefined.

Sat Nov 16 18:17:36 1996  NIIBE Yutaka  <gniibe@mri.co.jp>

	* io/utime.h: Rename second parameter for utime to prevent warning
	for -Wshadow.
	* dirent/dirent.h: Same here for scandir prototype.
	* math/mathcalls.h: Likewise for frexp and ldexp.
	* sysdeps/unix/sysv/linux/netinet/in.h: Likewise for bindresvport.

Sat Nov 16 03:49:27 1996  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/tst-strtod.c: Add test for error case below.

Sat Nov 16 03:48:39 1996  Wolfram Gloger  <Wolfram.Gloger@dent.med.uni-muenchen.de>

	* stdlib/strtod.c: Recognize numbers like 0e-19.

Fri Nov 15 08:38:43 1996  Andreas Jaeger  <aj@arthur.pfalz.de>

	* time/Makefile ($(installed-localtime-file)): Fix path to
	rellns-sh.

	* Makefile: Don't generate and install gnu/lib-names.h if
	$(build-shared) is not `yes'.

Thu Nov 14 09:23:58 1996  H.J. Lu (hjl@gnu.ai.mit.edu)

	* sysdeps/posix/Makefile ($(common-objpfx)mk-stdiolim): Depend
	on $(..)posix/posix1_lim.h, not ../posix/posix1_lim.h.

	* Makerules (REAL_MAKE_VERSION): New, use it instead of
	MAKE_VERSION.

Thu Nov 14 22:10:43 1996  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nss_files/files-XXX.x (_nss_files_get,ENTNAME_r): Fix typo.
	* nss/getXXent_r.c: Fix typo.  Set correct return value when
	no further service is available.

Thu Nov 14 17:48:13 1996  Ulrich Drepper  <drepper@cygnus.com>

	* db/recno/rec_put.c: Add cast to avoid warning.
	* db/recno/rec_close.c: Likewise.
	* db/mpool/mpool.c: Likewise.
	* db/hash/hash_bigkey.h: Likewise.
	* db/hash/hash.c: Likewise.
	* db/btree/bt_split.c: Likewise.
	* db/btree/bt_put.c: Likewise.

Thu Nov 14 14:11:44 1996  Ulrich Drepper  <drepper@cygnus.com>

	* dirent/dirent.h: Update copyright.
	* elf/elf.h: Likewise.
	* elf/link.h: Likewise.
	* gmon/sys/gmon_out.h: Likewise.
	* gnu-versions.h: Likewise.
	* intl/libintl.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/ftw.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/utime.h: Likewise.
	* locale/langinfo.h: Likewise.
	* malloc/malloc.h: Likewise.
	* malloc/obstack.h: Likewise.
	* misc/ar.h: Likewise.
	* misc/error.h: Likewise.
	* misc/mntent.h: Likewise.
	* misc/sgtty.h: Likewise.
	* misc/sys/cdefs.h: Likewise.
	* misc/sys/dir.h: Likewise.
	* misc/sys/file.h: Likewise.
	* misc/sys/ioctl.h: Likewise.
	* misc/sys/ustat.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/getopt.h: Likewise.
	* posix/glob.h: Likewise.
	* posix/posix2_lim.h: Likewise.
	* posix/regex.h: Likewise.
	* posix/sys/times.h: Likewise.
	* posix/sys/types.h: Likewise.
	* posix/sys/utsname.h: Likewise.
	* posix/tar.h: Likewise.
	* posix/wordexp.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* resource/sys/vlimit.h: Likewise.
	* resource/sys/vtimes.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* socket/sys/un.h: Likewise.
	* stdio-common/printf.h: Likewise.
	* stdlib/alloca.h: Likewise.
	* string/argz.h: Likewise.
	* string/endian.h: Likewise.
	* string/envz.h: Likewise.
	* string/memory.h: Likewise.
	* string/strings.h: Likewise.
	* sysdeps/generic/crypt.h: Likewise.
	* sysdeps/generic/direntry.h: Likewise.
	* sysdeps/generic/gnu/types.h: Likewise.
	* sysdeps/generic/ioctl-types.h: Likewise.
	* sysdeps/generic/netinet/in.h: Likewise.
	* sysdeps/generic/resourcebits.h: Likewise.
	* sysdeps/generic/sigset.h: Likewise.
	* sysdeps/generic/sockaddrcom.h: Likewise.
	* sysdeps/generic/sys/mman.h: Likewise.
	* sysdeps/generic/sys/ptrace.h: Likewise.
	* sysdeps/generic/termbits.h: Likewise.
	* sysdeps/generic/waitstatus.h: Likewise.
	* sysdeps/ieee754/huge_val.h: Likewise.
	* sysdeps/ieee754/nan.h: Likewise.
	* sysdeps/mach/hurd/local_lim.h: Likewise.
	* sysdeps/mach/hurd/statbuf.h: Likewise.
	* sysdeps/stub/huge_val.h: Likewise.
	* sysdeps/stub/libc-lock.h: Likewise.
	* sysdeps/stub/signum.h: Likewise.
	* sysdeps/stub/statbuf.h: Likewise.
	* sysdeps/stub/waitflags.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise.
	* sysdeps/unix/bsd/osf/alpha/statbuf.h: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/signum.h: Likewise.
	* sysdeps/unix/bsd/statbuf.h: Likewise.
	* sysdeps/unix/bsd/sun/signum.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/termbits.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/waitflags.h: Likewise.
	* sysdeps/unix/sysv/irix4/signum.h: Likewise.
	* sysdeps/unix/sysv/irix4/statbuf.h: Likewise.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/direntry.h: Likewise.
	* sysdeps/unix/sysv/linux/gnu/types.h: Likewise.
	* sysdeps/unix/sysv/linux/ioctl-types.h: Likewise.
	* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
	* sysdeps/unix/sysv/linux/resourcebits.h: Likewise.
	* sysdeps/unix/sysv/linux/signum.h: Likewise.
	* sysdeps/unix/sysv/linux/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/syscall.h: Likewise.
	* sysdeps/unix/sysv/linux/termbits.h: Likewise.
	* sysdeps/unix/sysv/local_lim.h: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/syscall.h: Likewise.
	* sysdeps/unix/sysv/sco3.2/local_lim.h: Likewise.
	* sysdeps/unix/sysv/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigset.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/signum.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/statbuf.h: Likewise.
	* sysdeps/unix/sysv/sysv4/waitflags.h: Likewise.
	* sysdeps/vax/huge_val.h: Likewise.
	* values.h: Likewise.

Thu Nov 14 04:22:41 1996  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/obstack.h: Use memcpy instead of bcopy and define a macro
	`memcpy' using bcopy if memcpy is not available.

	* manual/stdio.texi: Correct description of printf customization.
	The argument info function is not optional anymore and the
	interface for `printf_function' also changed.
	* manual/examples/rprintf.c: Define and use argument info function.

	* stdio-common/printf.h (struct printf_info): Change type for field
	`pad' to wchar_t.
	Correct comment for `register_printf_function'.

	* nss/getXXbyYY.c [NEED_H_ERRNO]: Don't pass pointer to h_errno
	to reentrant function.  Instead use temporary variable and set
	h_errno if an error occured.
	Reported by NIIBE Yutaka.

	are no bits set in the masks.  Reported by baldazzi@csr.unibo.it.
1996-11-17 03:15:52 +00:00
Ulrich Drepper 6ed0492f8e update from main archvie 961022
Tue Oct 22 21:38:21 1996  Ulrich Drepper  <drepper@cygnus.com>

	* version.h: Bump version number to 1.97.

	* features.h: Undo change of Sun Oct 20 22:19:58 1996.
	Include libc-version.h.
	* features.h.in: Removed.
	* Makefile: Change rules to generate libc-version.h instead of
	features.h.

	* malloc/free.c: Add cast to prevent warning.
	* malloc/malloc-walk.c: Likewise.
	* malloc/ralloc.c: Likewise.
	* malloc/realloc.c: Likewise.

	* grp/fgetgrent_r.c: Accept empty numeric field if name start with +
	or -.
	* pwd/fgetpwent_r.c: Likewise.
	* nss/nss_files/files-grp.c: Don't accept entries with names starting
	with + or - in lookup functions.
	* nss/nss_files/files-pwd.c: Likewise.

	* Makerules: Call autolock.sh using $(SHELL).

Mon Oct 21 22:52:16 1996  NIIBE Yutaka  <gniibe@mri.co.jp>

	* elf/dl-minimal.c: Don't define `dgettext' replacement but
	`dcgettext'.  When optimizing the macros in <libintl.h> define
	`dgettext' as a macro and so this function will never be called.

Mon Oct 21 15:41:59 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/sysdep.h: Define END to use .size when available.
	(PSEUDO_END): Use END.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_END to
	define SYSCALL_ERROR_HANDLER before using END.
	(SYSCALL_ERROR_HANDLER): Don't use .size directive.
	* sysdeps/unix/sysv/linux/clone.S: Don't use SYSCALL_ERROR_HANDLER
	and .size directive but PSEUDO_END.
	* sysdeps/unix/sysv/linux/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/sysdep.S (__errno_location): Use END.
	* sysdeps/unix/i386/sysdep.S (__syscall_error): Likewise.
	* sysdeps/i386/__longjmp.S: Use END instead of PSEUDO_END.
	* sysdeps/i386/bsd-_setjmp.S: Likewise.
	* sysdeps/i386/bsd-setjmp.S: Likewise.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/i386/memcmp.S: Likewise.
	* sysdeps/i386/setjmp.S: Likewise.
	* sysdeps/i386/stpcpy.S: Likewise.
	* sysdeps/i386/stpncpy.S: Likewise.
	* sysdeps/i386/strchr.S: Likewise.
	* sysdeps/i386/strcspn.S: Likewise.
	* sysdeps/i386/strpbrk.S: Likewise.
	* sysdeps/i386/strrchr.S: Likewise.
	* sysdeps/i386/strspn.S: Likewise.
	* sysdeps/i386/strtok.S: Likewise.
	* sysdeps/i386/i486/strcat.S: Likewise.
	* sysdeps/i386/i486/strlen.S: Likewise.
	* sysdeps/i386/i586/memset.S: Likewise.
	* sysdeps/i386/i586/strchr.S: Likewise.
	* sysdeps/i386/i586/strlen.S: Likewise.

	* sysdeps/i386/strlen.c: De-ANSI-fy.

	* sysdeps/generic/_strerror.c: Undo change of Mon Oct 21 01:32:36 1996.
	Define dgettext if not defined to use dcgettext.
	* sysdeps/mach/_strerror.c: Likewise.

	* sysdeps/unix/sysv/i386/time.S: Add PSEUDO_END to get
 	__syscall_error defined..

Sat Oct 19 12:27:50 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/mmap.S: Fix braino: CALL_MCOUNT is
	already included in the ENTRY macro.  Remove SYSCALL_ERROR_HANDLER
	now provided by PSEUDO_END.
	* sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.  Use JUMPTARGET.

	* sysdeps/generic/sysdep.h (END): Provide default empty
	definition.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h (END): Redefine to use
	size directive.
	(PSEUDO): Don't include SYSCALL_ERROR_HANDLER.
	(PSEUDO_END): Include it here instead.
	(SYSCALL_ERROR_HANDLER): Remove type directive.
	* sysdeps/m68k/bsd-_setjmp.S: Use END, not PSEUDO_END.
	* sysdeps/m68k/bsd-setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	(__syscall_error): Can't use ENTRY macro.

Sat Oct 19 12:13:24 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/syscalls.list (getresuid, setresuid):
	Set caller to EXTRA.

	O_SHLOCK.

Tue Oct 15 14:37:40 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/fcntlbits.h (O_HURD): Add O_EXLOCK and
1996-10-22 23:29:26 +00:00
Roland McGrath 2064087b5f Sun Jul 14 01:51:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* manual/Makefile (glibc-targets): Variable and targets removed.

Sat Jul 13 23:50:17 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* manual/Makefile (lib): New phony target.  Depend on stamp files.
	($(objpfx)stamp%-$(subdir)): New rule to create them when necessary.

1996-07-13  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (strftime): Use space padding for %e, %k, %l,
	to match Emacs format-time-string specification.
	(DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD.

Sat Jul 13 20:17:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and
	NPRELOADS, vector of `struct link_map *'s; add them to the searchlist
	between MAP and its deps.
	* elf/link.h: Fix decl.
	* elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for
	colon-separated list of names, map those and pass vector of ptrs as
	PRELOADS list to _dl_map_object_deps.
	* elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to
	_dl_map_object_deps with empty preload list.
	* elf/dl-open.c (_dl_open): Likewise.

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function
	removed.
	(__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON).
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill):
	Conditionalize defn on [! MAP_ANON].
	* elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd
	on [! MAP_ANON].
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON].
	(_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd.

	* elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself.

Sat Jul 13 02:47:53 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* stdlib/random.c (__random): Declare as int32_t to be in sync
	with declaration.

	* socket/Makefile (headers): Add socketbits.h.

	* misc/mntent.c (endmntent): Allow for NULL stream.  SunOS does
	it that way.

	* grp/initgroups.c (initgroups): Add groups that user is a member
 	of, not the ones he is _not_ a member of.

	* nss/nsswitch.c (known_compare): Make known_compare() a static
 	instead of a local function.  The latter are difficult to debug
 	and slow to execute on certain platforms.

	* sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in
 	place of sizeof (dev).  The size of a literal string includes the
 	NUL byte.

	* sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1.

Thu Jul 11 16:59:10 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* misc/mntent.c (addmntent): Seek to end of file before writing
 	entry.  Return 1 on error, not -1.

Tue Jul  9 19:08:05 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA
	syscall.

Fri Jul  5 18:44:55 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size
 	shift amount for Jensen must be 5 not 4.

Sat Jul 13 20:04:28 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* socket/sys/socket.h (struct osockaddr): New type.

Sat Jul 13 03:50:53 1996  Ulrich Drepper  <drepper@cygnus.com>

	* misc/Makefile (routines): Add qefgcvt and qefgcvt_r.
	* misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double'
	and `long double' versions can be generated.
	* misc/qefgcvt.c, misc/qefgcvt_r.c: New files.  Define macros
	so that included efgcvt{,_r}.c file generate `long double'
	versions.
	* stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r()
	functions.

	* manual/startup.texi: Document new getsubopt function.
	* manual/examples/subopt.c: New example program for documenting
	getsubopt function.

Fri Jul 12 23:58:37 1996  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/Makefile (routines): Add getsubopt.
	* stdlib/stdlib.h: Add prototype for getsubopt.
	* stdlib/getsubopt.c: New file.  Implement getsubopt function
	to handle suboption parsing.
1996-07-14 06:04:09 +00:00
Roland McGrath af5b3bc33b Mon Jul 8 02:14:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern
	storage class.  GCC gives an error for non-extern data defns with the
	alias attribute.

Mon Jul  8 00:11:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* libc-symbols.h (weak_function): New macro.
	For GCC 2.7+ define as __attribute__ ((weak)).
	* elf/dl-minimal.c: Use weak_function as keyword in function defns
 	instead of weak_symbol (NAME) after the defn.
	* stdlib/strtol.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]:
	If this is defined, don't declare _dl_rtld_map as weak, and
	don't check for MAP pointing to it.  RESOLVE is always null in this
	case, so test with #ifdef instead of if.

	* libc-symbols.h (symbol_set_declare): Use weak_extern instead of
	weak_symbol.
	* csu/initfini.c (_init): Likewise.
	* locale/setlocale.c (DEFINE_CATEGORY): Likewise.
	* misc/efgcvt_r.c: Likewise.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.

	* libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed.
	It was not used in any assembler code.
	(weak_symbol_asm): Renamed to weak_extern_asm.
	(weak_extern): New macro replaces weak_symbol for weak extern refs;
	define to weak_extern_asm for [!ASSEMBLER].

	* libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm,
	weak_alias_asm): New macros, renamed from weak_symbol/weak_alias;
	define those now as aliases.
	Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+
	[GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm
	after GCC weak attribute decl.
1996-07-08 06:18:25 +00:00
Roland McGrath 266180eb98 Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
	(__close, __mmap): Likewise define with __ names now.

Mon Jun 10 05:13:18 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/dl-support.c: New file.
	* elf/Makefile (CFLAGS-dl-support.c): New variable.
	(routines, elide-routines.so): Add dl-support.

	* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
	* elf/dl-load.c (_dl_pagesize): Define it here.
	(_dl_map_object_from_fd): Initialize it if zero.
	* elf/link.h (_dl_pagesize): Remove const.

Sun Jun  9 04:04:26 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/Makefile (routines): Add dl-symbol.
	* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
	* elf/dl-symbol.c: New file.

	* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
	(Elf32_Section, Elf64_Section): New types, 16 bits.
	(Elf32_Sym, Elf64_Sym): Use it.

	* elf/dl-deps.c (_dl_open): Moved to ...
	* elf/dl-open.c: New file.
	* Makefile (routines): Add dl-open.

	* elf/Makefile (dl-routines): New variable.
	(routines): Add $(dl-routines).
	(elide-routines.so): New variable, set to $(dl-routines).
	(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
	(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
 	$(dl-routines).

	* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.

	* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.

	* elf/dl-load.c (open_path): Use __ names for open and close.  Avoid
	using strdup.
	(_dl_map_object): Likewise.
	(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
	* elf/dl-minimal.c (malloc): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.

	* elf/dl-minimal.c (_dl_pagesize): New variable.
	(malloc): Use that instead of a static variable.
	* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
	calling getpagesize.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* elf/link.h: Declare _dl_pagesize.

	* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.

	* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
  	* elf/rtld.c (dl_main): Use Half for phdr count arg.
	(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.

	* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
 	extract 4-byte magic number, not ElfW(Word).  Match EI_CLASS against
 	native wordsize, either 32 or 64.

	* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed.  In C a
 	char is always a byte, no need for a typedef.  Section indices are
	16-bit quantities in elf64, which already have a typedef Elf64_Half.

	Remove partial -lelf implementation.  There is now a
	separately-distributed `libelf' package that implements it.
	* elf/dl-lookup.c: Don't #include <libelf.h> any more.
	(_dl_elf_hash): New function, moved from
	libelf.h:elf_hash.
	(_dl_lookup_symbol): Use it instead of elf_hash.
	* elf/libelf.h: File removed.
	* elf/elf_hash.c: File removed.
	* elf/Makefile (headers): Remove libelf.h.
	(extra-libs): Remove libelf.
	(libelf-routines): Variable removed.

	* elf/Makefile (libdl.so): Remove commands from this target.  The
 	implicit rule commands are correct, this explicit rule just serves to
 	add some dependencies.

	* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
 	ELF32_ST_TYPE.  Likewise ST_BIND.
	* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.

	* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
	naming.
	(ELFW): New macro, likewise for ELFXX_* macro naming.
	(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.

Sat Jun  8 20:52:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
 	elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
 	elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
 	elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
 	`ElfW(XXX)' for wordsize-independence.

Sat Jun  8 20:50:42 1996  Richard Henderson  <rth@tamu.edu>

	* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
	(Elf64_auxv_t): New type.
	(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
Roland McGrath efec1d0c47 Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.

	* elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.

	* elf/dl-deps.c: New file.
	* elf/Makefile (rtld-routines): Add dl-deps.
	* elf/link.h: Declare _dl_map_object_deps, _dl_open.
	* elf/rtld.c (dl_main): Use _dl_map_object_deps.
	* elf/dlopen.c: Use _dl_open.

	* elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
	frobnication based on its value.  Detach RTLD_MAP from the chain if
	its l_opencount is zero after loading deps.

	* elf/dlfcn.h (RTLD_BINDING_MASK): New macro.

	* elf/link.h (struct link_map): Replace l_deps_loaded flag member with
	`struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
	* elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
	of two link_map ptrs.  Search the maps in the l_searchlist of each
	elt that is not null.
	* elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
	* elf/dl-runtime.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/rtld.c (dl_main): Likewise.

	* elf/dl-minimal.c (realloc): Support realloc of the block most
	recently returned by the minimal malloc.

	* intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
1996-06-04 05:18:15 +00:00
Roland McGrath 25b86c05c3 Sun Dec 10 09:56:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dl-minimal.c (malloc): Use MAP_PRIVATE in mmap call.
1995-12-11 10:00:21 +00:00
Roland McGrath 42d2676e7c Wed Nov 22 12:37:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/i386/sysdep.S (_errno): Define as alias
	for errno.

	* stdio-common/vfprintf.c [USE_IN_LIBIO] (vfprintf): Define as
	alias for _IO_vfprintf.

	* sysdeps/unix/sysv/linux/sockaddrcom.h: File removed.

	* sysdeps/unix/sysv/linux/i386/init-first.c (init): Use
	__fpu_control instead of ___fpu_control.
	* sysdeps/unix/sysv/linux/i386/ieee_fpu.c
	(___fpu_control): Renamed to __fpu_control.
	* sysdeps/unix/sysv/linux/i386/fpu_control.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/fpu_control.c: Likewise.

	* elf/dl-minimal.c: New file.
	* elf/Makefile (rtld-routines): Add dl-minimal.
	* elf/rtld.c (__dgettext, __assert_fail, __assert_perror_fail):
	Functions moved to dl-minimal.c.
	* sysdeps/mach/hurd/dl-sysdep.c (malloc, free, realloc,
	sigjmp_save, longjmp): Likewise.

	* sysdeps/unix/sysv/linux/i386/brk.S (__curbrk): Always initialize
	to &_end, regardless of PIC.

	* stdio-common/vfscanf.c (__vfscanf): Fix arg name in defn.
1995-11-23 04:53:06 +00:00