Commit Graph

59 Commits

Author SHA1 Message Date
Ulrich Drepper
4b4fcf99d1 Update.
* elf/dl-close.c (_dl_close): Handle relocation dependencies of
	the dependencies of the object currently unloaded.
2000-10-24 20:20:37 +00:00
Ulrich Drepper
e3e5f6725b Update.
* elf/dl-close.c (_dl_close): Don't free memory for global scope
	list immediately when empty.  Move code to...
	(free_mem): ...here.  Called as part of __libc_subfreeres list.
2000-10-24 19:31:51 +00:00
Ulrich Drepper
2e93b4a4cd Update.
* elf/dl-deps.c (_dl_map_object_deps): Put l_initfini array before
	r_list array in allocated memory.
	* elf/dl-close.c (_dl_close): Optimize access to l_initfini list
	and remove use of r_list.
2000-10-24 19:18:25 +00:00
Ulrich Drepper
8edd917253 Update.
2000-10-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Use correct list (l_initfini) when
	computing new opencounts.
	* elf/Makefile: Add rules to build and run neededtest3.
	* neededtest3.c: New file.
	* neededobj4.c: New file.

	* elf/neededtest.c (main): Correct tests for failing dlopen.
2000-10-24 17:04:14 +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
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
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
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
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
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
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
7045878b04 Update.
* elf/dl-close.c (_dl_close): Don't run destructors of objects
	marked DF_1_NODELETE.
2000-08-25 16:48:42 +00:00
Ulrich Drepper
1ebba33ece Update.
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Declare _nl_nloaded.
	* elf/Versions [ld] (GLIBC_2.2): Add _nl_nloaded.
	* elf/dl-support.c: Define _nl_nloaded.
	* elf/rtld.c: Likewise.  Increment _nl_nloaded for rtld itself.
	* elf/dl-object.c (_dl_new_object): Increment _nl_nloaded after adding
	object to global list.
	* elf/dl-close.c (_dl_close): Decrement _nl_nloaded after removing
	from _dl_loaded list.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* elf/dl-fini.c (_dl_fini): Use _nl_nloaded instead of computing the
	number here.

	* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Mask, not
	unmask, exceptions.
	* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Unmask, not mask,
	exceptions.
	Reported by Harvey J. Stein <hjstein@bfr.co.il>.
2000-08-16 06:30:08 +00:00
Ulrich Drepper
07a3d63e52 Update.
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/multiload.c: Add mtrace call.  Call dlclose for all handles and
	free wd.
	* elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if
	there is already one.

	* elf/dl-close.c: Pretty print.
2000-08-15 07:06:23 +00:00
Ulrich Drepper
bf8b3e74bf Update.
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
	* elf/dl-close.c (_dl_close): Don't close an object if it is marked
	with nodelete.
	* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
	to _dl_map_object.  Return immediately if no object loaded.
	Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
	* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
	if it exists into l_flags_1 word.
	* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
	it to determine whether loading is wanted or not.
	(_dl_map_object): Likewise.
	Call _dl_map_object_from_fd with new parameter.
	* sysdeps/generic/ldsodefs.h: Update prototype.
	* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
	* elf/rtld.c: Likewise.
	* elf/Makefile (tests): Add noload.  Add rules to generate noload.
	* elf/noload.c: New file.
	* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
	* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
	* sysdeps/mips/bits/dlfcn.h: Likewise.
2000-07-20 22:53:54 +00:00
Ulrich Drepper
8e17ea5817 Update.
2000-06-09  Ulrich Drepper  <drepper@redhat.com>

	Rewrite error message handling.
	* elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to
	_dl_catch_error.
	* elf/dl-error (struct catch): Add objname member.
	(_dl_signal_error): Take new parameter with object name.  When
	passing message on simply store object name and duplicate error
	message.
	(_dl_catch_error): Take new parameter.  Store object name in the
	place pointed to.
	* include/dlfcn.h: Adjust _dl_catch_error prototype.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype.
	* elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error.
	* elf/dl-open.c (_dl_open): Likewise.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-close.c: Mark error messages with N_().
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-lookup.c: Add comments about problems with error message
	translations.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
