Commit Graph

1037 Commits

Author SHA1 Message Date
Roland McGrath
3c25964fb0 * elf/rtld.c (_dl_start): Fix conditional for declaring CNT.
* aclocal.m4 (LIBC_PROG_BINUTILS): Don't clobber $RANLIB with ranlib
	before we check it.
2002-09-29 09:35:51 +00:00
Ulrich Drepper
0e312a8282 Define macro DO_ELF_MACHINE_REL_RELATIVE for 'elf_machine_rel_relative'. (elf_dynamic_do_rel): Call DO_ELF_MACHINE_REL_RELATIVE macro instead of 'elf_machine_rel_relative'. 2002-09-28 04:29:49 +00:00
Roland McGrath
8323008c64 * elf/dl-addr.c (_dl_addr): Set dli_fbase to l_map_start
unconditionally.  Set dli_fname to _dl_argv[0] only for main program.

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

	* elf/dl-addr.c (_dl_addr): Add a cast.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela) [USE_TLS]: Handle new
	TLS relocs R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, and R_X86_64_TPOFF64.

	* elf/elf.h (R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, R_X86_64_TPOFF64,
	R_X86_64_TLSGD, R_X86_64_TLSLD, R_X86_64_DTPOFF32,
	R_x86_64_GOTTPOFF, R_X86_64_TPOFF32): New macros.
	(R_X86_64_NUM): Update the value.
2002-09-27 07:29:51 +00:00
Ulrich Drepper
9a88a2d7b3 Update.
2002-09-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_HASH entry
	if necessary.
	* elf/dl-lookup.c (_dl_setup_hash): DT_HASH entry is already relocated.
	* elf/dl-addr.c (_dl_addr): Use .hash[1] entry to determine end of the
	symbol table if necessary.
