Commit Graph

81 Commits

Author SHA1 Message Date
Ulrich Drepper
680254fe22 Update.
* include/link.h (struct link_map): Add l_lookup_cache element.
	* elf/dl-reloc.c (RESOLVE): Add symbol caching here.
	(RESOLVE_MAP): Likewise.
	(_dl_relocate_object): Remove cache initialization.
	* elf/dl-lookup.c: Rip out cache handling code.
	* sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable
	declarations.

	* elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and
	remove some __builtin_expect.
	(_dl_lookup_versioned_symbol): Likewise.

	R_386_RELATIVE handling for ld.so startup.  Reduce RTLD_BOOTSTRAP
	case to almost no code.
2001-08-26 10:50:26 +00:00
Ulrich Drepper
c90b5d2838 (_dl_lookup_symbol): If we use the cache we don't have to compute the hash value and initialize current_value. Move reference_name variable to where it is needed. (_dl_lookup_versioned_symbol): Likewise. 2001-08-25 06:15:27 +00:00
Ulrich Drepper
647eb037f3 Update.
2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Remove stale symlinks.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New.
	(_dl_lookup_symbol): Lookup relocations in cache and store successfull
	lookups in cache.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Initialize cache for
	relocation lookup.
	* elf/rtld.c (print_statistics): Output _dl_num_cache_relocations.
	* sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition.
	(lookup_cache, lookup_cache_versioned): Add declarations.

2001-08-23  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/tst-random.c (main): Swap parameters in fail call.
	Patch by Pete Bevin <pete@petebevin.com>.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t.

	* malloc/obstack.c: Indent preprocessor directives.
	Patch by Jim Meyering <meyering@ascend.com>.
2001-08-23 23:36:47 +00:00
Roland McGrath
c12aa80156 * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with
__libc_lock_define_recursive.
	* elf/dl-open.c: Don't declare it here any more.
	* elf/dl-close.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
	__libc_lock_unlock_recursive.
	* elf/dl-close.c (_dl_close): Likewise
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
	* elf/dl-open.c (_dl_open): Likewise

	* sysdeps/generic/bits/libc-lock.h
	(__libc_lock_define_recursive): New macro.
	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
	(_IO_lock_lock): Use __libc_lock_lock_recursive.
	(_IO_lock_unlock): Use __libc_lock_unlock_recursive.
2001-08-23 06:03:42 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

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

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

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
80d9c5f0b1 Update.
2001-05-18  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (PROTECTED): Remove defines.
	(add_dependency): Mark it with internal_function.
	(_dl_do_lookup, _dl_do_lookup_versioned): New functions.
	(_dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip): Use
	it if we don't want do_lookup* inlined.

2001-05-18  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h (struct r_scope_elem): Remove r_duplist and
	r_nduplist fields.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't initialize them.
	* elf/dl-lookup.c (_dl_lookup_symbol_skip): Look in r_list, not
	r_duplist.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-deps.c (struct list): Remove dup field, rename unique to next.
	(_dl_map_object_deps): Don't compute duplicate list.

	* elf/dl-symbol.c: Removed.
	* elf/Makefile (routines): Remove dl-symbol.

2001-05-22  Ulrich Drepper  <drepper@redhat.com>

	* po/el.po: Update from translation team.
	* po/sv.po: Likewise.
2001-05-22 23:42:35 +00:00
Ulrich Drepper
35fc382add Update.
* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
2001-02-28 06:36:10 +00:00
Ulrich Drepper
62dcee574f Replace _dl_debug_* variables with _dl_debug_mask. 2001-02-27 09:34:31 +00:00
Ulrich Drepper
e30f2b9828 Update.
* elf/dl-lookup.c (add_dependency): Fix test to check whether
	dependency already exists.
	* elf/Makefile: Add testobj1 and testobj2 as dependencies of testobj6.
	* elf/loadtest.c (main): Add test at the end that everything is
	unloaded.

	* elf/dl-open.c (dl_open_worker): Fix typo in comment.
2000-10-25 04:00:08 +00:00
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
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
ea4d748699 (_dl_lookup_symbol_skip): Fix a typo. 2000-09-15 17:06:43 +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
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
b0982c4ad3 Update.
* include/elf.h: Include also <dl-dtprocnum.h>.
	* elf/dl-deps.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-dtprocnum.h: New file.
	* sysdeps/ia64/dl-dtprocnum.h: New file.
	* sysdeps/mips/dl-dtprocnum.h: New file.
	* sysdeps/sparc/dl-dtprocnum.h: New file.
2000-06-08 04:48:56 +00:00
Ulrich Drepper
6aa29abe9f Update.
2000-05-21  H.J. Lu  <hjl@gnu.org>

	* elf/do-lookup.h (do_lookup_versioned): Replace reloc_type parameter
	with noexec and noplt parameter.
	(do_lookup): Likewise.

	* elf/dl-lookup.c (_dl_lookup_symbol): Change for new parameters of
	do_lookup.  Support STV_PROTECTED.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.

	* elf/dl-reloc.c (RESOLVE): Check STB_LOCAL instead of ST_VISIBILITY.

	* elf/dl-runtime.c (profile_fixup): Fix a typo in comment.
