Commit Graph

679 Commits

Author SHA1 Message Date
Andreas Jaeger
7bbaa3b260 (add_dependency): Remove unused variable j. 2000-10-24 11:17:45 +00:00
Ulrich Drepper
42c4f32a44 Update.
2000-10-24  Ulrich Drepper  <drepper@redhat.com>

	Complete revamp of the reference counter handling.
	* include/link.h (struct link_map): Add l_idx field.
	* elf/dl-close.c: Handle decrementing of reference counters more
	correctly. If necessary decrement reference counters of dependencies
	of dependencies.
	* elf/dl-lookup.c (add_dependency): Only increment reference counter
	of the object itself and not also its dependencies.
	* elf/dl-open.c: Increment reference counters here.
	* elf/dl-deps.c: Remove reference counter handling here.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Adjust for _dl_map_deps not handling reference counters.

	* elf/loadtest.c: Print loaded objects at the beginning.
2000-10-24 07:36:55 +00:00
Ulrich Drepper
a881e0a074 Update.
* include/link.h (struct link_map): New bit field l_faked.
	* elf/dl-deps.c: Use l_faked field in struct link_map instead of
	the magic l_opencount==0.
	* elf/dl-load.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/rtld.c: Likewise.
2000-10-24 01:02:15 +00:00
Ulrich Drepper
c41c89d35d Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Add a few more __builtin_expect.
2000-10-24 00:03:37 +00:00
Ulrich Drepper
9807e5408b Update.
* elf/unload.c: Generate more debugging output.

	* elf/neededtest.c: Make it more complicated.
	* elf/neededtest2.c: New file.
	* elf/Makefile: Add rules to build and run neededtest2.
2000-10-23 22:58:40 +00:00
Ulrich Drepper
f92338be6e Update.
* elf/dl-sym.c (_dl_sym): Use exact check for caller PC in range
	of DSO address space.
	(_dl_vsym): Likewise.
2000-10-23 21:40:57 +00:00
Ulrich Drepper
0d0db00c02 Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-sym.c (_dl_sym): For RTLD_DEFAULT, search in objects
	global scope if we can determine it.
2000-10-23 20:02:38 +00:00
Ulrich Drepper
949d553a58 Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (R_IA64_GPREL32MSB, R_IA64_GPREL32LSB): New definitions.
2000-10-23 18:51:39 +00:00
Ulrich Drepper
a35e137a99 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Split out ELF file
	verification in open_verify.
	(open_verify): New function.  Called instead of open.  Ignores valid
	files for other architectures.
	(open_path): Call open_verify instead of open.
	(_dl_map_object): Likewise.
	Somewhat based on a patch by Don Dugger <n0ano@valinux.com>.

	* io/pwd.c (main): The output was missing a newline.
2000-10-21 17:08:18 +00:00
Ulrich Drepper
d785c36692 Update.
2000-10-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (add_to_global): New function.  Split out from
	dl_open_worker.
	(dl_open_worker): Call add_to_global not only for new objects, also for
	previously loaded objects when (mode & RTLD_GLOBAL) and the object
	was not yet in the global scope.
	* elf/Makefile: Add rules to build and run lateglobal.
	* elf/lateglobal.c: New file.
	* elf/ltglobmod1.c: New file.
	* elf/ltglobmod2.c: New file.
2000-10-21 07:16:18 +00:00
Ulrich Drepper
c91bc73e3e Update.
* include/link.h (struct link_map): Add l_soname_added bitfield.
	* elf/dl-load.c (_dl_map_object): Remember when we added the
	SONAME to the l_libname list and don't try it again.
2000-10-21 06:32:16 +00:00
Ulrich Drepper
8699e7b1da Update.
* elf/dl-close.c: Decrement opencount for all dependencies which can
	be removed even if the object is not yet unloaded.
	* elf/dl-deps.c (_dl_map_object_deps): If dependency is already in
	the list decrement opencount of all dependencies.
	* elf/dl-load.c (_dl_map_object_from_fd): Increment object of object
	and all dependencies.
	(_dl_map_object): Likewise.
	* elf/dl-lookup.c (add_dependency): Likewise.

	* elf/loadtest.c: Add debug when with more output.
2000-10-21 06:02:49 +00:00
Ulrich Drepper
f6de2239e2 Update.
* elf/Makefile: Add rules to build and run unload2.
	* elf/unload2.c: New file.
	* elf/unload2mod.c: New file.
	* elf/unload2dep.c: New file.

	* intl/libintl.h (ngettext macro): Add missing parameter.
	(dngettext macro): Likewise.