2002-09-27 03:17:20 +00:00
Ulrich Drepper
58c9f058a2 (elf_get_dynamic_info): Also relocate DT_HASH entry if necessary. 2002-09-27 02:56:54 +00:00
Roland McGrath
160bb40945 * csu/Versions: Use %include <tls.h> to get USE_TLS defined.
(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead.
	* resolv/Versions: Use %include <tls.h> to get USE_TLS defined.
	(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _h_errno, h_errno,
	and _res.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put h_errno, _res here.

	* elf/tls-macros.h [__x86_64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD):
	New macros for x86-64.

	* sysdeps/unix/sysv/linux/alpha/bits/time.h: File removed.
	It was indentical to the linux/bits/time.h file.

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Add a cast to silence warning.

	* resolv/gethnamaddr.c (gethostbyaddr): Use socklen_t for SIZE.
2002-09-25 01:58:37 +00:00
Roland McGrath
724d8c3f0e * elf/Makefile (test-extras): Define this instead of test-srcs.
* Makerules (all-nonlib): Include $(test-extras) too.
2002-09-23 17:43:42 +00:00
Ulrich Drepper
53fe275883 (_dl_init): Fix test of the size of the preinit_array section. (call_init): Optimize access to DT_INIT_ARRAY entry a bit. 2002-09-20 23:56:18 +00:00
Roland McGrath
82c261269b * sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c.
* sysdeps/generic/utmp_file.c (setutent_file): Invalidate last_entry
	also on platforms with !HAVE_UT_TYPE.
	(proc_utmp_eq): Remove function.
	(internal_getut_r, pututline_file): Call __utmp_equal instead.

2002-09-20  Bruno Haible  <bruno@clisp.org>

	* abi-tags: Add support for FreeBSD with ABI OS value 3.
	* elf/cache.c (print_entry): Support the GNU/FreeBSD ABI tag.
2002-09-20 22:07:20 +00:00
Roland McGrath
0bc0e4dd09 * locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls for
the __ctype_* compat symbols, so the relocs generated bind to the
	right versioned global symbol in the shared object.

	* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
	from the value taken from the DT_VERSYM table.
	* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
	(RESOLVE_GOTSYM): Likewise.
2002-09-18 18:32:27 +00:00
Roland McGrath
1d0ad77362 * elf/dl-lookup.c (_dl_debug_bindings): Print TLS lookups always.
* elf/elf.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE,
	R_386_TLS_LE): Define.
	(R_386_TLS_IE_32, R_386_TLS_LE_32, R_386_TLS_TPOFF32): Update
	comments.
	* sysdeps/i386/dl-machine.h (elf_machine_type_class): Return
	ELF_RTYPE_CLASS_PLT for R_386_TLS_TPOFF.
	(elf_machine_rel): Handle R_386_TLS_TPOFF.
	(elf_machine_rela): Likewise.
	Remove unnecessary RTLD_BOOTSTRAP #ifdefs.
2002-09-18 01:18:08 +00:00
Roland McGrath
735d67f2f8 * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Add a cast.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
	New macro.

	* elf/rtld.c [HP_TIMING_NONAVAIL]: Fix last change for this case.
2002-09-17 06:56:24 +00:00
Roland McGrath
4874b009bd * include/unistd.h: Uncomment libc_hidden_proto for _exit.
* sysdeps/mach/hurd/_exit.c: Add libc_hidden_def.
	* sysdeps/generic/_exit.c: Likewise.

2002-09-12  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (struct dl_start_final_info): New.
	(_dl_start_final): Change second argument to struct
	dl_start_final_info *.  Set start_time from info.
	(_dl_start): Remove bootstrap_map variable, add info.
	Define bootstrap_map as macro.  If not DONT_USE_BOOTSTRAP_MAP,
	store HP_TIMING_NOW result into info.start_time.
2002-09-17 05:42:29 +00:00
Roland McGrath
48c5307058 * sysdeps/generic/ldconfig.h (FLAG_POWERPC_LIB64) New macro.
* elf/cache.c (print_entry): Add case for FLAG_POWERPC_LIB64.
	Remove per-machine conditionals for FLAG_* cases.
	* sysdeps/unix/sysv/linux/powerpc/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/readelflib.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h: New file.
2002-09-14 09:00:42 +00:00
Ulrich Drepper
8e33c9be84 Correct DT_LOOS and DT_HIOS values. 2002-09-12 18:56:23 +00:00
Roland McGrath
65da9563c7 * elf/rtld.c (_dl_start_final): Move _begin, _end decls outside the fn.
(_dl_start) [DONT_USE_BOOTSTRAP_MAP]: Use &_begin instead of l_addr to
	find the ELF header.
2002-09-12 10:12:33 +00:00
Roland McGrath
75aafc716b * elf/rtld.c (dl_main) [USE_TLS]: Adjust l_tls_initimage of main
executable if needed, in case it's actually a shared object.
2002-09-12 09:15:22 +00:00
Roland McGrath
fb848e1585 * elf/dl-load.c (_dl_map_object_from_fd): Use l_addr instead of
l_map_start to adjust l_tls_initimage.
2002-09-12 05:16:00 +00:00
Ulrich Drepper
d92cdffbac Update.
2002-09-09  Steven Munroe  <sjmunroe@us.ibm.com>

	* elf/elf.h: Add powerpc64 specific elf relocation and dynamic types.

2002-09-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-error.c (_dl_signal_cerror): Don't print anything if only
	LD_DEBUG=statistics or LD_TRACE_PRELINKING.
2002-09-10 00:36:58 +00:00
Roland McGrath
be3c40b627 2002-09-04 Bruno Haible <bruno@clisp.org>
* elf/readlib.c (process_file): Conditionalize check for QMAGIC.

	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Turn into inline functions.
	* sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.

	* sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove
	default definitions.
	(__strerror_r): Use _sys_errlist_internal instead of _sys_errlist,
	_sys_nerr_internal instead of _sys_nerr.

	* nscd/connections.c (handle_request): Declare CALLER inside #if.
2002-09-05 18:52:18 +00:00
Roland McGrath
d89ae1d5ef 2002-09-02 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): If prelinking succeeded, mark all objects
        as relocated.