2000-06-10 04:01:36 +00:00
Ulrich Drepper
466a0ec998 Update.
* elf/dl-reloc.c (_dl_relocat_object): Add more __builtin_expect.
	* elf/dl-lookup.c: Add more __builtin_expect.
	* elf/dl-init.c (_dl_init): Add more __builtin_expect.
	* elf/dl-fini.c (_dl_fini): Add more __builtin_expect.
	* elf/dl-deps.c (_dl_map_object_deps): Add more __builtin_expect.
	* elf/dl-close.c (_dl_close): Add more __builtin_expect.
	* elf/rtld.c (_dl_start_final): Add more __builtin_expect.
2000-04-17 15:41:59 +00:00
Ulrich Drepper
cf197e41e7 Update.
2000-04-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-fini.c (_dl_fini): Increment j counter after swapping in
	element at this position.

	* elf/Versions [ld.so] (GLIBC_2.2): Export _dl_load_lock.
	* elf/link.h (struct link_map): Add l_reldepsmax, l_reldepsact, and
	l_reldeps elements.
	* elf/dl-lookup.c (add_dependency): New function.
	(_dl_lookup_symbol): Use it whenever symbol was found in a global,
	dynamically loaded object.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-open.c: Don't define _dl_load_lock here...
	* elf/rtld.c: ...but here...
	* elf/dl-support.c: ...and here.
	* elf/dl-close.c (_dl_close): Close also dependent objects introduce
	through relocation.
	* elf/dl-fini.c (_dl_fini): Also take dependencies introduced through
	relocations.
	* dlfcn/Makefile (glrefmain.out): Test is not expected to fail
	anymore.
	* dlfcn/glrefmain.c: Add one more debug message.

	* Makeconfig (preprocess-versions): Don't add $(CPPFLAGS) to compiler
	command line.
	* Makerules (sysd-versions): Use ( ) instead of { }.

	* elf/dl-load.c: Use __builtin_expect to signal that compiler should
	optimize for the non-debugging case.
	* elf/dl-lookup.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
2000-04-03 03:51:04 +00:00
Ulrich Drepper
b5567b2af6 Update.
2000-03-29  Jes Sorensen  <jes@pcatls01.cern.ch>

	* malloc/malloc.c: Declare bit flags UL so that they will not
	default to int size when being inverted.

2000-03-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.

2000-03-29  Andreas Jaeger  <aj@suse.de>,
            Ralf Baechle <ralf@uni-koblenz.de>

	* Makeconfig: Introduce new variable SHARED to mark code used in
	the shared library.
	* elf/dl-close.c: Use it instead of PIC.
	* elf/dl-load.c: Likewise.
	* elf/dl-open.c: Likewise.
	* hurd/geteuids.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/shlib-compat.h: Likewise.
	* libio/freopen.c: Likewise.
	* linuxthreads/cancel.c: Likewise.
	* linuxthreads/pthread.c: Likewise.
	* linuxthreads/wrapsyscall.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* sysdeps/arm/init-first.c: Likewise.
	* sysdeps/i386/init-first.c: Likewise
	* sysdeps/generic/init-first.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/mips/init-first.c: Likewise.
	* sysdeps/powerpc/elf/libc-start.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/errlist.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.

	* sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check.
2000-03-31 05:50:02 +00:00
Ulrich Drepper
dacc8ffa42 Update.
2000-03-30  Ulrich Drepper  <drepper@redhat.com>

	Implement dynamic determination of constructor/destructor order in
	the dynamic linker.
	* elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next.
	(GLIBC_2.2): Add _dl_init.
	* elf/dl-close.c: Also call all destructors in FINI_ARRAY.
	r_duplist is not anymore allocated separately.  l_initfini is and
	therefore free it if necessary.
	* elf/dl-deps.c: If a searchlist has to be allocated, put all in one
	malloc block.  Otherwise allocate l_initfini list only.
	Put dependencies for the object in l_initfini list.
	Sort dependencies for the object to be loaded topologically.
	* elf/dl-fini.c: Before running the destructors sort the topologically.
	* elf/dl-init.c (_dl_init): Renamed from _dl_init_next.  Rewrite to
	call constructors instead of iterating over the pointers.  Get list of
	objects for which to run constructors from l_initfini element. Accept
	argc, argv, and env as parameters and pass them to the constructors.
	* elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member
	with size of dynamic section.
	* elf/dl-open.c (dl_open_worker): Only call _dl_init instead of
	_dl_init_next and calling constructors ourself.
	* elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next.
	Take argc, argv, and env as parameters and pass them to the
	constructors.  Rewrite to call all constructors and not iterate over
	the pointers.
	* elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry.  Don't
	precompute l_initcount and l_preinitcount.
	* elf/link.h (struct link_map): Add l_ldnum member.
	Make l_phdr_allocated part of the bitfield.  Remove l_runcount,
	l_initcount, and l_preinitcount.  Add l_initfini.
	* sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with
	one for _dl_init.
	* sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init
	function interface.
	* sysdeps/unix/sysv/linux/init-first.h: Removed.
	* sysdeps/unix/sysv/linux/Dist: Delete file here as well.
	* sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use
	SYSDEP_CALL_INIT.  Make _init a strong alias of init.  The calling
	conventions now match.

	* sysdeps/generic/libc-start.c: Calling __libc_init_first has no
	effect for shared objects.  Don't emit message and call only for
	static library.