2000-10-21 02:07:22 +00:00
Ulrich Drepper
ceb579a3f8 Update.
2000-10-19  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile (distribute): Add neededtest.c, neededobj1.c,
	neededobj2.c and neededobj3.c.
	(tests): Add neededtest.
	(modules-names): Add neededobj1, neededobj2 and neededobj3.
	($(objpfx)neededobj1.so): New target.
	($(objpfx)neededobj2.so): Likewise.
	($(objpfx)neededobj3.so): Likewise.
	($(objpfx)neededtest): Likewise.
	($(objpfx)neededtest.out): Likewise.
	* elf/neededtest.c: New. Based on the bug report from
	Allen Bauer <kylix_rd@hotmail.com>.
	* elf/neededobj1.c: Likewise.
	* elf/neededobj2.c: Likewise.
	* elf/neededobj3.c: Likewise.

2000-10-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Decrement reference counter for all
	dependencies even if the DSO does not get unloaded.

	* elf/dl-load.c (_dl_map_object_from_fd): Pass pointer to ELF header
	to elf_machine_matches_host.
	* sysdeps/alpha/dl-machine.h (elf_machine_matches_host): Parameter
	is now pointer to ELF header.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/generic/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	Patch by Martin Schwidefsksy <schwidefsky@de.ibm.com>.

2000-10-20  Jakub Jelinek  <jakub@redhat.com>

	* include/limits.h: Include bits/wordsize.h, use #if __WORDSIZE == 64
	check instead of #ifdef __alpha__.
	* include/bits/xopen_lim.h (WORD_BIT, LONG_BIT): Don't count on
	INT_MAX, __INT_MAX__, LONG_MAX or __LONG_MAX__ being defined when
	this is included.

	* posix/wordexp-tst.sh (testout): Place output file in build
	directory.  Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-10-21 00:02:39 +00:00
Ulrich Drepper
170ef42fb5 Update.
2000-10-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-error.c (_dl_signal_error): Allocate memory for objname
	as well.  Reported by Alexander V. Lukyanov <lav@yars.free.net>.
2000-10-16 00:33:37 +00:00
Ulrich Drepper
8bf9589991 Update.
2000-10-13  Andreas Schwab  <schwab@suse.de>

	* elf/elf.h (R_IA64_PCREL60B): Add relocation.
2000-10-15 22:52:12 +00:00
Ulrich Drepper
b15cb49505 Update.
2000-10-14  Ulrich Drepper  <drepper@redhat.com>

	* math/libm-test.inc (frexp_test): Add L suffix also to parameters.
	(hypot_test): Likewise.

	* sysdeps/generic/printf_fphex.c: Compute width of decimal point
	string correctly.  Handle padding correctly.

	* sysdeps/ia64/fpu/printf_fphex.c: Use sizeof in _itowa parameters
	correctly.
	* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
	* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.

2000-10-12  Alan Modra  <alan@linuxcare.com.au>

	* FAQ.in: Add --start-group and --end-group.

2000-10-12  Alan Modra  <alan@linuxcare.com.au>

	* malloc/memusage.c: Conditionalize stack usage calculation on
	stack direction.

2000-10-12  Alan Modra  <alan@linuxcare.com.au>

	* config.h.in: Add ASM_LINE_SEP.
	* configure.in: Add test for comment and line separators.
	* include/libc-symbols.h: Define and use ASM_LINE_SEP, and add tabs to
	placate some hppa assemblers.
	* sysdeps/hppa/sysdep.h: Likewise.
	* sysdeps/gnu/siglist.c: Insert \n and \t into inline asm.
	* sysdeps/unix/sysv/linux/errlist.c: Likewise.

2000-10-12  David Huggins-Daines  <dhd@linuxcare.com>

	* sysdeps/unix/sysv/linux/Makefile: Include <bits/initspin> in
	$(sysdep_headers).
	* sysdeps/unix/sysv/linux/bits/initspin.h: Dummy version for
	non-threaded platforms.

2000-10-12  David Huggins-Daines  <dhd@linuxcare.com>

	* configure.in: Add definitions for hppa.
	* elf/elf.h: Add PLABEL32 relocation for hppa ELF32, comments
	for IPLT and EPLT relocations.
	* shlib-versions: Version symbol definitions for hppa-linux.
	* sysdeps/unix/sysv/linux/configure.in: Define $arch_minimum_kernel
	for hppa.