2002-09-02 20:19:26 +00:00
Ulrich Drepper
ff0a515eec (elf_get_dynamic_info): Mark with always_inline attribute. 2002-08-31 04:09:05 +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
868b78c83c * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
	define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
2002-08-29 23:24:40 +00:00
Roland McGrath
6c0b461a58 * elf/tst-tls1-static.c: New file.
* elf/tst-tls2-static.c: New file.
	* elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.
2002-08-28 10:42:59 +00:00
Roland McGrath
db26531364 2002-08-28 Roland McGrath <roland@redhat.com>
* elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally.
	[$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static.
	[$(build-static) = yes] (tests-static): New variable.
	($(tests-static):%=$(objfpx)%.o)): New static pattern rule.
2002-08-28 10:23:59 +00:00
Roland McGrath
cc7375ce02 2002-08-26 Brian Youmans <3diff@gnu.org>
* crypt/crypt.c: Changed copying permission notice to Lesser GPL
        from Library GPL.
        * crypt/crypt_util.c: Likewise.
        * crypt/ufc.c: Likewise.
        * elf/dl-conflict.c: Likewise.
        * elf/dl-iteratephdr.c: Likewise.
        * iconv/iconvconfig.h: Likewise.
        * linuxthreads/Examples/ex10.c: Likewise.
        * linuxthreads/Examples/ex11.c: Likewise.
        * linuxthreads/Examples/ex13.c: Likewise.
        * linuxthreads/Examples/ex8.c: Likewise.
        * linuxthreads/Examples/ex9.c: Likewise.
        * linuxthreads/barrier.c: Likewise.
        * linuxthreads/events.c: Likewise.
        * linuxthreads/lockfile.c: Likewise.
        * linuxthreads/no-tsd.c: Likewise.
        * linuxthreads/pt-machine.c: Likewise.
        * linuxthreads/ptclock_gettime.c: Likewise.
        * linuxthreads/ptclock_settime.c: Likewise.
        * linuxthreads/rwlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/arm/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/arm/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/cris/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/cris/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/hppa/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/hppa/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/i686/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/i386/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/useldt.h: Likewise.
        * linuxthreads/sysdeps/ia64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/ia64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/m68k/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/m68k/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/mips/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/mips/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/powerpc/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/powerpc/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-lock.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-tsd.h: Likewise.
        * linuxthreads/sysdeps/pthread/getcpuclockid.c: Likewise.
        * linuxthreads/sysdeps/pthread/posix-timer.h: Likewise.
        * linuxthreads/sysdeps/pthread/timer_create.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_delete.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_getoverr.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_gettime.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_routines.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_settime.c: Likewise.
        * linuxthreads/sysdeps/pthread/tst-timer.c: Likewise.
        * linuxthreads/sysdeps/s390/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/s390/s390-32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/s390/s390-64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sh/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sh/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
        * linuxthreads/tststack.c: Likewise.
        * linuxthreads/unload.c: Likewise.
        * linuxthreads/weaks.c: Likewise.
        * linuxthreads/wrapsyscall.c: Likewise.
        * malloc/arena.c: Likewise.
        * malloc/hooks.c: Likewise.
        * malloc/malloc.c: Likewise.
        * posix/glob/Makefile.ami: Likewise.
        * posix/glob/Makefile.in: Likewise.
        * stdlib/gmp-impl.h: Likewise.
        * stdlib/gmp.h: Likewise.
        * sysdeps/generic/dl-iteratephdr-static.c: Likewise.
        * sysdeps/generic/strnlen.c: Likewise.
        * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
        * sysdeps/mach/hurd/recvmsg.c: Likewise.
        * sysdeps/mach/hurd/sendmsg.c: Likewise.
        * sysdeps/mach/hurd/spawni.c: Likewise.
        * sysdeps/mach/powerpc/machine-sp.h: Likewise.
        * sysdeps/mach/powerpc/sysdep.h: Likewise.
        * sysdeps/mach/powerpc/thread_state.h: Likewise.
        * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
        * sysdeps/x86_64/gmp-mparam.h: Likewise.