2000-03-30 16:30:49 +00:00
Ulrich Drepper
b8445829fb Correct path for ldsodefs.h file. 2000-03-23 22:46:19 +00:00
Ulrich Drepper
94e365c612 Update.
* sysdeps/gnu/Makefile (libdl-routines): Add eval.

1999-07-06  Zack Weinberg  <zack@rabi.columbia.edu>

	* dlfcn: New directory.  Move the following files from elf:
	dladdr.c, dlclose.c, dlerror.c, dlfcn.h, dlopen.c,
	dlopenold.c, dlsym.c, dlvsym.c.
	* dlfcn/Makefile: New file.
	* dlfcn/Versions: New file.
	* dlfcn/dlsym.c: All ELF-specific code split out to new
	function _dl_sym.
	* dlfcn/dlvsym.c: All ELF-specific code split out to new
	function _dl_vsym.
	* elf/dl-sym.c: New file.  _dl_sym and _dl_vsym are
	implemented here.

	* dlfcn/dladdr.c: Remove all references to ELF data structures
	or headers.
	* dlfcn/dlclose.c: Likewise.
	* dlfcn/dlerror.c: Likewise.
	* dlfcn/dlopen.c: Likewise.
	* dlfcn/dlopenold.c: Likewise.

	* Makeconfig (dlfcn): New variable - set to `dlfcn' if elf is
	yes, empty otherwise.
	(libdl): Set to dlfcn/libdl.so or libdl.a if elf is yes,
	depending on build-shared.
	(subdirs): Add $(dlfcn).
	(rpath-dirs): Add dlfcn.
	* elf/Makefile: Remove all references to libdl or its
	components, except the ones relating to the test cases.
	(routines): Add dl-sym.
	* elf/Versions (libc): Add _dl_sym and _dl_vsym for GLIBC_2.2.
	(libdl): Delete.

	* elf/dl-close.c (_dl_close): Change argument to void *.
	* elf/dl-open.c (_dl_open): Change return type to void *.
	* elf/eval.c: Removed.
	* elf/ldsodefs.h: Move prototypes of _dl_catch_error,
	_dlerror_run, _dl_open, _dl_close, _dl_addr, and
	_dl_mcount_wrapper_check to include/dlfcn.h.  Delete
	_CALL_DL_FCT macro.
	* include/dlfcn.h: Also prototype _dl_sym and _dl_vsym here.
	Include real header from dlfcn directory.
	* include/ldsodefs.h: Removed.

	* grp/initgroups.c: Use DL_CALL_FCT not _CALL_DL_FCT.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* iconv/gconv.c: Likewise.  Don't include ldsodefs.h.
	* iconv/gconv_db.c: Likewise.  Don't include ldsodefs.h.
	* iconv/skeleton.c: Don't include ldsodefs.h.
	* nss/nsswitch.h: Don't include ldsodefs.h.  Include dlfcn.h.

1999-07-07  Ulrich Drepper  <drepper@cygnus.com>
1999-07-07 18:39:33 +00:00
Ulrich Drepper
1592541240 (_dl_close): Add cast to avoid warning about const incorrectness. 1999-05-17 09:56:54 +00:00
Ulrich Drepper
7bcaca4384 Update.
* elf/link.h (struct link_map): New field l_phdr_allocated.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't depend on having
	the program header being part of any loaded segment.  If it is not
	allocate memory and set l_phdr_allocated flag.
	* elf/dl-close.c (_dl_close): Free l_phdr if necessary.
1999-05-07 00:00:48 +00:00
Ulrich Drepper
50b65db1ee Update.
1999-01-21  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c: Rewrite the way adding to the global scope works
	to handle error cases better than the last change.
	The l_global flag is now only set when the object is actually
	counted in the global scope list.
	* elf/dl-deps.c: Likewise.
	* elf/dl-open.c: Likewise.
1999-01-21 14:17:43 +00:00
Ulrich Drepper
82df2969f8 Update.
1999-01-21  Ulrich Drepper  <drepper@cygnus.com>

	* manager.c (pthread_allocate_stack): Set
	__pthread_nonstandard_stacks if user-specified stack is used.
1999-01-21 00:14:27 +00:00
Ulrich Drepper
ad11b5a745 Update.
* elf/dl-close.c (_dl_close): Fix last patch (cnt is unsigned).
1999-01-20 19:46:12 +00:00
Ulrich Drepper
d3556ac929 Update.
* elf/dl-close.c: Handle failed loads which would have gone in the
	global scope correctly.

	* elf/testobj1.c: Include stdlib.h to get NULL defined.
	* elf/testobj2.c: Likewise.
	* elf/testobj3.c: Likewise.
	* elf/testobj4.c: Likewise.
	* elf/testobj5.c: Likewise.

	* iconvdata/sami-ws2.c: New file.
1999-01-20 18:32:29 +00:00
Ulrich Drepper
482eec0d11 Update.
1999-01-16  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (tests): Add loadtest.
	Add rules to generate test modules.
	* Makeconfig (+link): Add $(LDFLAGS-$(@F)) to command line.
	* elf/loadtest.c: New file.
	* elf/testobj1.c: New file.
	* elf/testobj2.c: New file.
	* elf/testobj3.c: New file.

	* elf/dl-close.c: Correct removing module from global list.

	* elf/dl-open.c: Add debugging code.

	* include/string.h: Add __rawmemchr prototype.
	* string/Makefile (routines): Add rawmemchr.
	* string/Versions [GLIBC_2.1]: Add __rawmemchr and rawmemchr.
	* string/string.h: Add prototype for rawmemchr.
	* string/bits/string2.h: Optimize strchr with rawmemchr.
	* sysdeps/generic/rawmemchr.c: New file.
	* sysdeps/i386/rawmemchr.c: New file.
	* sysdeps/i386/i486/bits/string.h: Add rawmemchr inline code.
	Optimize strchr with rawmemchr.

	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _LFS_LARGEFILE,
	_LFS64_LARGEFILE, and _LFS64_STDIO for Unix98.

1999-01-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nis_error.c (nis_errlist): Fix capitilasation.
1999-01-16 17:09:04 +00:00
Ulrich Drepper
604510f717 Update.
1998-10-07  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-open.c (_dl_global_scope_alloc): Make global.
	(dl_open_worker): Use realloc, not malloc to resize array.
	* elf/rtld.c (_dl_initial_searchlist): New variable.
	(_dl_main): Copy content of _dl_main_searchlist to
	_dl_initial_searchlist.
	* elf/ldsodefs.h: Add declarations for _dl_initial_searchlist and
	_dl_global_scope_alloc.
	* elf/Versions [libc, GLIBC_2.1]: Add _dl_initial_searchlist.
	* elf/dl-close.c (_dl_close): When removing object with global
	scope remove allocated searchlist if no dynamically loaded object
	is on it anymore.
	* elf/dl-support.c (_dl_initial_searchlist): Renamed from fake_scope.
	(_dl_global_scope, _dl_main_searchlist): Use _dl_initial_searchlist.

	* malloc/mtrace.c (tr_where): Don't print space in location string,
	print it afterwards.  Print better symbol name information.
1998-10-07 13:40:55 +00:00
Ulrich Drepper
1c3a6f19f1 (_dl_close): Don't free imap->l_origin if it is the special `-1' pointer. 1998-09-09 13:19:34 +00:00
Ulrich Drepper
be93561004 Update.
1998-09-06 09:00  Ulrich Drepper  <drepper@cygnus.com>

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

	Rewrite runtime linker to be truly thread-safe.  There is now no
	global variable specifying the scope.  We create all needed
	scopes at the time the link maps are created.
	* elf/Versions [GLIBC_2.1]: Add _dl_loaded and _dl_main_searchlist.
	* elf/link.h: Add struct r_scope_elem and use this for l_searchlist,
	l_symbolic_searchlist, l_scope, and l_local_scope elements in
	struct link_map.
	* elf/dl-close.c: Rewritten accordingly.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.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-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dlfcn.h: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/dlvsym.c: Likewise.
	* elf/ldsodefs.h: Likewise.
	* elf/rtld.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