2000-10-12  David Huggins-Daines  <dhd@linuxcare.com>

	* sysdeps/hppa/Makefile: New file.
	* sysdeps/hppa/Versions: New file.

	* sysdeps/hppa/setjmp.S: New file.
	* sysdeps/hppa/__longjmp.S: New file.
	* sysdeps/hppa/bits/setjmp.h: New file.
	* sysdeps/hppa/frame.h: New file.

	* sysdeps/hppa/add_n.s: Don't use %r19 (linkage table pointer).
	* sysdeps/hppa/sub_n.s: Likewise.
	* sysdeps/hppa/lshift.s: Likewise.
	* sysdeps/hppa/rshift.s: Likewise.
	* sysdeps/hppa/udiv_qrnnd.s: Likewise.
	* sysdeps/hppa/hppa1.1/addmul_1.s: Likewise.
	* sysdeps/hppa/hppa1.1/submul_1.s: Likewise.
	* sysdeps/hppa/hppa1.1/mul_1.s: Likewise.
	* sysdeps/hppa/hppa1.1/udiv_qrnnd.s: Likewise.

	* sysdeps/hppa/dl-machine.h: New file.
	* sysdeps/hppa/dl-fptr.c: New file (note that this is almost
	identical to the IA-64 one).
	* sysdeps/hppa/dl-lookupcfg.h: Likewise.
	* sysdeps/hppa/dl-symaddr.c: Likewise.

	* sysdeps/hppa/elf/initfini.c: New file.
	* sysdeps/hppa/elf/start.S: New file.

	* sysdeps/hppa/fpu/bits/fenv.h: New file.
	* sysdeps/hppa/fpu/fclrexcpt.c: New file.
	* sysdeps/hppa/fpu/fedisblxcpt.c: New file.
	* sysdeps/hppa/fpu/feenablxcpt.c: New file.
	* sysdeps/hppa/fpu/fegetenv.c: New file.
	* sysdeps/hppa/fpu/fegetexcept.c: New file.
	* sysdeps/hppa/fpu/fegetround.c: New file.
	* sysdeps/hppa/fpu/feholdexcpt.c: New file.
	* sysdeps/hppa/fpu/fesetenv.c: New file.
	* sysdeps/hppa/fpu/fesetround.c: New file.
	* sysdeps/hppa/fpu/feupdateenv.c: New file.
	* sysdeps/hppa/fpu/fegetexcptflg.c: New file.
	* sysdeps/hppa/fpu/fraiseexcpt.c: New file.
	* sysdeps/hppa/fpu/fsetexcptflg.c: New file.
	* sysdeps/hppa/fpu/ftestexcept.c: New file.

	* sysdeps/unix/sysv/linux/hppa/Makefile: New file.
	* sysdeps/unix/sysv/linux/hppa/Versions: New file.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: New file.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: New file.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h: New file.

	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/ioctls.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/signum.h: New file.
	* sysdeps/unix/sysv/linux/hppa/brk.c: New file.
	* sysdeps/unix/sysv/linux/hppa/clone.S: New file.
	* sysdeps/unix/sysv/linux/hppa/socket.S: New file.
	* sysdeps/unix/sysv/linux/hppa/syscall.S: New file.
	* sysdeps/unix/sysv/linux/hppa/setrlimit.c: New file.
	* sysdeps/unix/sysv/linux/hppa/getrlimit.c: New file.
	* sysdeps/unix/sysv/linux/hppa/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: New file.
	* sysdeps/unix/sysv/linux/hppa/kernel_stat.h: New file.
	* sysdeps/unix/sysv/linux/hppa/mmap.c: New file.
	* sysdeps/unix/sysv/linux/hppa/profil-counter.h: New file.
	* sysdeps/unix/sysv/linux/hppa/procfs.h: New file.
	* sysdeps/unix/sysv/linux/hppa/ucontext.h: New file.
	* sysdeps/unix/sysv/linux/hppa/umount.c: New file.

2000-10-12  Alan Modra  <alan@linuxcare.com.au>

	* sysdeps/hppa/hppa1.1/Implies: New file.
	* sysdeps/hppa/memusage.h: New file.
2000-10-15 06:50:42 +00:00
Ulrich Drepper
e340a2a2e2 Update.
* nscd/Makefile (distribute): Add nscd-types.h.
	* elf/Makefile (distribute): Add gccframe.h.
	* sysdeps/sparc/sparc32/Dist: Add ieee754.h.
	* sysdeps/ia64/Dist: Add ieee754.h.
2000-10-09 00:42:20 +00:00
Ulrich Drepper
ab951e68aa Update.
* elf/elf.h: Add a few section-related symbols.
2000-10-08 05:54:50 +00:00
Ulrich Drepper
172b90bbf6 Update.
2000-10-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: New file.