2002-08-26 22:40:48 +00:00
Roland McGrath
ffa8d2a098 * locale/programs/ld-ctype.c (ctype_read): When given a repertoire
name of "", store a null pointer instead.

	* configure.in (elf): Set to yes for freebsd*, netbsd*.
	* configure: Regenerated.

	* locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE):
	Initialize this instead of __libc_tsd_LOCALE_data.

	* sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from
	ptsname_r to EINVAL.

	* sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0.

	* rt/Makefile: Revert last change, it was inappropriate to presume aio
	implementations depend on pthreads.
	* rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS.
	* rt/tst-aio64.c (do_test): Likewise.
	* rt/tst-aio2.c (do_test): Likewise.
	* rt/tst-aio3.c (do_test): Likewise.
	* rt/tst-aio4.c (do_test): Likewise.
	* rt/tst-aio5.c (do_test): Likewise.
	* rt/tst-aio6.c (do_test): Likewise.
	* rt/tst-aio7.c (do_test): Likewise.

	* sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to
	void so as to avoid compiler warnings.

	* libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define
	_IO_wide_data_FD, which is never used here.

	* libio/iofread.c
	[! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn.
	* libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise.
	* libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise.

	* include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl.
	* include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern.

	* misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT].
	(closelog): Likewise.

2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/alpha/fpu/fpu_control.h: Comment fix.

	* sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ...
	* sysdeps/unix/alpha/pipe.S: ... here.
	* sysdeps/unix/bsd/osf/alpha/pipe.S: File removed.

	* sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF.

	* sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
	* sysdeps/unix/i386/fork.S: Likewise.
	* sysdeps/unix/i386/pipe.S: Likewise.
	* sysdeps/unix/i386/wait.S: Likewise.

	* sysdeps/unix/fork.S: Fix PSEUDO_END argument.
	* sysdeps/unix/arm/fork.S: Likewise.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.

	* sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
	(L): Define right for ELF.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition.
	Now defined in sysdeps/i386/sysdep.h.

	* sysdeps/posix/readv.c: Ansify function definition.
	* sysdeps/posix/writev.c: Likewise.

	* stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t
	have the same size. Avoid direct cast from size_t to off_t.

	* login/tst-utmp.c (simulate_login): Don't leave garbage after the
	nul byte in entry[n].ut_user.
	(simulate_logout): Likewise.

	* login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE,
	_HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the
	existence of corresponding members of 'struct utmp'.
	* login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and
	!_HAVE_UT_TYPE.

	* sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small,
	allocate a buffer of at least BUFSIZ bytes, not just of
	sizeof (struct dirent).

	* sysdeps/generic/glob.c: Include <limits.h>.
	(NAME_MAX): Define a fallback.
	(glob_in_dir): Allocate enough room for a 'struct dirent64' on the
	stack.
	* posix/tst-dir.c: Include <stddef.h>, for offsetof.
	(main): Allocate enough room for a 'struct dirent64' on the stack.
	* posix/tst-gnuglob.c (my_DIR): Allocate enough room for a
	'struct dirent'.

	* sysdeps/unix/sysv/linux/init-first.c: Don't include
	kernel-features.h.

	* inet/htontest.c: Include <sys/types.h>.

	* sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS.

	* include/sys/sysctl.h: Comment fix.

	* elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize
	_dl_load_lock.
	* libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO.

	* sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias.

	* sysdeps/unix/inet/syscalls.list (__connect_internal): New alias.
	(__getpeername): New alias.
	(__getsockname): New alias.
	(__socket): New alias.

	* sysdeps/unix/common/syscalls.list (getpgid): Remove.

	* sysdeps/unix/syscalls.list (__chown_internal): New alias.
	(__fcntl_internal): New alias.
	(__profil): New alias.