1998-09-06 09:16:53 +00:00
Ulrich Drepper
4ce636da6c Update.
* elf/dl-close.c (_dl_close): Add more comments and correct some.
	Free l_searchlist and l_dupsearchlist.
1998-09-01 23:08:36 +00:00
Ulrich Drepper
76156ea152 Update.
1998-09-01 17:53  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-load.c (add_name_to_object): Change return type to void and
	make NAME parameter const.  Allocate room for NAME in same memory
	block used for l_libname entry.
	(_dl_map_object_from_fd): Don't free NAME on failure.
	(map_segment): Pass SONAME to add_name_to_object, not a copy.
	(_dl_map_object): Don't create copy of NAME.  Pass NAME to
	_dl_map_object_from_fd.
	* elf/dl-object.c (dl_new_object): Allocate room for NAME in same
	memory block used for l_libname entry.
	* elf/dl-close.c: Adjust free()ing for this change.
1998-09-01 17:58:59 +00:00
Ulrich Drepper
a8a1269d88 Update.
1998-09-01 15:36  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/Makefile: Include Makeconfig before testing config-sysdirs.

	* malloc/mtrace.c: Add bug report address.  Update email address.
	Add more @XXX@ to print correct address size.

	* elf/dl-addr.c (_dl_addr): Make sure that map to be examined is
	really initialized.

	* elf/dl-close.c (_dl_close): Use l_map_start and l_map_end info
	for munmap call instead of examining phdr again.
	Free all malloc()ed strings and arrays.