2000-10-02  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/svc_udp.c (svcudp_recv): Set msg_controllen to all
	remaining xp_pad space.

2000-10-05  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-close.c (_dl_close): Check imap's l_flags_1 for
	DF_1_NODELETE, not list[i]'s.
2000-10-05 18:10:14 +00:00
Ulrich Drepper
e6ea9c0dd0 Update.
2000-10-02  Jakub Jelinek  <jakub@redhat.com>

	* elf/nextmod1.c (failing_rtld_next_use): Ensure it is not tail call
	optimized.

	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: New file.
2000-10-03 07:37:02 +00:00
Ulrich Drepper
aaca11d8a1 Update.
2000-09-30 H.J. Lu  <hjl@gnu.org>

	* sysdeps/ieee754/ldbl-96/s_ceill.c (__ceill): Handle overflow.
	* sysdeps/ieee754/ldbl-96/s_floorl.c (__floorl): Likewise.

2000-09-29  H.J. Lu  <hjl@gnu.org>

	* math/libm-test.inc (init_max_error): Clear all exceptions
	before starting test.
	(acosh_test): Test for existence of function.
	(asinh_test): Likewise.
	(atan2_test): Likewise.
	(cabs_test): Likewise.
	(cacos_test): Likewise.
	(cacosh_test): Likewise.
	(casin_test): Likewise.
	(casinh_test): Likewise.
	(catan_test): Likewise.
	(catanh_test): Likewise.
	(ccos_test): Likewise.
	(ccosh_test): Likewise.
	(cexp_test): Likewise.
	(clog_test): Likewise.
	(clog10_test): Likewise.
	(cosh_test): Likewise.
	(cpow_test): Likewise.
	(csin_test): Likewise.
	(csinh_test): Likewise.
	(csqrt_test): Likewise.
	(ctan_test): Likewise.
	(ctanh_test): Likewise.
	(fmod_test): Likewise.
	(hypot_test): Likewise.
	(remainder_test): Likewise.
	(remquo_test): Likewise.
	(sincos_test): Likewise.
	(sinh_test): Likewise.
	(tanh_test): Likewise.

2000-09-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/ieee754.h: New file.

	* sysdeps/ia64/fpu/math_ldbl.h: New file.

2000-09-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.h (FLAG_X8664_LIB64): Define.
	* sysdeps/unix/sysv/linux/i386/readelflib.c: New file.

2000-09-30  Ulrich Drepper  <drepper@redhat.com>

	* manual/charset.texi: Correct notations, reference to C90 amd 1,
	and some other details.
	* manual/ctype.texi: Likewise.
	Patches by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
2000-09-30 22:03:51 +00:00
Ulrich Drepper
3ed0dfa22a Update.
2000-09-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/cache.c (save_cache): Initialize __unused field in new cache
	as well to get reproducable results.
2000-09-30 03:19:08 +00:00
Ulrich Drepper
b4a555d6f4 Update.
2000-09-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/chroot_canon.c: Don't report a failure if the last path
	component is not available.
	* elf/ldconfig.c (parse_conf): Use canonicalized name when reporting
	error.

	* elf/cache.c (print_cache): Use stat64 instead of stat.
	* elf/ldconfig.c (chroot_stat): Likewise.
	(create_links): Likewise.
	(manual_link): Likewise.
	(search_dir): Likewise.
	* elf/readlib.c (process_file): Likewise.

	* Makefile (install): Set LC_ALL and LANGUAGE to C before running
	ldconfig.

2000-09-29  Jakub Jelinek  <jakub@redhat.com>

	* elf/chroot_canon.c: New file.
	* elf/Makefile: Build and distribute it.
	* elf/ldconfig.h (process_file): Add real_file_name argument.
	(chroot_canon): Add prototype.
	* elf/ldconfig.c (cache_file): Remove const.
	(chroot_stat): New.
	(create_links): Add real_path argument.
	If opt_chroot, maintain both real and given filenames.
	(manual_link): Likewise.
	(search_dir): Likewise.
	(parse_conf): If opt_chroot, use chroot_canon to find the real
	config file.
	(main): For -r, try to use chroot, if it fails, leave opt_chroot set
	and use chroot_canon where appropriate to do the same as if chroot
	succeeded.
	* elf/readlib.c (process_file): Add real_file_name argument, pass it
	to fopen.

2000-09-29  Ulrich Drepper  <drepper@redhat.com>

	* math/complex.h (_Complex): We can be more specific when _Complex
	is defined by the compiler.
2000-09-30 00:54:42 +00:00
Ulrich Drepper
955821742e Update.
2000-09-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/ia64/dl-cache.h: New.

	* elf/cache.c (print_entry): Replace 64bit with IA-64 in message
	for x86/IA-64 binary.