2000-05-22 16:33:19 +00:00
Andreas Jaeger
f7d07c10a6 2000-05-08 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (add_dependency): Reallocate l_reldeps in
	sizeof(struct link_map *) chunks, not in bytes.
2000-05-08 12:59:12 +00:00
Ulrich Drepper
c0282c0642 Update.
2000-05-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Little of computation of
	parameter to mprotect and for variable assignments.

2000-05-03  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Check the
	validity of map before dereferencing it.

	* elf/dl-reloc.c (RESOLVE_MAP): Define.

2000-05-02  Jes Sorensen  <jes@linuxcare.com>

	* elf/dl-runtime.c (fixup): Add the value returned in the symbol
	lookup to the arguments to elf_machine_fixup_plt().

	* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add Link_map
	of the symbol being resolved to input argument list and make the
	function return the pointer to the reloc.

	* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Change
	return valuie to lookup_t and return the value.
	* sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
	* sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.

	* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Likewise.
	Make it an inline function returning value after calling
	__elf_machine_fixup_plt().

	* elf/dl-sym.c (_dl_vsym): Use DL_SYMBOL_ADDRESS() to obtain the
	symbol address.

	* elf/dl-symbol.c (_dl_symbol_value): Use LOOKUP_VALUE_ADDRESS to
	obtain the symbol address.

	* sysdeps/generic/ldsodefs.h: Add generic DL_SYMBOL_ADDRESS() macro
	depending on the definition of ELF_FUNCTION_PTR_IS_SPECIAL.

	* sysdeps/ia64/dl-machine.h: Add DL_SYMBOL_ADDRESS() macro calling
	_dl_symbol_address() - this way DL_SYMBOL_ADDRESS() turns into an
	inline on non ia64.

2000-04-28  Jes Sorensen  <jes@linuxcare.com>

	* elf/dl-runtime.c (fixup): Use the portable macros to get the
	symbol address of an object.

	* elf/dl-runtime.c (fixup-profile): Use the portable macros to get
	the symbol address of an object.

	* elf/dl-libc.c (struct do_dlsym_args): Change loadbase to a lookup_t.
	* elf/dl-lookup.c (_dl_lookup_symbol): Likewise.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.

2000-04-27  Jes Sorensen  <jes@linuxcare.com>

	* elf/rtld.c (_dl_start): Get the function pointer return address
	via _dl_start_address for architectures that need a function
	pointer descriptor rather than just a pointer (ia64).

	* sysdeps/generic/dl-lookupcfg.h: New file.
	* sysdeps/ia64/dl-lookupcfg.h: New file.
	* sysdeps/ia64/dl-machine.h: New file.
	* sysdeps/ia64/dl-symaddr.c: New file.
	* sysdeps/ia64/dl-fptr.c: New file.

	* elf/elf.h: Add IA-64 specific definitions.
2000-05-05 07:15:29 +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
e3265f5bc5 Update.
2000-04-17  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (add_dependency): Correct __builtin_expect use.
2000-04-17 07:09:10 +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
a42195dbe4 Update.
2000-03-23  Andreas Jaeger  <aj@suse.de>

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

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

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

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

	* elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info
	for writable dynamic section.
2000-03-23 20:31:46 +00:00
Ulrich Drepper
7730a3b9d4 Pretty print. 1999-08-01 18:04:40 +00:00
Ulrich Drepper
a1eca9f329 Update.
1999-07-25  Jakub Jelinek  <jj@ultra.linux.cz>

	* elf/link.h (struct link_map): Use Elf_Symndx instead of ElfXX_Symndx.
	* elf/dl-lookup.c (_dl_setup_hash): Likewise.
	* elf/dl-load.c (_dl_map_object): Likewise.
	* elf/do-lookup.h (do_lookup*): Likewise.
	* sysdeps/generic/bits/elfclass.h: Define Elf_Symndx as uint32_t.
	* sysdeps/unix/sysv/linux/alpha/bits/elfclass.h: Define Elf_symndx
	as uint64_t.
	* elf/elf.h: Remove Elf32_Symndx and Elf64_Symndx.
1999-07-27 05:53:25 +00:00
Ulrich Drepper
06535ae948 Update.
* posix/unistd.h: Move declaration of __libc_enable_secure to...
	* include/unistd.h: ...here.

	* elf/dl-open.c (dl_open_worker): If DST is used in SUID program punt.
	* elf/dl-deps.c (expand_dst): Likewise.

	* elf/dynamic-link.h: Set DT_SYMBOLIC, DT_TEXTREL, and DT_BIND_NOW
	based on DT_FLAGS value.

	* elf/do-lookup.h: Remove reference_name parameter, add undef_map.
	Add test for symbols marked STV_HIDDEN.
	* elf/dl-lookup.c (_dl_lookup_symbol): Remove reference_name parameter,
	add undef_map.  Compute reference_name locally.  Update call to
	do_lookup.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-libc.c: Update call to _dl_lookup_*symbol.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/ldsodefs.h: Adjust prototypes.

	* elf/dl-reloc.c (RESOLV): Add test for STV_PROTECTED flag set and
	handle appropriately.  Add comment about DT_TEXTREL.
	* elf/dl-runtime.c: Likewise.
1999-07-23 22:58:50 +00:00
Ulrich Drepper
263456bdd4 Update.
1999-06-07  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/if_index.c: Use SIGIOCGIFINDEX and fix
	another SIOGIFNAME typo.