2002-08-26 11:39:12 +00:00
Ulrich Drepper
046b40694f Update.
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is
	not moved ahead of the fputs call.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod4.c (in_dso): Likewise.
2002-08-25 22:34:57 +00:00
Ulrich Drepper
f6fe58268b (_dl_reloc_bad_type): Nul-terminate message. 2002-08-25 21:52:49 +00:00
Roland McGrath
6ce3881de5 * sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before
resetting handler, to avoid the possibility of a spurious SIGALRM
	delivered to the user's handler.
	Reported by Amit D. Chaudhary <amitc@brocade.com>,

	* misc/Makefile (CFLAGS-init-misc.c): Varaible removed.  It served to
	set -fkeep-inline-functions, which is not needed for the current file.

	* sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls.
	(_dl_setup_hash): Add attribute_hidden.
	(_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise.
	(_dl_sysdep_read_whole_file, _dl_dprintf): Likewise.
	(_dl_new_object, _dl_map_object_deps): Likewise.
	(_dl_map_object_deps_internal): Remove decl.
	* elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden.

	* sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN
	&& HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN
	&& !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]
	(elf_machine_dynamic, elf_machine_load_address): Rewritten without asm,
	instead relying on the compiler to produce only GOTOFF variable refs.
2002-08-25 20:14:50 +00:00
Ulrich Drepper
fd77c3615d Update.
* elf/dl-load.c: Fix typo in comment.  Add a few more __builtin_expect.
2002-08-25 19:34:42 +00:00
Ulrich Drepper
9df8939002 Update.
* elf/rtld.c: Also test for HAVE_VISIBILITY_ATTRIBUTE before
	defining DONT_USE_BOOTSTRAP_MAP.
2002-08-25 09:02:59 +00:00
Ulrich Drepper
5a47e7f2a8 Update.
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/configure.in: Unconditionally define
	PI_STATIC_AND_HIDDEN.
	* elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
	PI_STATIC_AND_HIDDEN is defined as well.
	* config.h.in: Add PI_STATIC_AND_HIDDEN entry.

	* elf/rtld.c (dl_main): Likewise.
2002-08-25 07:22:45 +00:00
Ulrich Drepper
6dd67bd565 Update.
2002-08-24  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/charmap.c (charmap_new_char): Don't use
	ULONG_MAX as maximum UCS4 value.

	* sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.

	* sysdeps/generic/strtol.c: We don't need the isascii test in glibc.

	* malloc/hooks.c (public_sET_STATe): use size_t as type for i.
	* malloc/malloc.c (mALLINFo): Likewise.

	* libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.

	* libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
	examining result of _IO_do_flush call.

	* stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
	Use prec not spec when sizing buffers.

	* catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
	* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
	* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
	* stdio-common/vfscanf.c (inchar): Likewise.
	* misc/efgcvt_r.c (fcvt_r): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/readlib.c (process_file): Likewise.
	* elf/sprof.c (load_profdata): Likewise.
	* sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
	* locale/programs/linereader.c (get_toplvl_escape): Likewise.
	* locale/programs/charmap.c (charmap_read): Likewise.
	* libio/fileops.c: Likewise.
	* libio/fmemopen.c: Likewise.
	* stdlib/strtod.c: Likewise.
	* elf/dl-load.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c (process_block): Likewise.

	* sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
	macro to calm down the compiler.

	* iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.

	* sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.

	* sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
	placement of errno definition.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.

	* resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.

2002-08-16  Paul Eggert  <eggert@twinsun.com>

	* resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.
	* resolv/res_query.c (MAXPACKET): Likewise.

	architectures.
2002-08-25 04:51:08 +00:00
Roland McGrath
c2248c44e4 2002-08-21 Roland McGrath <roland@redhat.com>
* elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can
	be inlined.  Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP]
	and with noinline otherwise.  Remove hack alloca use to prevent
	inlining, we can ask for it explicitly nowadays.