2000-09-29  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/readelflib.c: New file.

	* elf/cache.c (print_entry): Check for FLAG_IA64_LIB64.
2000-09-29 22:53:14 +00:00
Ulrich Drepper
f0189a5443 Update.
* elf/ldconfig.c (parse_conf): Print full name of config dir
	including chroot() path.
	(main): Remove trailing / from opt_chroot string.
2000-09-29 06:19:13 +00:00
Ulrich Drepper
c0ac34e447 Update.
* mutex.c (__pthread_mutex_unlock): For PTHREAD_MUTEX_RECURSIVE_NP
	test for owner first.
	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
2000-09-28 23:11:33 +00:00
Andreas Jaeger
7b0d235cc6 (search_dir): Allow unlimited path length. (create_links): Likewise. 2000-09-27 14:58:54 +00:00
Ulrich Drepper
09bf6406b1 Update.
2000-09-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc32/bits/endian.h: Remove.
	* sysdeps/sparc/sparc32/ieee754.h: New.
	* sysdeps/sparc/sparc64/bits/endian.h: Move...
	* sysdeps/sparc/bits/endian.h: ...here.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check
	%o1, not %o0 to see if we're parent or child.  Optimize.

2000-09-26  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code
	by Hans Boehm).
	* sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on
	code by Hans Boehm).
	* sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S).

2000-09-20  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/fpu/printf_fphex.c: New file.

	* sysdeps/ia64/fpu/libm-test-ulps: New file.

2000-09-17  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/Makefile (long-double-fcts): New.  Defined as yes.

	* sysdeps/ia64/fpu/s_isinfl.c: New file.  Include
	sysdeps/i386/fpu/s_isinfl.c.

	* sysdeps/ia64/fpu/s_isnanl.c: New file.  Include
	sysdeps/i386/fpu/s_isnanl.c.

	* sysdeps/ia64/fpu/s_nextafterl.c: New file.  Include
	sysdeps/i386/fpu/s_nextafterl.c.

	* sysdeps/ia64/fpu/bits/mathdef.h: New file.  Copied from
	sysdeps/i386/fpu/bits/mathdef.h.

2000-09-16  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/ldsodefs.h (DL_UNMAP): New.  Defined if
	DL_UNMAP_IS_SPECIAL is not defined.

	* sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined.
	(_dl_unmap): New prototype.
	(DL_UNMAP): New.  Defined as _dl_unmap.

	* sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap.

	* elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP.