1999-06-07  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c: Remove duplicated assert.h inclusion.

	* sysdeps/generic/printf_fphex.c (__printf_fphex): Optimize a little
	bit.

1999-06-05  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/generic/printf_fphex.c (__printf_fphex): Don't ignore
	the precision if the mantissa is zero.

1999-06-05  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/lang.texi (Floating Point Parameters): GCC already
	supports long double for a long time.

1999-06-05  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* math/libm-test.c (j0_test, j1_test, jn_test, y0_test, y1_test,
	yn_test): Increase some epsilons.
1999-06-07 15:57:26 +00:00
Ulrich Drepper
9a8fcca0b3 Update.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_SIOCGIFNAME for kernel >= 2.1.50.
	* sysdeps/unix/sysv/linux/if_index.c: Correct typo (SIOGIFNAME ->
	SIOCGIFNAME) and use __ASSUME_SIOCGIFNAME.

	* sysdeps/libm-ieee754/w_j0.c: Remove __ from symbol definitions.
	* sysdeps/libm-ieee754/w_j0f.c: Likewise.
	* sysdeps/libm-ieee754/w_j0l.c: Likewise.
	* sysdeps/libm-ieee754/w_j1.c: Likewise.
	* sysdeps/libm-ieee754/w_j1f.c: Likewise.
	* sysdeps/libm-ieee754/w_j1l.c: Likewise.
	* sysdeps/libm-ieee754/w_jn.c: Likewise.
	* sysdeps/libm-ieee754/w_jnf.c: Likewise.
	* sysdeps/libm-ieee754/w_jnl.c: Likewise.

	* stdio-common.c: Correct typos.

	* math/libm-test.c (jn_test): Adjust delta.
	(y1_test): Likewise.
	(yn_test): Likewise.

	* elf/do-lookup.h: It should never happen that if we expect a versioned
	symbol from a file the file has no version table.  This should have
	been checked in dl-version.c.
	* elf/dl-lookup.c: Include assert.h.
1999-06-07 00:02:14 +00:00
Ulrich Drepper
3f933dc2ef Update.
1999-02-23  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/dl-error.c (_dl_signal_cerror): New function.
	(_dl_signal_error): Don't call receiver function.
	* elf/dl-lookup.c (_dl_lookup_symbol): Call _dl_signal_cerror
	instead of _dl_signal_error when reporting references to undefined
	symbols or versions.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-version.c (match_symbol): Likewise.

	* elf/ldsodefs.h: Declare _dl_signal_cerror.

	* misc/getttyent.c (getttyent): Release lock on stream later to
	also protect global variable zapchar.
1999-02-22 18:05:04 +00:00
Ulrich Drepper
2f6164e233 Update.
* elf/dl-lookup.c (_dl_lookup_symbol_skip): Before first do_lookup
	call test whether there is any scope left.
	(_dl_lookup_versioned_symbol_skip): Likewise.
1999-02-20 22:05:45 +00:00
Ulrich Drepper
a0e3f6f49c Update.
* elf/Makefile (distribute): Add do-lookup.h.
	* elf/do-lookup.h: New file.  Split out from dl-lookup.c.
	* elf/dl-lookup.c: Move do_lookup function in separate file and
	include the file twice, for handling versioning and without it.