1998-09-01 17:19:00 +00:00
Ulrich Drepper
6a805a0b40 Fix typo.
* sysdeps/i386/pt-machine.h: Likewise.
1998-09-01 10:35:19 +00:00
Ulrich Drepper
7afab53d43 Update.
1998-08-31  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Update _dl_loaded if the first
	object on the list is removed.  Don't use this code for PIC.
	Reported by HJ Lu [PR libc/770].
1998-08-31 17:23:45 +00:00
Ulrich Drepper
f787edde1d Update.
1998-08-27 19:42  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (distribute): Add dl-origin.h.
	* sysdeps/generic/dl-origin.h: New file.
	* sysdeps/unix/sysv/linux/dl-origin.h: New file.
	* elf/link.h (struct link_map): Add l_origin field.
	* elf/dl-load.c (expand_dynamic_string_token): New function.
	(decompose_path): Remove WHERE argument, take link map pointer instead.
	Call expand_dynamic_string_token instead of local_strdup to make copy
	of rpath.
	(_dl_init_paths): Call decompose_path with correct argument.
	(_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is
	not defined.
	Check EI_OSABI and EI_ABIVERSION fields in header.
	(_dl_map_object): Call decompose_path with correct argument.
	Call expand_dynamic_string_token instead of local_strdup to also
	expand DST.
	* elf/dl-object.c (_dl_new_object): Determine l_origin for all maps
	but the main one.
	* elf/dl-support.c: Define _dl_origin_path.
	* elf/rtld.c: Likewise.  Set _dl_origin_path based on LD_ORIGIN_PATH.

	* elf/dl-close (_dl_close): Free l_name and l_origin.

	* sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P
	modifier in asm, not c.

	* sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c
	to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.
1998-08-27 20:08:32 +00:00
Ulrich Drepper
6075607b9a Update.
1998-08-26 17:48  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Move map->l_nsearchlist value into local
	variable so that map can be freed.
	Reported by Philippe Troin <phil@fifi.org>.

	* elf/dl-open.c (dl_open_worker): Correct test for extending global
	scope array.
	Patch by Philippe Troin <phil@fifi.org>.

1998-08-26  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/register-dump.h: Rewrite.  Much nicer this way.
	Don't call writev() with a 100-element vector.
	* sysdeps/generic/segfault.c (catch_segfault): Skip top-level NULL
	return address.

	* sysdeps/powerpc/elf/libc-start.c: Sync up with generic version.
	In particular, set __libc_stack_end.
	* sysdeps/powerpc/elf/start.S: Allow _init and _fini to be
	undefined.  Fix copyright notice.

1998-08-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/Makefile (gmp-objs): New variable.
	($(objpfx)atest-exp, $(objpfx)atest-sincos, $(objpfx)atest-exp2):
	Depend on it.
	(tests): Add atest-exp atest-sincos atest-exp2.
	(tests-static): Remove atest-exp atest-sincos atest-exp2.

	* elf/rtld.c (dl_main): Unload map file before jumping to user code.
1998-08-26 18:03:49 +00:00
Ulrich Drepper
7a68c94a5b Update.
1998-07-10 18:14 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* manual/Makefile: Overhauled.  Generate libc.texinfo from the
	chapter files.  Exorcise the chapters, chapters-incl mess.
	Support inserting doc chapters from add-on modules.
	(chapters): New variable.
	(add-chapters): New variable.
	(appendices): New variable.
	(libc.texinfo): New target.
	(clean): Fix bugs.
	(realclean): Fix bugs.

	* manual/texis.awk: New file.
	* manual/libc-texinfo.sh: New file.
	* manual/libc-texinfo.in: New file.

	* manual/conf.texi (top @node): Remove next pointer.
	* manual/lang.texi (top @node): Remove prev pointer.

	* manual/job.texi (top @node): Add explicit pointers.
	* manual/message.texi (top @node): Add explicit pointers.
	* manual/nss.texi (top @node): Add explicit pointers.
	* manual/process.texi (top @node): Add explicit pointers.
	* manual/startup.texi (top @node): Add explicit pointers.
	* manual/terminal.texi (top @node): Add explicit pointers.
	* manual/users.texi (top @node): Add explicit pointers.

	* manual/arith.texi: Add %MENU% tag.
	* manual/conf.texi: Add %MENU% tag.
	* manual/contrib.texi: Add %MENU% tag.
	* manual/ctype.texi: Add %MENU% tag.
	* manual/errno.texi: Add %MENU% tag.
	* manual/filesys.texi: Add %MENU% tag.
	* manual/header.texi: Add %MENU% tag.
	* manual/install.texi: Add %MENU% tag.
	* manual/intro.texi: Add %MENU% tag.
	* manual/io.texi: Add %MENU% tag.
	* manual/job.texi: Add %MENU% tag.
	* manual/lang.texi: Add %MENU% tag.
	* manual/llio.texi: Add %MENU% tag.
	* manual/locale.texi: Add %MENU% tag.
	* manual/maint.texi: Add %MENU% tag.
	* manual/math.texi: Add %MENU% tag.
	* manual/mbyte.texi: Add %MENU% tag.
	* manual/memory.texi: Add %MENU% tag.
	* manual/message.texi: Add %MENU% tag.
	* manual/nss.texi: Add %MENU% tag.
	* manual/pattern.texi: Add %MENU% tag.
	* manual/pipe.texi: Add %MENU% tag.
	* manual/process.texi: Add %MENU% tag.
	* manual/search.texi: Add %MENU% tag.
	* manual/setjmp.texi: Add %MENU% tag.
	* manual/signal.texi: Add %MENU% tag.
	* manual/socket.texi: Add %MENU% tag.
	* manual/startup.texi: Add %MENU% tag.
	* manual/stdio.texi: Add %MENU% tag.
	* manual/string.texi: Add %MENU% tag.
	* manual/sysinfo.texi: Add %MENU% tag.
	* manual/terminal.texi: Add %MENU% tag.
	* manual/time.texi: Add %MENU% tag.
	* manual/users.texi: Add %MENU% tag.

1998-07-13  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (x86_cap_flags):
	Update.

1998-07-11  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/recvmsg.c (__libc_recvmsg): Use ANSI
	style declaration to avoid warning.
	* sysdeps/unix/sysv/linux/sendmsg.c (__libc_sendmsg): Likewise.

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

	* elf/rtld.c (process_dl_debug): Add missing continue.

1998-07-12  Mark Kettenis  <kettenis@phys.uva.nl>

	* elf/rtld.c (_dl_skip_args): Make global because the Hurd startup
	code needs it.

1998-07-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig ($(common-objpfx)sysd-dirs): Write out definition of
	sysd-dirs-done.
	* Makerules: Don't generate version maps too early.
	($(common-objpfx)sysd-versions): Force regeneration if the list of
	subdirs has changed.

1998-07-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dlfcn.h (DL_CALL_FCT): Use portable comma expression.

1998-07-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* iconv/gconv_db.c (gen_steps): Always set *handle and *nsteps.
	* iconv/gconv_dl.c (__gconv_find_shlib): Correct use of tfind
	return value.

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

	* elf/dl-open.c (dl_open_worker): New function.
	(_dl_open): Call it to do the actual work while catching errors.
	* elf/dl-close.c (_dl_close): Only call termination function if
	the initialisation function was called.

1998-07-13  Ulrich Drepper  <drepper@cygnus.com>

	* libio/libioP.h (_IO_cleanup_registration_needed): Use __PMT.
	Reported by Felix von Leitner <leitner@amdiv.de>.

1998-07-13 10:28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* elf/rtld.c (process_dl_debug): Add missing continue.

1998-06-23  Mark Kettenis  <kettenis@phys.uva.nl>
1998-07-13 12:29:13 +00:00
Ulrich Drepper
b48abe3cc8 Update.
1998-05-25  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/thread-m.h: Use __mutex_init function in mutex_init macro
	for Hurd.  Patch by Mark Kettenis.

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

	 * mach/Machrules (+preinit, +postinit): Define these variables to
	 empty because libhurduser and libmachuser don't need startup
	 files.

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

	 * sysdeps/mach/hurd/errlist.c (ERR_REMAP): Use err_get_code
	 instead of a raw bitmask.

1998-05-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig (rpath-dirs): New variable.
	(rpath-link): Use it.
	(nssobjdir, nisobjdir, rtobjdir, resolvobjdir): Removed.
	(db-objpfx): Removed.
	* crypt/Makefile: Augment rpath-dirs instead of rpath-link.
	* md5-crypt/Makefile: Likewise.
	* sysdeps/mach/hurd/Makefile: Likewise.

	* Makeconfig (move-if-change): New variable.
	* iconvdata/Makefile (move-if-change): Removed.
	* manual/Makefile (move-if-change): Set only if undefined, use
	local script by default.
	* sunrpc/Makefile (move-if-change): Removed.
	* sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use
	$(move-if-change).

	 * elf/Makefile: Remove all references to obsolete file
	 $(objpfx)rtldtbl.h.
	 ($(objpfx)trusted-dirs.h): Use stamp file.  Cleanup command.

1998-05-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-close.c (_dl_close): Add debugging message.

1998-05-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* csu/Makefile ($(objpfx)version-info.h): Correct sed expression
	to get Linux version and not gcc version.
	Reported by Alan Curry <pacman@cqc.com>.

1998-05-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/_strerror.c (__strerror_r): Don't return NULL
	pointers - return unknown error message instead.
	Reported by Alan Curry <pacman@cqc.com>.

1998-05-24  Mark Kettenis  <kettenis@phys.uva.nl>

	* iconvdata/Makefile (modules, sed-generated-headers,
	perl-generated-headers): ibm424.h is perl generated.  Make
	necessary modifications to compile without perl.

1998-05-24  Mark Kettenis  <kettenis@phys.uva.nl>

	* hesiod/hesiod.c (read_config_file): Fix typo.
1998-05-25 10:01:47 +00:00
Ulrich Drepper
a709dd439a Update.
1998-05-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Makeconfig (rpath-link): Add resolvobjdir.
	(resolvobjdir): New variable.
	Reported by Peter Breitenlohner <peb@mppmu.mpg.de> [fixes PR libc/633].

1998-05-20 09:36  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c: Call shared object terminators at the right time.
	Patch by Philippe Troin <phil@fifi.org>.

1998-05-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Make-dist (+tsrcs): Also add *.map for every member of
	$(extra-libs).

	* Makefile (distribute): Don't distribute scripts/printsources and
	scripts/=__ify.  Distribute FAQ.in.
	(rpm/%): Don't pass subdirs to sub-make.

	* timezone/Makefile: Protect inclusion of z.* by $(avoid-generated)
	instead of $(no_deps).

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/setenv.c: Protect against GNU C extension.
	(KNOWN_VALUE, STORE_VALUE): Do it right.
	(setenv): Remove unused variable.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* timezone/Makefile (tz-cflags): Define TM_GMTOFF and TM_ZONE.
	(CFLAGS-zdump.c): Add $(tz-cflags).

	* timezone/zdump.c (abbr): Use TM_ZONE if defined.  Add const to
	return type.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* time/tzfile.c (__tzfile_compute): Undo last change.  Instead
	take struct tm parameter and set tm_isdst, tm_zone and tm_offset
	if use_localtime.
	* time/tzset.c: Update prototype of __tzfile_compute.
	(__tz_convert): Pass tp to __tzfile_compute.  Don't set tm_isdst,
	tm_zone and tm_offset here if __use_tzfile.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules: Install libc.a even if there are no object file.

1998-05-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-makelib): Don't force creating library from
	scratch, to avoid wasting time and space and to get correct
	behaviour if $(subdirs) is incomplete.