2000-09-16  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined
	if ELF_FUNCTION_PTR_IS_SPECIAL is not defined.

	* sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New
	prototype.
	(DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address.

	* sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup
	the memory location of a function from a function descriptor.

	* sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address.

	* elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the
	memory location.

2000-09-14  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output
	variable as input argument.
	(__bswap_32): Likewise.

	* sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START()
	- found by Jim Wilson <wilson@cygnus.com>

2000-09-26  Ulrich Drepper  <drepper@redhat.com>

	* string/strxfrm.c: Only require alignment on __alignof__ (int32_t)
	instead of 4.

2000-09-26  Andreas Schwab  <schwab@suse.de>

	* locale/programs/ld-collate.c (collate_output): Only require
	alignment on __alignof__ (int32_t) instead of 4.
	* locale/loadlocale.c (_nl_load_locale): Likewise.
	* string/strcoll.c: Likewise.

2000-09-26  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add
	parentheses around arithmetic used in | statement to kill compiler
	warning.

	* math/math_private.h: Add prototype for __finitel.
	(__ilogbl): Likewise.
	(__isinfl): Likewise.
	(__isnanl): Likewise.
	(__atanl): Likewise.
	(__copysignl): Likewise.
	(__expm1l): Likewise.
	(__floorl): Likewise.
	(__frexpl): Likewise.
	(__ldexpl): Likewise.
	(__log1pl): Likewise.
	(__nanl): Likewise.
	(__rintl): Likewise.
	(__scalbnl): Likewise.
	(__sqrtl): Likewise.
	(fabsl): Likewise.
	(__sincosl): Likewise.

	(si_isr) [USE_GNU]: Likewise.
	(ILL_BREAK) [USE_GNU]: Likewise.
	(FPE_DECOVF) [USE_GNU]: Likewise.
	(FPE_DECDIV) [USE_GNU]: Likewise.
	(FPE_DECERR) [USE_GNU]: Likewise.
	(FPE_INVASC) [USE_GNU]: Likewise.
	(FPE_INVDEC) [USE_GNU]: Likewise.
	(TRAP_BRANCH) [USE_GNU]: Likewise.
	(TRAP_HWBKPT) [USE_GNU]: Likewise.
	* sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 19:13:37 +00:00
Ulrich Drepper
74955460c5 Update.
2000-09-26  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/dbg_log.c (dbg_log): Add missing format string.

	* catgets/catgets.c (catopen): Use getenv instead of __secure_getenv
	since we filter out the variable once.
	* iconv/gconv_conf.c (__gconv_get_path): Likewise.
	* locale/newlocale.c (__newlocale): Likewise.
	* locale/setlocale.c (setlocale): Likewise.
	* malloc/malloc.c (ptmalloc_init): Likewise.
	* resolv/res_hconf.c (_res_hconf_init): Likewise.
	* resolv/res_init.c (__res_vinit): Likewise.
	* time/tzfile.c (__tzfile_read): Likewise.
	* sysdeps/generic/unsecvars.h: New file.
	* elf/dl-support.c (non_dynamic_init): Use it here to remove variables.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/Makefile (distribute): Add unsecvars.h.
2000-09-26 09:46:55 +00:00
Ulrich Drepper
5f2de3379c Update.
* elf/rtld.c (process_envvars): Open debug output file with O_NOFOLLOW.
2000-09-26 05:50:51 +00:00
Andreas Jaeger
a8fd59b069 Update.
* elf/ldconfig.c (add_dir): Move logic to add entry to list to new
	function add_single_dir.
	(add_single_dir): New function. 
	(search_dir): Use add_single_dir instead of recursing.
2000-09-24 18:35:20 +00:00
Ulrich Drepper
7c3002f02a Update.
2000-09-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c (search_dir): Make more use of d_type
	information.

2000-09-23  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf-parse.h (parse_one_spec): Clear
	spec->info.i18n.  Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-09-24 16:13:15 +00:00
Ulrich Drepper
7ad9abc031 Update.
2000-09-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/Implies: Reorder ieee754 implies so that ldbl-* comes
	first.
	* sysdeps/m68k/Implies: Likewise.
	* sysdeps/sparc/sparc64/Implies: Likewise.

2000-09-16  Jakub Jelinek  <jakub@redhat.com>

	* elf/readlib.c (process_file): Don't error for stale .so links either.

	* elf/dl-load.c (_dl_map_object_from_fd): Add one more
	__builtin_expect.
2000-09-16 23:00:38 +00:00
Ulrich Drepper
8a0e201e33 Update.
* elf/rtld.c (_dl_dynamic_weak): Set to 1 by default for now.
	* elf/dl-support.c: Likewise.

	necessary.  Move includes of POSIX and Unix limits files to the end.
2000-09-16 05:22:26 +00:00
Ulrich Drepper
917fd06163 Update.
2000-09-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add nextmod1.c and nextmod2.c.
	(tests): Add next.
	(modules-names): Add nextmod1 and nextmod2.
	Add rules to build and run next.
	* elf/next.c: New file.
	* elf/nextmod1.c: New file.
	* elf/nextmod2.c: New file.

2000-09-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol_skip): Fix a typo.
2000-09-15 17:35:04 +00:00
Ulrich Drepper
ea4d748699 (_dl_lookup_symbol_skip): Fix a typo. 2000-09-15 17:06:43 +00:00
Ulrich Drepper
09022115c1 Update.
* elf/elf.h: Add missing official relocations.
2000-09-14 02:57:10 +00:00
Ulrich Drepper
48da109259 Update.
* elf/dl-load.c (lose): Decrement _nl_loaded.
	(_dl_map_object_from_fd): Don't try to dlopen executables.
2000-09-08 05:49:02 +00:00
Ulrich Drepper
e39e69563a Update.
* elf/Makefile (all-rtld-routines): Evaluate $(sysdep-rtld-routines)
	too.
	* sysdeps/powerpc/Makefile (sysdep-rtld-routines): New variable.
	(sysdep_routines): Remove dl-start.
	Patches by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
2000-09-07 21:34:51 +00:00
Andreas Jaeger
6ce42684c4 * locale/programs/ld-collate.c (handle_ellipsis): Fix typo.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise. 
Reported by GOTO Masanori <gotom@debian.or.jp>.
2000-09-07 09:16:34 +00:00
Ulrich Drepper
b79f74cd62 Update.
2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/EUC-TW: Add commented non-reversible mappings.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/CP949: New file.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/GB2312: Remove 0x80..0xA0, 0xAA..0xAF, 0xF8..FF.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/EUC-JP: Nonreversibly map 0xA1C0 to U+005C and 0x8FA2B7 to
	U+007E.