1999-02-20 21:12:26 +00:00
Ulrich Drepper
f420344cef Update.
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with
	load address.  Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL,
	DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry.
	(_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether
	rel and rela relocations can both happen and skip one test if this
	is not possible.
	(ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC
	appropriately.
	* elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are
	already relocated.
	* elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already
	relocated.
	* elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated.
	(_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument.
	(_dl_map_object): DT_STRTAB entry is already relocated.
	* elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are
	already relocated.
	* elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already
	relocated.
	* elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and
	DT_VERSYM entries are already relocated.
	(profile_fixup): Likewise.
	* elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX.  Replace
	all users.
	(match_symbol): DT_STRTAB entry is already relocated.
	(_dl_check_map_versions): Likewise.  Also fo DT_VERSYM.
	* elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be
	relocated already.  DT_SYMTAB and DT_VERSYM entries are also relocated.
	* elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info.
	(find_needed): DT_STRTAB entry is already relocated.
	(dl_main): Pass extra argument to elf_get_dynamic_info.
	DT_STRTAB entry is already relocated.
	* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and
	DT_PLTGOT entries are already relocated.
	(elf_machine_rela): Likewise for DT_SYMTAB.
	* sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already
	relocated.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise.
	(elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB.

	* grp/initgroups.c (initgroups): If function in current module was
	successful don't stop but continue to process to get all the groups.
1999-02-20 15:02:24 +00:00
Ulrich Drepper
48f6496e3f Update.
1999-02-07  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c: Increment _dl_num_relocations in the four entry
	point functions, not do_lookup since the later can be called more
	than once.
1999-02-07 21:21:33 +00:00
Ulrich Drepper
8352b484cf (_dl_num_relocations): New variable. (do_lookup): Increment _dl_num_relocations for every call. 1998-12-27 17:15:12 +00:00
Ulrich Drepper
65c64a0b4a Update.
* elf/dl-lookup.c (do_lookup): If looking up an unversioned symbol
	but the object file only contains versioned definitions than
	accept the definition if there is exactly one even if the version
	number is not the default version.  This helps dlsym() to find
	newly introduced symbols.
1998-12-23 15:38:56 +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
d0fc4041fe Update.
* intl/finddomain.c: Likewise.
	* intl/gettextP.h: Likewise.
	* intl/loadmsgcat.c: Likewise.
1998-04-02 13:11:24 +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
3d76e77847 Update.
1998-03-11  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nss_db/db-XXX.c (lookup): Copy data to safe place before
	parsing it.
1998-03-11 11:09:56 +00:00
Ulrich Drepper
bc526b60ee Update.
1998-03-11  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Use
	_dl_debug_message.

1998-03-12  Matthias Urlichs  <smurf@noris.de>

	* elf/dl-misc.c: Default for debug output should be stderr.
	* elf/dl-misc.c: Spurious garbage bytes after the PID in debug output.
	* elf/dl-lookup.c: reference_name may be NULL or empty.

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

	* aclocal.m4 (LIBC_PROG_FOO_GNU): Fix order of redirection.

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

	* sysdeps/unix/sysv/linux/Dist: Add scsi/scsi.h.

	* sysdeps/unix/sysv/linux/scsi/sg.h: Include features.h.

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

	* sysdeps/unix/sysv/linux/scsi/scsi.h: New file.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Install it.

1998-03-11 10:30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-03-11 09:54:55 +00:00
Ulrich Drepper
8193034b1d Update.
1998-03-10 17:54  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add _dl_debug_message.
	* elf/dl-misc.c: Make _dl_debug_message a function.  Print the PID
	before every line.
	* elf/fini.c: Correctly use new _dl_debug_message function.
	* elf/init.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* sysdeps/unix/sysv/linux/libc-start.c: Likewise.
	* elf/dl-load.c: Likewise.  Add more debugging prints.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-support.c: Add variables for debugging.
	* elf/rtld.c: Likewise.  Recognize new debug options.
	* elf/link.h: Declare new variables.

	* elf/dl-deps.c (_dl_map_object_deps): Little optimizations.

	* sysdeps/unix/sysv/linux/sys/quota.h: Extract information from
	kernel headers.  Patch by a sun <asun@saul7.u.washington.edu>.

1998-03-11 00:16  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c (command_line_test): New function to allow
	testing of specific cases from the command-line.

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

	* elf/dl-init.c (_dl_init_next): Print nicer messages.
	* elf/dl-fini.c (_dl_fini): Likewise.
	* sysdeps/unix/sysv/linux/libc-start.c (__libc_start_main): Likewise.
1998-03-10 18:04:16 +00:00
Ulrich Drepper
db0b91a906 Update.
1998-03-10  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Print version
	symbol in debug message.
	(_dl_lookup_versioned_symbol_skip): Likewise.

	* sysdeps/unix/readdir_r.c: Zero out *result on EOF.
	* manual/filesys/texi: Document this.
	0600.  Reported by Greg Alexander <galexand@sietch.bloomington.in.us>.
1998-03-10 12:04:08 +00:00
Ulrich Drepper
de100ca78f Update.
1998-03-10 00:10  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c (do_lookup): Remove list and n parameter and add
	instead scope.  If debugging display information about symbol
	resolving.
	(_dl_lookup_symbol): Call do_lookup with correct parameters.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-support.c: Define _dl_debug_symbols.
	* elf/link.h: Add declaration for _dl_debug_symbols.
	* elf/rtld.c: Define _dl_debug_symbols.
	(process_dl_debug): Recognize symbols option.
1998-03-10 00:16:33 +00:00
Ulrich Drepper
0c367d923b Update.
1998-03-09 18:21  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-support.c (_dl_debug_bindings): Add definition.
	* elf/rtld.c (_dl_debug_bindings): Add definition.
	(process_dl_debug): Recognize bindings option.  Update help message.
	* elf/link.h (struct link_map): Add l_versyms member.
	(_dl_debug_bindings): Add declaration.
	* elf/version.c (_dl_check_map_versions): Initialize l_versyms.
	* elf/dl-object.c (_dl_new_object): Don't initialize l_rpath_dirs
	and l_reloc_result.
	* elf/dl-lookup.c (do_lookup): Define verstab from l_versyms.
	(sym_val): Remove a member, add m as link_map.
	(do_lookup): Return result appropriately.
	(_dl_lookup_symbol): If _dl_debug_bindings is defined print message.
	Call do_lookup correctly.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
1998-03-09 18:30:58 +00:00
Ulrich Drepper
3db52d94e2 Update.
1998-03-08 14:58  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (nisobjdir): Set to path to nis directory.
	(rpath-link): Add nisobjdir.
	Patch by Sven Verdoolaege <skimo@kotnet.org>.

	* elf/Makefile: Pretty print.
	* elf/dl-lookup.c: Include unistd.h.
	* elf/dl-runtime.c: Likewise.

	* localedata/Makefile (test-srcs): Add tst-rpmatch.
	(distribute): Add tst-rpmatch.sh.
	(tests): Add tst-rpmatch to dependency list and run tst-rpmatch.sh.

	New tests for rpmatch function by
	Jochen Hein <jochen.hein@delphi.central.de>.
	* localedata/tst-rpmatch.c: New file.
	* localedata/tst-rpmatch.sh: New file.

	* localedata/locales/de_DE: Correct yesexpr and noexpr.
	* localedata/locales/de_AT: Likewise.

	* posix/getopt.c: Update contact address.
	* posix/getopt1.c: Pretty print.

	* sysdeps/generic/libc-start.c: Do most of the initialization now
	here instead of in start.S.
	* sysdeps/unix/sysv/linux/libc-start.c: Likewise.
	* sysdeps/i386/elf/start.S: Remove most of the initialization code.

	* sysdeps/unix/sysv/linux/i386/profil-counter.h: No need for
	profil_counter to be public.

1998-03-08 13:06  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (parse_arith): Now works for negative numbers too.
	(parse_param): Coded parameter length expansion (${#var}).
	(parse_param): Handling for "=", "+", "-", and the ":" versions added.
	(parse_param): Cleaned up (fixed) error handling.

	* posix/wordexp-test.c: IFS now includes non-whitespace character
	(comma).  Added more tests.
1998-03-08 15:26:29 +00:00
Ulrich Drepper
7dea968e78 Update.
1998-03-06 17:04  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add _dl_debug_impcalls, _dl_debug_fd, _dl_sysdep_output,
	__libc_start_main.
	* csu/Makefile (routines): Add libc-start.
	* elf/dl-error.c: Remove declaration of _dl_argv.  Include <unitsd.h>.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* elf/link.h: Declare _dl_argv, _dl_debug_fd.
	Declare _dl_sysdep_output.  Make _dl_sysdep_fatal, _dl_sysdep_error and
	_dl_sysdep_message macros which use _dl_sysdep_output.
	* elf/dl-fini.c: Write out which destructor is called while debugging.
	* elf/dl-init.c: Likewise for constructor.
	* elf/dl-load.c: Use _dl_debug_message instead of _dl_sysdep_message.
	* elf/dl-misc.c: Remove _dl_sysdep_fatal, _dl_sysdep_error and
	_dl_sysdep_message.  Add _dl_sysdep_output.
	* elf/rtld.c: Recognize LD_DEBUG_OUTPUT.  Set _dl_debug_fd if
	this file can be opened.
	For LD_DEBUG=libs also set _dl_debug_impcalls.
	* sysdeps/generic/dl-cache.c: Include unistd.h.
	* sysdeps/generic/libc-start.c: New file.
	* sysdeps/i386/elf/start.S: Don't call main directly, call
	* sysdeps/unix/sysv/linux/libc-start.c: New file.
	__libc_start_main instead.

	* elf/Makefile ($(objpfx)ld.so): Add $(load-map-file) as dependency.
1998-03-06 17:21:43 +00:00
Ulrich Drepper
da8324650d Update.
1998-02-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* iconv/Makefile: New file.
	* iconv/gconv.c: New file.
	* iconv/gconv.h: New file.
	* iconv/gconv_builtin.c: New file.
	* iconv/gconv_builtin.h: New file.
	* iconv/gconv_close.c: New file.
	* iconv/gconv_conf.c: New file.
	* iconv/gconv_db.c: New file.
	* iconv/gconv_dl.c: New file.
	* iconv/gconv_open.c: New file.
	* iconv/gconv_simple.c: New file.
	* iconv/iconv.c: New file.
	* iconv/iconv.h: New file.
	* iconv/iconv_close.c: New file.
	* iconv/iconv_open.c: New file.
	* include/gconv.h: New file.

	* Makeconfig: Define gconvdir.
	* Makefile (subdirs): Add iconv.

	* string/bits/string2.h: Add optimization for strtok_r.

	* sysdeps/generic/_G_config.h: Define __need_NULL to get definition
	for NULL.
	Reported by H.J. Lu <hjl@gnu.ai.mit.edu>.
	* configure.in: Correct test for bash2.
	* locale/Makefile (CFLAGS-charmap.c): Add -Wno-char-subscripts.
	(CFLAGS-locfile.c): Likewise.
	Suggested by Zack Weinberg <zack@rabi.phys.columbia.edu>.
	* misc/hsearch_r.c (hsearch_r): Avoid undefinitely search for
	non-existing entry if the table is full.
	* posix/regex.h: Pretty print.
	* stdio-common/printf_fp.c: Don't define NDEBUG if already defined.
	* sysdeps/posix/ctermid.c: Simplify a bit.
	* sysdeps/unix/sysv/linux/net/if.h: Pretty print.
1997-11-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* sysdeps/unix/sysv/linux/sys/quota.h: Add include for
	<sys/types.h> instead of <asm/types.h>.
1997-11-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* math/libm-test.c (asin_test): Add epsilon for asin (0.5).
1997-11-16 17:09  H.J. Lu  <hjl@gnu.ai.mit.edu>
	* libc.map (_IO_stdin_, _IO_stdout_, _IO_stderr_, _IO_fopen,
	fopen, freopen, _IO_fclose, fclose): Added to GLIBC_2.0.
	(_IO_stdin_, _IO_stdout_, _IO_stderr_): Removed from GLIBC_2.1.
	(_IO_2_1_stdin_, _IO_2_1_stdout_, _IO_2_1_stderr_, _IO_fclose,
	fclose): Added to GLIBC_2.1.
	* libio/Makefile (routines, shared-only-routines): Add
	oldiofclose.  Remove oldfreopen.
	* libio/freopen.c (freopen): When PIC is defined, call
	_IO_old_freopen () for old stdio.
	* libio/iofclose.c (_IO_new_fclose): Renamed from _IO_fclose.
	(_IO_fclose, fclose): Use _IO_new_fclose as default version
	for GLIBC_2.1.
	* libio/iolibio.h (_IO_old_freopen): Use _IO_old_file_close_it
	instead of _IO_file_close_it.
	* libio/libio.h (_IO_stdin_, _IO_stdout_, _IO_stderr_): Changed
	to _IO_2_1_stdxxx_.
	(_IO_stdin, _IO_stdout, _IO_stderr): Declare as extern if _LIBC
	* libio/libioP.h (_IO_old_do_flush): New.
	* libio/oldfileops.c (_IO_old_file_close_it,
	_IO_old_file_finish, _IO_old_file_overflow, _IO_old_file_sync):
	Call _IO_old_do_flush () instead of _IO_do_flush ().
	(_IO_old_file_xsputn): Call _IO_old_do_write () instead of
	_IO_do_write ().
	* libio/oldiofopen.c (_IO_old_fopen): Call _IO_old_file_init ()
	instead of _IO_file_init ().
	Bind old symbols to version GLIBC_2.0.
	* libio/oldstdfiles.c (DEF_STDFILE): Don't use symbol_version.
	(_IO_old_stdin_, _IO_old_stdout_, _IO_old_stderr_): Changed to
	_IO_stdxxx_.
	(_IO_check_libio): New function in .init.
	* libio/oldiofclose.c: New file.
	* libio/stdfiles.c (_IO_new_stdin_, _IO_new_stdout_,
	_IO_new_stderr_): Changed to _IO_2_1_stdxxx_.
	(DEF_STDFILE): Don't use default_symbol_version.
	* libio/stdio.c (stdin, stdout, stderr): Set to
	_IO_2_1_stdxxx_._
	(_IO_stdin, _IO_stdout, _IO_stderr): New, strong alias of
	stdxxx.
	* csu/Makefile (distribute): Add init.c.
	(extra-objs): Add init.o for ELF.
	(start-installed-name): Add $(objpfx)init.o.
	* csu/init.c: New file.
1997-11-12 08:02  H.J. Lu  <hjl@gnu.ai.mit.edu>
	* elf/dl-lookup.c (do_lookup): Don't use the hidden base
	definition as the default.
1997-08-27  Klaus Espenlaub  <kespenla@hydra.informatik.uni-ulm.de>
	* erand48_r.c (__erand48_r): Implement for 32 bit short int.
1997-11-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* elf/genrtldtbl.awk: Replace gensub for compatibility with gawk2
	(PR 351).
1997-11-16 21:01  Philip Blundell  <Philip.Blundell@pobox.com>
	* sysdeps/arm/sysdep.h: Use __APCS_32__ to decide whether or not
	to preserve condition codes on function call.
1997-11-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* sysdeps/generic/s_exp2l.c: Change exp2l to __ieee754_exp2l.
1997-11-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* math/libm-test.c (asin_test): Add epsilon for float.
	(tan_test): Add epsilon for float.
	(log1p_test): Add epsilon for float.
	(inverse_functions): Add epsilons.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers) [socket]: Add
	net/if_packet.h.
	* sysdeps/unix/sysv/linux/Dist: Add net/if_packet.h.
1997-11-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* md5-crypt/Makefile (extra-objs): Make recursively expanded
	variable, since $(object-suffixes) is not defined yet.
1997-11-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* db2/Makefile (distribute): db185/db185_int.src ->
	db185/db185_int.h.
1997-11-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* misc/tst-fdset.c: Don't require the value of FD_ISSET to be
	exactly one.
1997-11-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* sysdeps/generic/e_acoshl.c: Fix stub_warning: use the user level
	* sysdeps/generic/e_acosl.c: Likewise.
	* sysdeps/generic/e_asinl.c: Likewise.
	* sysdeps/generic/e_atan2l.c: Likewise.
	* sysdeps/generic/e_expl.c: Likewise.
	* sysdeps/generic/e_fmodl.c: Likewise.
	* sysdeps/generic/e_j0l.c: Likewise.
	* sysdeps/generic/e_j1l.c: Likewise.
	* sysdeps/generic/e_jnl.c: Likewise.
	* sysdeps/generic/e_lgammal_r.c: Likewise.
	* sysdeps/generic/e_log10l.c: Likewise.
	* sysdeps/generic/e_logl.c: Likewise.
	* sysdeps/generic/e_powl.c: Likewise.
	* sysdeps/generic/e_sqrtl.c: Likewise.
	* sysdeps/generic/e_exp2l.c: Likewise.

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

	* Make-dist (+sysdep-names): Remove extra paren.
	* Makefile (distribute): Add stub-tag.h.
	* elf/Makefile (distribute): Add atomicity.h.
	* stdlib/Makefile (headers): Add ucontext.h and sys/ucontext.h.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers)
	[$(subdir)=socket]: Add net/if_packet.h.
	* sysdeps/alpha/Dist: Remove setjmp_aux.c.
	* sysdeps/unix/sysv/linux/Dist: Add s_pread64.c, s_pwrite64.c,
	net/if_packet.h, scsi/sg.h.
1997-11-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* Makefile (install): Quote $(CC) expansion.
1997-11-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Added caching of
	working /proc cwd and no restrictions on path length.  Following
	some ideas from Andi Kleen <ak@muc.de> (PR 350).
1997-11-14 19:14  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>
	* nis/nss_compat/compat-grp.c: Remove buggy assert call.
1997-11-14 22:23  Ulrich Drepper  <drepper@cygnus.com>
	* sysdeps/libm-i387/s_fdim.S: New file.
	* sysdeps/libm-i387/s_fdimf.S: New file.
	* sysdeps/libm-i387/s_fdiml.S: New file.
	* sysdeps/libm-i387/i686/s_fdim.S: New file.
	* sysdeps/libm-i387/i686/s_fdimf.S: New file.
	* sysdeps/libm-i387/i686/s_fdiml.S: New file.
1997-11-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* string/bits/string2.h (strstr): Avoid warning if HAYSTACK is a
	pointer to unsigned char.
1997-11-13  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* sysdeps/libm-ieee754/s_llrintf.c (__llrintf): Fix function.
	* sysdeps/libm-ieee754/s_lrintf.c (__lrintf): Fix function.
	* sysdeps/libm-ieee754/s_lrint.c (__lrint): Fix function.
1997-11-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* sysdeps/libm-ieee754/s_ilogbf.c: Correct return values for
	ilogb(0/NaN).
	* sysdeps/libm-ieee754/s_ilogbl.c: Likewise.
	* sysdeps/libm-ieee754/s_ilogb.c: Likewise.

1997-11-14 05:44  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/s_fmin.S: New file.
	* sysdeps/libm-i387/s_fminf.S: New file.
	* sysdeps/libm-i387/s_fminl.S: New file.
	* sysdeps/libm-i387/s_fmax.S: New file.
	* sysdeps/libm-i387/s_fmaxf.S: New file.
	* sysdeps/libm-i387/s_fmaxl.S: New file.
	* sysdeps/libm-i387/i686/s_fmin.S: New file.
	* sysdeps/libm-i387/i686/s_fminf.S: New file.
	* sysdeps/libm-i387/i686/s_fminl.S: New file.
	* sysdeps/libm-i387/i686/s_fmax.S: New file.
	* sysdeps/libm-i387/i686/s_fmaxf.S: New file.
	* sysdeps/libm-i387/i686/s_fmaxl.S: New file.

1997-11-14 03:06  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/accept.S: Add __libc_accept as alias.
	* sysdeps/unix/sysv/linux/send.S: Likewise.
	* sysdeps/unix/sysv/linux/recv.S: Likewise.
	* sysdeps/unix/sysv/linux/connect.S: Likewise.
	Reported by Christopher Wiles <wileyc@ai.cs.fujitsu.co.jp>.
See ChangeLog.7 for earlier changes.
1997-11-18 02:50:07 +00:00
Ulrich Drepper
86187531d3 Update.
1997-11-06 00:06  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp-help.c: Optimize a bit by using mempcpy.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* inet/rcmd.c: Likewise.
	* io/ftw.c: Likewise.
	* libio/fileops.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/obprintf.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* posix/execvp.c: Likewise.
	* posix/getopt.c: Likewise.
	* posix/glob.c: Likewise.
	* posix/wordexp.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdlib/canonicalize.c: Likewise.
	* stdlib/msort.c: Likewise.
	* string/argz-replace.c: Likewise.
	* sysdeps/generic/putenv.c: Likewise.
	* sysdeps/generic/setenv.c: Likewise.
	* sysdeps/posix/getcwd.c: Likewise.
	* sysdeps/posix/ttyname.c: Likewise.
	* sysdeps/posix/writev.c: Likewise.
	* time/strftime.c: Likewise.
	* time/tzfile.c: Likewise.

	* login/utmp_daemon.c: Use memcpy instead of strcpy where possible.
	* sunrpc/svcauth_des.c: Likewise.
	* sysdeps/unix/sysv/linux/gethostname.c: Likewise.

	* misc/tsearch.c: Use memcpy return value if possible.
	* posix/regex.c: Likewise.
	* sysdeps/unix/readdir_r.c: Likewise.
	* wcsmbc/wcsdup.c: Likewise.

	* nss/digits_dots.c: Little optimization.

	* inet/ruserpass.c (ruserpass): Optimize by using stpcpy.
	(struct toktab): Make tokstr field a const char *.

	* elf/dl-profile.c: Fix typo.

	* inet/ether_ntoh.c: Don't use relative #include path.
	* inet/gethstbynm.c: Likewise.
	* resolv/inet_pton.c: Likewise.
	* shadow/sgetspent_r.c: Likewise.

	* libio/oldfileops.c (_IO_old_file_jumps): Use correct sync and write
	callbacks.  Patch by NIIBE Yutaka <gniibe@mri.co.jp>.

	* posix/confstr.c: Correct string for _CS_LFS_CFLAGS.
	Handle _CS_XBS5_* constants.
	* posix/unistd.h: Add comment describing _XBS5_* constants.
	* sysdeps/generic/bits/confname.h: Add _CS_XBS5_* constants.

	* posix/regex.c: Indent preprocessor code.

	* posix/wordexp.c: Using _itoa_word instead of sprintf.

	* stdlib/canonicalize.c: Avoid unnecessary copying.  Handle NULL
	and "" arguments correctly according to SUS.
	* stdlib/test-canon.c: Test "" and NULL argument handling.

	* sysdeps/posix/writev.c: Correct condition to leave the loop.

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

	* nss/getXXbyYY.c: Set buffer to NULL if realloc fails so that possible
	next call starts with malloc again.
	Proposed by Joe Keane <jgk@jgk.org>.

1997-11-04 23:57  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Correct gcc -pipe test.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.

	* posix/glob.c: Cleanups.  Patch by H.J. Lu <hjl@lucon.org>.

1997-11-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/creature.texi (Feature Test Macros): Add _POSIX_C_SOURCE
	definition.
1997-11-06 00:02:46 +00:00
Ulrich Drepper
1618c59038 Update.
1997-11-04  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi: Correct description of return value for
	readdir_r.
	* sysdeps/unix/readdir_r.c (__readdir_r): Return value of errno
	not -1 in error case.
	* sysdeps/generic/readdir_r.c (__readdir_r): Return ENOSYS not -1.
	Reported by Jim Meyering <meyering@eng.ascend.com>.

1997-11-02  Paul Eggert  <eggert@twinsun.com>

	* strftime.c: Use host's underlying strftime to access
	locale-specific info.  This is useful e.g. when building GNU
	Emacs under Solaris 2.6.
	(weekday_name, month_name): Omit if HAVE_STRFTIME.
	(my_strftime): New macro, which names the strftime function that
	this source file produces.
	(strftime): #undef if emacs is defined; this works around Emacs 20.2's
	method of compiling with -Dstrftime=emacs_strftime.
	Also, declare as a function returning size_t, for similar reasons.
	(my_strftime): If HAVE_STRFTIME, use underlying strftime to handle
	locale-dependent formats like %a and %Ec.

1997-11-02  Paul Eggert  <eggert@twinsun.com>

	* strftime.c (memcpy_lowcase, memcpy_uppcase, strftime):
	Ensure that args to islower and isupper are valid unsigned
	chars, even if char is signed.

1997-11-04  Ulrich Drepper  <drepper@cygnus.com>

	* assert/Makefile (headers): Add assert.h, necessary after patch
	to Makefiles.
	* ctype/Makefile (headers): Likewise.
	* pwd/Makefile (headers): Likewise.
	* grp/Makefile (headers): Likewise.
	Patch by NIIBE Yutaka <gniibe@mri.co.jp>.

1997-11-04 03:08  Ulrich Drepper  <drepper@cygnus.com>

	* glibcbug.in: Add information about configured target.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.

	* elf/dl-lookup.c (_dl_lookup_versioned_symbol): Be prepared for
	empty string as `reference_name' parameter.
	* elf/rtld.c: Don't set real program name in l_name of main object.

	* manual/creature.texi: Apply Paul Eggert's patch for better
	_POSIX_C_SOURCE description.

	* stdlib/strfmon.c: Fix numerous bugs in formatting.

	* time/strptime.c [%Y]: Treat all years, not only those which fit
	in time_t.
	[%Oy]: Really store value.
	Patches by Paul Eggert.

	* wcsmbs/wchar.h: Fix documentation bugs.  Declare wcsdup only
	is __USE_GNU.

1997-11-03 02:48  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/bits/errno.h: Remove all error definitions.  This
	is only meant as a stub.

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

	* sysdeps/standalone/bits/errno.h: Copied from
	sysdeps/generic/bits/errno.h and added all know error codes that
	are used in glibc.

1997-11-03 02:23  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/make_siglist.c: Add comment to clarify use and
	make sure the correct _NSIG value is used.
	Patch by Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>.

1997-11-03 00:20  Ulrich Drepper  <drepper@cygnus.com>

	* intl/localealias.c (read_alias_file): Correct handling of line
	reader which sometimes skipped complete lines (PR 205).
	Optimize a bit by using mempcpy.

1997-11-02 16:59  Philipp Thomas  <kthomas@gwdg.de>

	* intl/localealias.c (read_alias_file): Correctly set map[].value
	instead of overwriting map[].alias

1997-11-02 15:32  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add _IO_flockfile and _IO_funlockfile.
	Suggested by H.J. Lu <hjl@lucon.org>.

1997-11-02 15:17  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-error.c (_dl_signal_error): Use _strerror_internal instead
	of strerror.
	* assert/assert-perr.c: Use _strerror_internal directly instead of
	__strerror_r.
	Suggested by Joe Keane <jgk@jgk.org>.

1997-11-01 16:46  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* configure.in: Check for gcc-2.7.2 -pipe bug and hack around it
	(PR 245).

1997-11-01  Paul Eggert  <eggert@twinsun.com>

	* time/strptime.c (strptime_internal): Fix bug: %Oy forgot to
	assign tm_year.  Do not restrict %Y to years less than 2037 even
	on 32-bit time_t hosts, as strptime returns an int tm_year, not a
	time_t, and it's possible for programs to use the year without
	having to use time_t.

	non-directories in the list (PR 203).
1997-11-04 03:00:40 +00:00