1998-05-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makerules (do-stamp): Make it work when building in source
	directory.
1998-05-20 10:50:03 +00:00
Ulrich Drepper
d0fc4041fe Update.
* intl/finddomain.c: Likewise.
	* intl/gettextP.h: Likewise.
	* intl/loadmsgcat.c: Likewise.
1998-04-02 13:11:24 +00:00
Ulrich Drepper
e9fc7bbb89 Update.
1998-03-25 00:00  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (w_newword): New function.
	(do_parse_glob): New function.
	(parse_glob): Use do_parse_glob.  Now handles the case where a
	variable expansion causes a field-split.
	(wordexp): Use w_newword.
	(parse_arith): Likewise.
	(exec_comm): Likewise.
	(parse_comm): Likewise.
	(parse_param): Likewise.
	(parse_backtick): Likewise.

1998-03-24 19:36  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-tst.sh: Another test.

	* posix/wordexp-test.c: Two new tests.

	* posix/wordexp.c (parse_glob): Use w_addstr instead of realloc
	directly (the code using realloc was buggy).
	(parse_param): Fix typo in comment.
1998-03-24 20:51:53 +00:00
Ulrich Drepper
3dd90163bb Update.
* elf/dl-close.c (_dl_close): Replace questionable memcpy by loop.