2000-09-05 02:41:25 +00:00
Ulrich Drepper
55e2d5c7c4 Update.
* intl/Makefile (tests): Depend in mtrace-tst-gettext.
	Make this a new rule depending on tst-gettext.out and run mtrace.
	* intl/tst-gettext.c: Call mtrace.
	* intl/tst-gettext.sh: Put MALLOC_TRACE in environment of tst-gettext.

	* elf/dl-reloc.c: Add a few more __builtin_expect.

	* configure.in: Remove --with-gettext option.

	* intl/dcigettext.c (free_mem): Correct freeing of
	_nl_domain_bindings list.
2000-08-31 21:05:59 +00:00
Ulrich Drepper
f55727ca53 Update.
* sysdeps/generic/ldsodefs.h: Add declaration for _dl_all_dirs and
	_dl_all_init_dirs.
	* include/link.h (struct r_search_path_struct): New.
	(struct link_map): Use it for l_rpath_dirs and l_runpath_dirs.
	* elf/Versions [ld] (GLIBC_2.2): Add _dl_all_dirs and
	_dl_all_init_dirs.
	* elf/dl-close.c (_dl_close): Free l_rpath_dirs and l_runpath_dirs.
	* elf/dl-libc.c (free_mem): Free _dl_all_dirs list except elements
	added at startup time.
	* elf/dl-load.c: Fix memory handling.  r_search_path_struct
	contains element to remember fact that we can free memory.
	(all_dirs): Renamed to _dl_all_dirs.  Made global.
	(_dl_init_all_dirs): New variable.
	(fillin_rpath): Save one malloc call.
	(decompose_rpath): Change interface.  New first parameter points to
	r_search_path_struct.
	(_dl_init_paths): Adjust for changes.  Mark all memory as not
	deletable.  Set _dl_init_all_paths value.
	(open_path): Remove may_free_dirs parameter.  r_search_path_elem ***
	parameter replaced with r_search_path_struct *.  Information about
	freeing now contained in r_search_path_struct.
	(_dl_map_object): Adjust for above changes.

	* elf/dl-open.c (dl_open_worker): Change format of debug info a bit.
2000-08-31 02:27:07 +00:00
Ulrich Drepper
4a6d11984d Update.
* elf/dl-load.c (fillin_rpath): Only check for trusted directories
	when adding new entries.
2000-08-31 00:20:09 +00:00
Ulrich Drepper
32ee8d952f Update.
* elf/dl-load.c (fillin_rpath): Make local copy of where string
	since the object being loaded can be unloaded.
2000-08-30 23:42:45 +00:00
Ulrich Drepper
04ea3b0fbb Update.
2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* string/strxfrm.c (strxfrm, wcsxfrm): Include <sys/param.h>.
	If nrules == 0 and srclen < n, copy only srclen + 1 characters.

	* sysdeps/generic/getdomain.c (getdomainname): Include <sys/param.h>.
	If the result is fits in the buffer, copy only as many bytes as needed.

	* sysdeps/generic/_strerror.c (__strerror_r): Don't zero-fill the
	buffer after copying numbuf into it.
	* sysdeps/mach/_strerror.c (__strerror_r): Likewise.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* posix/confstr.c (confstr): When string_len > len, NUL-terminate
	the result.  When string_len < len, don't clear the rest of the buffer.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	Support for new LC_COLLATE format.
	* locale/coll-lookup.h: New file.
	* locale/weightwc.h (findidx): When size == 0, call
	collidx_table_lookup.
	* wcsmbs/wcscoll.c: Include coll-lookup.h.
	* wcsmbs/wcsxfrm.c: Likewise.
	* posix/fnmatch.c: Likewise.
	* posix/fnmatch_loop.c (internal_fnwmatch): When size == 0, call
	collseq_table_lookup.
	* locale/programs/3level.h: New file.
	* locale/programs/ld-ctype.c: (wcwidth_table, wctrans_table): Define
	by including "3level.h".
	* locale/programs/ld-collate.c (wchead_table, collidx_table,
	collseq_table): New types, defined by including "3level.h".
	(locale_collate_t): New wcheads_3level, wcseqorder_3level fields.
	(encoding_mask, encoding_byte): Remove.
	(utf8_encode): Use simple shifts instead.
	(collate_finish): When !oldstyle_tables, set plane_size and plane_cnt
	to 0, and initialize and fill wcheads_3level and wcseqorder_3level.
	(collate_output): New local variable tablewc_3level. When
	!oldstyle_tables, set table_size to 0 and names to NULL and fill
	tablewc_3level instead of tablewc. Change format of TABLEWC and
	COLLSEQWC entries written to the file.
	* locale/C-collate.c (collseqwc): Change format.
	(_nl_C_LC_COLLATE): Set HASH_SIZE and HASH_LAYERS to 0, change format
	of COLLSEQWC.
	* locale/Makefile (distribute): Add coll-lookup.h, programs/3level.h.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-ctype.c (MAX_CHARNAMES_IDX): New macro.
	(locale_ctype_t): New charnames_idx field.
	(ctype_startup): Initialize charnames_idx field.
	(find_idx): Speed up dramatically by using charnames_idx inverse table.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/C-ctype.c: Switch to new locale format.
	(_nl_C_LC_CTYPE_names): Remove array.
	(STRUCT_CTYPE_CLASS): New macro.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New three-level tables.
	(_nl_C_LC_CTYPE_width): Change from array to three-level table.
	(_nl_C_LC_CTYPE): Fix nstrings value. Set HASH_SIZE and HASH_LAYERS
	to 0. Change WIDTH format. Set CLASS_OFFSET and MAP_OFFSET. Add
	12 class tables and 2 map tables at the end.
	* ctype/ctype-info.c (_nl_C_LC_CTYPE_names): Remove declaration.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New declarations.
	(b): Remove trailing semicolon.
	(__ctype_names, __ctype_width): Don't initialize.
	(__ctype32_wctype, __ctype32_wctrans, __ctype32_width): Initialize.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* elf/dl-load.c (open_path): Add a argument telling whether *dirsp
	is guaranteed to be allocated with the same malloc() and may be
	passed to free().
	(_dl_map_object): Update open_path calls. If rtld_search_dirs has
	been set to empty by an earlier open_path call, don't pass it again.