2002-08-22 00:09:26 +00:00
Ulrich Drepper
01d8e36dd9 Update.
* elf/rtld.c (start_time): New global variable.  Moved from _dl_start.
	(DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols
	before relocation.
	(_dl_start): Don't use local bootstrap_map variable if
	DONT_USE_BOOTSTRAP_MAP is defined.  Use GL(dl_rtld_map).  Don't
	pass bootstrap_map to _dl_start_final in this case either.  Don't
	pass start_time to _dl_start_final ever.
	(_dl_start_final): Don't copy bootstrap_map of DONT_USE_BOOTSTRAP_MAP.

	* elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28.
	This cripples the scope lists necessary to search for symbols in
	dependencies which are not in the global scope.
2002-08-21 23:01:40 +00:00
Ulrich Drepper
3fc9ed37d8 (_dl_map_object_deps): Revert patch from 2002-05-28. This cripples the scope lists necessary to search for symbols in dependencies which are not in the global scope. 2002-08-21 22:36:32 +00:00
Ulrich Drepper
9d69bd2492 Update.
2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP.  Set
	bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called.
	(_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map).
	(dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized
	to TL_INIT_TP.  Otherwise pass 1.
	* include/link.h (struct link_map): Add l_tls_tp_initialized.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP.

2002-08-20  Brian Youmans  <3diff@gnu.org>
	* manual/contrib.texi: Removed licenses, added acknowledgements
	for contributions by Intel, IBM, Craig Metz.
	* LICENSES: New file, contains the text of all non-FSF licenses in the
	* sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a
	new one modelled on the modern BSD license, per recent letter
	of permission from CMU.
	* sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise.

	* sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder
	from IBM to FSF, per the recent Software Letter.  Changed the
	distribution terms from GPL to LGPL.

	* sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and
	copying permission notice (Lesser GPL), per recent IBM Software Letter.
	* sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/root.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/utan.tbl: Likewise.

	* sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder
	* sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
	* sysdeps/ieee754/dbl-64/branred.h: Likewise.
	* sysdeps/ieee754/dbl-64/dla.h: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.h: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
	* sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
	* sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.h: Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Likewise.
	* sysdeps/ieee754/dbl-64/urem.h: Likewise.
	* sysdeps/ieee754/dbl-64/uroot.h: Likewise.
	* sysdeps/ieee754/dbl-64/usncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/utan.h: Likewise.

	* sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying
	* sysdeps/ieee754/dbl-64/doasin.c: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/mptan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowpow.c:  Likewise.
2002-08-21 00:17:09 +00:00
Roland McGrath
070cadeb5f * locale/loadarchive.c (_nl_load_locale_from_archive): Handle
partially overlapping mappings.	 Remove unneeded (char *) casts.
	Never allow duplication of ranges in mapped areas.

2002-08-20  Roland McGrath  <roland@redhat.com>

	* elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors
	can be detected by make.  Reported by H.J. Lu <hjl@gnu.org>.

	(dl_main): Pass extra argument 0 to TLS_INIT_TP.
2002-08-20 19:40:17 +00:00
Ulrich Drepper
d78ce054e2 Update.
* elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP.
	(dl_main): Padd extra argument 0 to TLS_INIT_TP.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra
	argument 1 to TLS_INIT_TP.
	* sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
2002-08-20 10:14:15 +00:00
Ulrich Drepper
9a1eb38e4e Update.
2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv
	memory allocation to...
	(allocate_dtv): ...here.  New function.
	(_dl_allocate_tls): Change to take parameter.  If parameter is non-NULL
	call allocate_dtv instead of _dl_allocate_tls_storage.
	(_dl_deallocate_tls): New parameter.  Deallocate TCB only if true.
	(_dl_get_tls_static_info): New function.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls
	and _dl_deallocate_tls.  Add prototype for _dl_get_tls_static_info.
2002-08-20 07:22:11 +00:00
Ulrich Drepper
2a76f7ef14 Update.
2002-08-15  Ulrich Drepper  <drepper@redhat.com>

	* csu/Makefile: Define elide-routines.os not static-only-routines.

	* include/sched.h (__clone): Add varargs at the end.

	* elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that
	case.
	(TLS_INIT_HELPER): If defined use it.
	* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.

	* locale/loadarchive.c (archfname): Add missing slash.
	* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
	* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
2002-08-15 13:04:07 +00:00
Roland McGrath
1a64029808 * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
on L->l_prev; it can happen under rtld --verify too.
2002-08-15 08:43:31 +00:00
Roland McGrath
e6f526809d * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use
of the TLS macros, otherwise the compiler might not have initialized
	the PIC register yet when we use the PLT via asm.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
2002-08-12 06:25:47 +00:00
Roland McGrath
5656e2948f * include/bits/dlfcn.h: New file.
* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.

	* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
	* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
	* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
	* include/pwd.h (_nss_files_parse_pwent): Likewise.
	* include/shadow.h (_nss_files_parse_spent): Likewise.
	* include/netdb.h (_nss_files_parse_protoent,
	_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
	(LINE_PARSER): Use it.
	* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.

	* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
	* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add libc_hidden_weak.

	* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
	#endif.

	* manual/debug.texi (%MENU%): Remove trailing dot.
	Reported by <hayastan132@hotmail.com>.
2002-08-10 07:54:55 +00:00
Ulrich Drepper
9b1b33cea3 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error
	message.
2002-08-08 06:38:19 +00:00
Ulrich Drepper
7d0b1164e6 Update.
* sysdeps/generic/libc-tls.c: Likewise.
2002-08-08 04:16:54 +00:00
Roland McGrath
a585ba226b * sysdeps/posix/system.c (do_system): New function, guts broken out of
__libc_system.
	(__libc_system): Call it, putting just the line == NULL test here.

	* include/libc-symbols.h (__hidden_proto): Add extern keywords so
	variables work right.

	* elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext.
	* elf/dl-close.c (_dl_close): Likewise.

	* include/netinet/in.h: Use libc_hidden_proto for bindresvport,
	in6addr_any, in6addr_loopback.  Remove decls for
	bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport.
	* sunrpc/svc_tcp.c (svctcp_create): Likewise.
	* sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise.
	* sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def.
	* inet/in6_addr.c: Change INTVARDEF to libc_hidden_def.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for
	in6addr_loopback.
	* inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.

	* include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r,
	ether_aton_r.
	* inet/ether_aton_r.c: Add libc_hidden_def.
	* inet/ether_ntoa_r.c: Likewise.

	* include/rpc/auth.h: Use libc_hidden_proto for getnetname,
	netname2user, host2netname.
	* sunrpc/netname.c: Add libc_hidden_def.

	* include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af,
	rexec_af, rresvport_af, ruserok_af.
	* inet/rcmd.c: Add libc_hidden_def.
	* inet/getnetgrent_r.c: Likewise.
2002-08-06 04:30:03 +00:00
Ulrich Drepper
f884de5be9 Update.
2002-08-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Don't use memset.  Use same tricks as for
	the other memset call in this function.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer
	at correct index.  Clear BSS region now that memalign is used.

	* include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll,
	wcspbrk): Add libc_hidden_proto.
	* time/strftime.c (my_strftime): Add libc_hidden_def.
	(strftime): Remove libc_hidden_def.
	* wcsmbs/wcschr.c (wcschr): Add libc_hidden_def.
	* wcsmbs/wcspbrk.c (wcspbrk): Likewise.
	* wcsmbs/wcsspn.c (wcsspn): Likewise.
	* wcsmbs/wcscmp.c (wcscmp): Likewise.
	* wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak.
	* wcsmbs/wcscoll.c (wcscoll): Likewise.

	* include/rpc/rpc.h (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_proto.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.

	* include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto.
	* sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror): Add libc_hidden_def.
	* sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise.

	* include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add
	libc_hidden_proto.
	* sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto.
	* sunrpc/des_soft.c (des_setparity): Likewise.

	* include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_proto.
	* sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_def.
2002-08-06 01:00:59 +00:00