1998-03-24  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* libc.map: Add more rpc auth functions/variables.

	* nscd/nscd.c: Add -g option to argp options.

1998-03-24  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Be prepared for gcc 2.9.10 and up.
	* configure.in: Add missing disabling of quote characters in
	compiler version check.  Reported by HJ Lu.

1998-03-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* malloc/mtrace.c: Include elf/ldsodefs.h instead of link.h.

1998-03-24  Ulrich Drepper  <drepper@cygnus.com>

	* intl/locale.alias: Fix spelling of romanian.
1998-03-24 17:03:23 +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
789b13c4e8 Update.
1998-03-23 07:52  H.J. Lu  <hjl@gnu.org>

	* elf/dl-close.c (_dl_close): Fix byte count while removing
	the shared object from the global scope list and optimize
	a little bit.

1998-03-22  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/filesys.texi (Scanning Directory Content): Add missing
	closing brace.
	(Scanning Directory Content): Fix text.

1998-03-22  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/memory.texi (Heap Consistency Checking): Add paragraph
	explaining difference of -lmcheck and MALLOC_CHECK_.

1998-03-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Correct some
	typos in comments.

1998-03-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* test-skeleton.c (main): Fix test for exit signal.

1998-03-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/strtok_r.c: Undefine __strtok_r.