2000-08-29 01:20:23 +00:00
Ulrich Drepper
b35e21f43f Update.
* elf/Versions [ld] (GLIBC_2.2): Export _dl_debug_files.
	* elf/dl-close.c (_dl_close): Print debug message if object is not
	unloaded.
	* elf/dl-open.c (dl_open_worked): Print message about opencount before
	returning to caller.
2000-08-28 08:32:23 +00:00
Ulrich Drepper
6a72ae2124 Update.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add getdents64
	syscall.
2000-08-27 03:28:06 +00:00
Ulrich Drepper
2b7238dda8 Update.
2000-08-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add unloadmod.c, reldepmod1.c,
	reldepmod2.c, reldepmod3.c, and reldepmod4.c.
	(tests): Add unload, reldep, reldep2, and reldep3.
	(modules-names): Add unloadmod, reldepmod1, reldepmod2, reldepmod3,
	and reldepmod4.
	Add rules to build and run unload, reldep, reldep2, and reldep3.
	* elf/dl-lookup.c (_dl_lookup_symbol): Add new parameter explicit.
	Don't create relocation dependency if it is nonzero.
	(_dl_lookup_symbol_skip): Remove relocation dependency stuff.  This
	can never happen here.
	(_dl_lookup_versioned_symbol): Add new parameter explicit.
	Don't create relocation dependency if it is nonzero.
	(_dl_lookup_versioned_symbol_skip): Remove relocation dependency
	stuff.  This can never happen here.
	* sysdeps/generic/ldsodefs.h: Change prototypes.
	* elf/dl-reloc.c (RESOLVE_MAP): Pass 0 in explicit parameter to
	_dl_lookup_up and _dl_lookup_versioned_symbol.
	(RESOLV): Likewise.
	* elf/dl-runtime.c (fixup): Likewise.
	(profile_fixup): Likewise.
	* elf/dl-libc.c (do_dlsym): Pass 1 in explicit parameter to
	_dl_lookup_symbol.
	* elf/dl-symbol.c (_dl_symbol_value): Likewise.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-sym.c (_dl_sym): Pass 1 in explicit parameter to
	_dl_lookup_symbol if handle is not RTLD_DEFAULT.  Always compute
	and pass down the caller map.
	(_dl_vsym): Likewise.
	* elf/reldep.c: New file.
	* elf/reldep2.c: New file.
	* elf/reldep3.c: New file.
	* elf/reldepmod1.c: New file.
	* elf/reldepmod2.c: New file.
	* elf/reldepmod3.c: New file.
	* elf/reldepmod4.c: New file.
	* elf/unload.c: New file.
	* elf/unloadmod.c: New file.

	* elf/do-lookup.h: Remove unused undef_name parameter.
	* elf/dl-lookup.c: Adjust callers.
2000-08-26 23:41:19 +00:00