1998-03-22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/memcmp.c [_LIBC]: Define WORDS_BIGENDIAN as
	appropriate.

1998-03-23 11:14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Export __strtok_r.

1998-03-23  Ulrich Drepper  <drepper@cygnus.com>

	* posix/regex.c (re_compile_fastmap): Remove unused variable
	num_regs and adjust comment.
	Patch by Jim Meyering <meyering@ascend.com>.

	* math/math.h (M_*l): Extend long double constants to be usable
	for 128 bit floats.  Patch by Richard Henderson.

1998-03-23 11:16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	Patch by Tim Waugh and Andreas Schwab.
1998-03-23 11:53:10 +00:00
Ulrich Drepper
22bc797882 Update.
1998-03-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/wordexp-test.c: Add more tests.
	(testit): Fix logic.

	* posix/wordexp.c (exec_comm): In the child, redirect stderr to
	/dev/null instead of closing it, close pipe.  Always chop off all
	trailing newlines.  Kill and reap child before returning error.
	(w_addword, parse_glob): Fix memory leak.
	(wordexp): Fix dangling pointer problem.

1998-03-16  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Correct and simplify unmapping.

	* posix/wordexp-test.c (main): Fix little thinkos and typos.

	* catgets/Makefile (CPPFLAGS): Change NLSPATH to also examine
	directory index by only the language.
1998-03-16 18:30:44 +00:00