Commit Graph

81 Commits

Author SHA1 Message Date
Ulrich Drepper
53bfdc1cf6 Update.
2004-03-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
	They are the same in both places.
	* elf/dl-profile.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* elf/dl-support.c: Define _dl_profile_output variable.  Initialize it.
2004-03-06 09:07:56 +00:00
Ulrich Drepper
afdca0f2a3 Update.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/alpha/dl-machine.h: Likewise.
2004-03-05 10:29:47 +00:00
Ulrich Drepper
e8ed861df7 Update.
2004-01-26  David Mosberger  <davidm@hpl.hp.com>

	* elf/link.h (struct dl_phdr_info): Fix typo in comment.
	* elf/rtld.c (dl_main): After incrementing dl_nloaded, also
	increment dl_load_adds.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
	with equivalent GL(dl_load_adds - GL(dl_nloaded).
	(dl_iterate_phdr): Likewise.
	* elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
	* elf/dl-support.c: Remove global variable _dl_load_subs.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_dl_load_subs member.

2004-01-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
	(_dl_start): And neither here.
	(dl_main): Set GL(dl_loaded)->l_relro_* and
	GL(dl_rtld_map)->l_relro_*.
2004-01-27 21:30:46 +00:00
Ulrich Drepper
bed12f78fa Update.
2004-01-23  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
	_dl_load_adds and _dl_load_subs.
	* elf/dl-support.c (_dl_load_adds): New variable.
	(_dl_load_subs): Likewise.
	* elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
	* elf/dl-close.c (_dl_close): Increment dl_load_subs.
	* elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
	dlpi_subs.
	* include/link.h: Likewise.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
	and dlpi_subs members.
	(dl_iterate_phdr): Likewise.
	* elf/tst-dlmodcount.c: New file.
	* elf/Makefile (distribute): Mention tst-dlmodcount.c.
	(tests): If build-shared, mention tst-dlmodcount.
	($(objpfx)tst-dlmodcount): If build-shared, build and
	run tst-dlmodcount.
2004-01-24 20:12:10 +00:00
Ulrich Drepper
d1fc817ea4 Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/dl-execstack.c: Change interface.  Add
	challenge for caller.
	* sysdeps/generic/ldsodefs.h: Change declaration and type of hook
	member in rtld_global appropriately.
	* elf/dl-support.c: Likewise.
	* elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
	Pass it on to the changed function.
	(_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
2004-01-13 15:47:32 +00:00
Ulrich Drepper
97fd3a3003 Update.
2003-11-25  Ulrich Drepper  <drepper@redhat.com>

	* posix/runptests.c (main): Make errors fatal.
	* posix/PTESTS: One test in GA135 and GA136 check functionality
	which seems not guaranteed.

2003-11-25  Jakub Jelinek  <jakub@redhat.com>

	* posix/regexec.c (re_search_internal): If prune_impossible_nodes
	returned REG_NOMATCH, set match_last to -1.  Don't initialize
	pmatch[0] needlessly.  Fix comment.
	(prune_impossible_nodes): Don't segfault on NULL state_log entry.
	(set_regs): Fix comment.
	* posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
	if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
	(build_charclass_op): Set has_plural_match if adding both
	SIMPLE_BRACKET and COMPLEX_BRACKET.
	* posix/bug-regex11.c (tests): Fix register values for one commented
	out test.  Add new tests.

	* posix/regex_internal.c (re_string_allocate): Make sure init_len
	is at least dfa->mb_cur_max.
	(re_string_reconstruct): If is_utf8, don't fall back into
	re_string_skip_chars just because idx points into a middle of
	valid UTF-8 character.  Instead, set the wcs bytes which correspond
	to the partial character bytes to WEOF.
	* posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
	instead of dfa->nodes_len + 1 state_log entries initially.
	* posix/bug-regex20.c (main): Uncomment backwards case insensitive
	tests.
2003-11-26 03:24:15 +00:00
Roland McGrath
ecdeaac05f 2003-09-23 Roland McGrath <roland@redhat.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags
	and _dl_make_stack_executable_hook.  Declare _dl_make_stack_executable.
	* elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags.
	(dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr.
	Initialize _dl_make_stack_executable_hook.
	* elf/dl-support.c: Define those new variables.
	(_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK.
	(_dl_phdr): Fix type.
	* elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and
	enable execute permission for the stack if necessary.
	* sysdeps/generic/dl-execstack.c: New file.
	* elf/Makefile (dl-routines): Add it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable.
	* sysdeps/unix/sysv/linux/dl-execstack.c: New file.
2003-09-23 12:06:48 +00:00
Ulrich Drepper
adc12574e5 Update.
2003-07-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
	call dl_signal_error directly.  If already relocated, call
	GL(dl_init_static_tls) directly, otherwise queue it for later.
	(CHECK_STATIC_TLS): Undo 2003-07-24 change.
	* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
	* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
	for all static TLS initializations delayed in _dl_allocate_static_tls.
	* elf/dl-support.c (_dl_init_static_tls): New variable.
	* include/link.h (struct link_map): Add l_need_tls_init.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
	(_dl_nothread_init_static_tls): New prototype.
	(_dl_allocate_static_tls): Adjust prototype.

	* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.

	elf_machine_rela_relative): Adjust.
	(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
2003-07-31 07:42:20 +00:00
Roland McGrath
98c24a32e6 * elf/dl-support.c: Likewise. 2003-07-29 21:28:19 +00:00
Roland McGrath
172ce013bd * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. 2003-07-29 08:57:15 +00:00
Ulrich Drepper
11bf8ce1d6 Update.
2003-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/dl-support.c (_dl_hwcap): New variable.
	(_dl_aux_init): Initialize GL(dl_hwcap) for static binaries.

	* sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h>
	and <dl-procinfo.h>.
	(__feclearexcept): Clear MXCSR if needed.
	* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.

	* sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document
	that newer hardware needs more than these macros.

	* sysdeps/i386/setfpucw.c: New file.

2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig.
	* elf/ldconfig.c: Include dl-procinfo.c.
	(PROCINFO_CLASS): Define.
	* sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define.
	* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS):
	Define if not yet defined.  Use it instead of EXTERN.  Undefine
	at the end of the file.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c
	(PROCINFO_CLASS): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c
	(PROCINFO_CLASS): Likewise.

2003-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/ldconfig.c (main): Issue a fatal error if relative path
	is used to build cache.

2003-07-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/readlib.c (process_file): Avoid possible overflow in assignment.
2003-07-22 22:28:07 +00:00
Roland McGrath
c801e76565 2003-06-26 Roland McGrath <roland@redhat.com>
* elf/elf.h (AT_SECURE): New macro.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Grok it,
	set __libc_enable_secure.
	(_dl_show_auxv): Add AT_SECURE to name table.
	* elf/dl-support.c (_dl_aux_init): Grok AT_SECURE, set
	__libc_enable_secure and __libc_enable_secure_decided.
	* sysdeps/unix/sysv/linux/ldsodefs.h
	[__ASSUME_AT_SECURE] (HAVE_AUX_SECURE): Define it.
	* sysdeps/unix/sysv/linux/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 132425] (__ASSUME_AT_SECURE): Define it.
2003-06-26 19:54:29 +00:00
Ulrich Drepper
be4d80380a Update.
* sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New
	variable.
	(__libc_init_secure): Don't do anything if __libc_enable_secure_decided
	is nonzero.
	* include/unistd.h: Declare __libc_enable_secure_decided.
	* elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID,
	and AT_EGID.  If all found, set __libc_enable_secure and
	__libc_enable_secure_decided.
2003-05-06 06:34:21 +00:00
Ulrich Drepper
f866314b89 Update.
2003-04-22  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead.
	* elf/dl-support.c: Update defn.
	* sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
	Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR.
	(_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME.
	* elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is
	set, set up a link_map for the preloaded, prelinked object.
2003-05-04 04:30:13 +00:00
Ulrich Drepper
162434a682 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
	AT_SYSINFO_EH_FRAME.
	(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
	* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
	Add _dl_sysinfo_eh_frame field.
	* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
	* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
	variable.
	[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
	if _dl_sysinfo_eh_frame is non-NULL.

	* Makeconfig (gnulib): Add -lgcc_eh.

	* config.h.in: Define HAVE_FORCED_UNWIND.
2003-04-15 22:46:40 +00:00
Ulrich Drepper
5df8349b84 (_dl_aux_init): Handle AT_SYSINFO. 2003-01-30 17:31:48 +00:00
Ulrich Drepper
e9c7764ec9 Update.
2003-01-07  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
	* elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
2003-01-07 18:54:08 +00:00
Ulrich Drepper
5e28917950 Update.
2002-12-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
	_dl_sysinfo.
	[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
	code.
	* elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
	_rtld_global.
	[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
	code.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
	Check for AT_SYSINFO and set _dl_sysinfo appropriately.
	* sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
	Add _dl_sysinfo.
2002-12-19 00:03:48 +00:00
Roland McGrath
2402cdf37f * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer to
and move contents to ...
	(EXTRA_LD_ENVVARS_LINUX): ... this new macro.  Add break for nonmatch.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
	it instead of duplicating its contents.
	(EXTRA_LD_ENVVARS): Likewise.  Add break for nonmatch.

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

	* elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
	defined.
	* sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
	function.
	(EXTRA_LD_ENVVARS): Use it.
	(DL_OSVERSION_INIT): Define.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
	dl-librecon.h.
	(EXTRA_LD_ENVVARS): Undef before defining.  Use _dl_osversion_init.
2002-12-10 10:31:03 +00:00
Ulrich Drepper
d3c9f89525 Update.
2002-12-06  Ulrich Drepper  <drepper@redhat.com>

	* misc/syslog.c (log_cleanup): New function.
	(openlog): Use log_cleanup instead of __libc_mutex_unlock.
	(closelog): Likewise.

	* elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros.
	* sysdeps/mach/bits/libc-lock.h: Likewise.
	* sysdeps/mach/hurd/bits/libc-lock.h: Likewise.

	* dirent/bug-readdir1.c (main): Don't call closedir, just close
2002-12-06 11:49:42 +00:00
Roland McGrath
b9cb349fb4 * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]).
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).

	* elf/dl-support.c: Move _dl_tls_* variables to ...
	* sysdeps/generic/libc-tls.c: ... here.

	* elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
	allow IDX to be one past the current last slotinfo entry.
	(_dl_close): Pass IMAP->l_init_called for that parameter.
2002-10-18 01:13:06 +00:00
Ulrich Drepper
fcda29e260 (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. 2002-07-23 22:59:19 +00:00
Ulrich Drepper
d417e0ffc4 Update.
2002-02-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c (_dl_non_dynamic_init): Renamed from
	non_dynamic_init and exported now.
	* sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
	* sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
	!SHARED.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
2002-02-24 08:34:04 +00:00
Ulrich Drepper
aed283dd45 Update.
2002-02-12  Ulrich Drepper  <drepper@redhat.com>

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

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

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

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

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

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

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
2002-02-13 08:03:56 +00:00
Ulrich Drepper
cd30b01ee9 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
	alignment of the TCB and store total size and alignment of static
	TLS block in _dl_tls_static_size and _dl_tls_static_align.
	tls_index is a typedef.
	* sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
	_dl_tls_static_align.
	* sysdeps/i386/dl-tls.h: tls_index is a typedef.
	* elf/dl-support.c: Define _dl_tls_static_size and
	_dl_tls_static_align.
2002-02-07 08:44:37 +00:00
Ulrich Drepper
3fb558781f Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3.
	* elf/Makefile (dl-routines): Add dl-tls.
	(distribute): Add dl-tls.h.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset.
	* elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement
	along with the other info in the link map.  Change queueing of init
	images for double linked list.  Use _dl_next_tls_modid to compute
	l_tls_modid.
	* elf/rtld.c (_dl_start_final): Store alignment requirement
	along with the other info in rtld map and executable map.
	(dl_main): Add ld.so to the init image list if necessary.  Compute
	final module ID with _dl_next_tls_modid.
	* include/link.h (struct link_map): Add l_tls_previmage and
	l_tls_align.
	* eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	* sysdeps/i386/elf/Versions: New file.
	* sysdeps/generic/dl-tls.c: New file.
	* sysdeps/generic/dl-tls.h: New file.
	* sysdeps/i386/dl-tls.h: New file.

	attribute((packed)) to counter stupid people misusing gcc options.
2002-02-07 04:08:19 +00:00
Ulrich Drepper
96f208a425 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program
	header entry.
	* elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt.
2002-02-05 08:38:38 +00:00
Ulrich Drepper
ccdf0cab1d Update.
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
	* elf/dl-reloc.c: Pretty printing.
	* sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
	procinfo-related variables in rtld_global struct.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/i386/i686/Makefile: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/Makefile: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/x86_64/Makefile: Likewise.
2002-02-01 07:49:47 +00:00
Ulrich Drepper
5688da5537 Update.
* sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
	_dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
	_dl_debug_fd to rtld_global.
	* elf/Versions: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/sparc/Versions: Removed.
	* sysdeps/i386/i686/Versions : Removed.
	* sysdeps/x86_64/Versions: Removed.
	* configure.in: Define HAVE_PROTECTED if .protected is available.
	* config.h.in: Add entry for HAVE_PROTECTED.

2002-01-31  Jakub Jelinek  <jakub@redhat.com.

	* sysdeps/alpha/dl-machine.h: Move global variables for SHARED
	code in struct _rtld_global.  Export this struct, remove all
	exports for the signal variables.
	* sysdeps/arm/dl-machine: Likewise.
	* sysdeps/generic/dl-origin: Likewise.
	* sysdeps/generic/dl-sysdep: Likewise.
	* sysdeps/generic/dl-cache: Likewise.
	* sysdeps/hppa/dl-fptr: Likewise.
	* sysdeps/hppa/dl-machine: Likewise.
	* sysdeps/cris/dl-machine: Likewise.
	* sysdeps/i386/dl-machine: Likewise.
	* sysdeps/ia64/dl-machine: Likewise.
	* sysdeps/m68k/dl-machine: Likewise.
	* sysdeps/mach/hurd/dl-sysdep: Likewise.
	* sysdeps/mips/mips64/dl-machine: Likewise.
	* sysdeps/mips/dl-machine: Likewise.
	* sysdeps/powerpc/elf/libc-start: Likewise.
	* sysdeps/powerpc/dl-machine: Likewise.
	* sysdeps/powerpc/dl-start: Likewise.
	* sysdeps/sparc/sparc32/dl-machine: Likewise.
	* sysdeps/sparc/sparc64/dl-machine: Likewise.
	* sysdeps/sh/dl-machine: Likewise.
	* sysdeps/s390/s390-32/dl-machine: Likewise.
	* sysdeps/s390/s390-64/dl-machine: Likewise.
	* sysdeps/unix/sysv/aix/libc-start: Likewise.
	* sysdeps/unix/sysv/aix/start-libc: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
	* sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
	* sysdeps/x86_64/dl-machine: Likewise.

2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2002-02-01 01:33:04 +00:00
Ulrich Drepper
d6b5d570a3 Update.
2002-01-30  Ulrich Drepper  <drepper@redhat.com>

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

	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
Ulrich Drepper
eaad82e005 Update.
2001-08-31  Richard Henderson  <rth@redhat.com>

	* elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
	(HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
	* elf/rtld.c (HP_TIMING_AVAIL): Likewise.
	(print_statistics): Make scalar unsigned long long.
	* sysdeps/alpha/hp-timing.h: New file.

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

	* stdio-common/perror.c (perror): Save errno early, pass it
	down to perror_internal.
	(perror_internal): Add errnum argument.

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

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
	Don't add old memory content for R_ALPHA_REFQUAD.
2001-09-01 06:10:36 +00:00
Ulrich Drepper
821563a985 (_dl_important_hwcaps): Avoid using malloc early in the program. 2001-07-27 03:48:11 +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
3b5c1b57d3 Update.
* sysdeps/unix/i386/i586/clock_getres.c: Removed.
	* sysdeps/unix/i386/i586/clock_gettime.c: Removed.
	* sysdeps/unix/i386/i586/clock_nanosleep.c: Removed.
	* sysdeps/unix/i386/i586/clock_settime.c: Removed.
	* sysdeps/unix/i386/i586/cpuclock-init.h: Removed.
	* sysdeps/generic/cpuclock-init.h: Removed.
	* sysdeps/unix/i386/i686/Implies: Removed.
	* sysdeps/unix/i386/i686/tempname.c: Removed.
	* sysdeps/i386/i686/Versions: New file.
	* sysdeps/unix/i386/i586/Versions: Removed.

	* sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle
	CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_nanosleep.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define
	RANDOM_BITS use CPU clock.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file.
	* sysdeps/sparc/Versions: New file.

	* elf/dl-support.c: Don't use cpuclock-init.h definitions, use
	hp-timing.h definitions.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* include/libc-internal.h: Include hp-timing.h.  Use hp_timing_t in
	__get_clockfreq prototype.

	* sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq):
	Use hp_timing_t type.

	* sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file.
2001-04-23 19:01:10 +00:00
Ulrich Drepper
5fc48cd78f Update.
2001-04-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c: Include cpuclock-init.h.  Use CPUCLOCK_VARDEF and
	CPUCLOCK_INIT if defined.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/Versions: New file.
	* sysdeps/unix/i386/i586/clock_settime.c: New file.
	* sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock
	separately by calling __pthread_clock_gettime if this function is
	available.  Subtract offset from tsc value before computing time value.
2001-04-21 07:55:01 +00:00
Ulrich Drepper
62dcee574f Replace _dl_debug_* variables with _dl_debug_mask. 2001-02-27 09:34:31 +00:00
Ulrich Drepper
e4a5f77de6 Update.
2001-01-05  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (non_dynamic_init): Move the auxiliary
	vector checking to ...
	(_dl_aux_init): Here. New function. Defined only if
	HAVE_AUX_VECTOR is defined.

	* sysdeps/generic/libc-start.c (__libc_start_main): Call
	_dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined.

	* sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call
	_dl_aux_init.

	* sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed.
	(HAVE_AUX_VECTOR): Defined.
	(_dl_aux_init): Declared.
2001-01-07 02:00:21 +00:00
Ulrich Drepper
155fd00c74 Update.
* elf/dl-support.c (non_dynamic_init): Don't define DL_FIND_AUXV
	if it is not available.  Instead use it only if it is available.
	* sysdeps/unix/sysv/linux/ldsodefs.h: New file.
2001-01-05 16:27:04 +00:00
Ulrich Drepper
f8f900ecb9 Update
2001-01-04  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (DL_FIND_AUXV): New.  Defined if not defined.
	(_dl_clktck): Declared.
	(non_dynamic_init): Take 3 arguments.
	Set _dl_pagesize, _dl_platform and _dl_clktck from AUX.

2001-01-01  Bruno Haible  <haible@clisp.cons.org>

	Finish implementation of plural form handling.
	* intl/dcigettext.c (known_translation_t): Rename 'domain' field to
	'domainname'.  Remove 'plindex' field. Add 'domain' and
	'translation_length' fields.
	(transcmp): Don't compare 'plindex' fields.
	(plural_lookup): New function.
	(DCIGETTEXT): Change cache handing in the plural case.  Don't call
	plural_eval before the translation and its catalog file have been
	found. Remove plindex from cache key.  Add 'translation_length' and
	'domain' to cache result.
	(_nl_find_msg): Remove index argument, return length of translation
	to the caller instead.  Weaken comparison of string lengths, to account
	for plural entries.  Call iconv() on the entire result string, not
	only on the portion needed so far.
	* intl/loadinfo.h (_nl_find_msg): Remove index argument, add lengthp
	argument.
	* intl/loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change.
2001-01-05 06:43:17 +00:00
Ulrich Drepper
74955460c5 Update.
2000-09-26  Thorsten Kukuk  <kukuk@suse.de>

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

	* catgets/catgets.c (catopen): Use getenv instead of __secure_getenv
	since we filter out the variable once.
	* iconv/gconv_conf.c (__gconv_get_path): Likewise.
	* locale/newlocale.c (__newlocale): Likewise.
	* locale/setlocale.c (setlocale): Likewise.
	* malloc/malloc.c (ptmalloc_init): Likewise.
	* resolv/res_hconf.c (_res_hconf_init): Likewise.
	* resolv/res_init.c (__res_vinit): Likewise.
	* time/tzfile.c (__tzfile_read): Likewise.
	* sysdeps/generic/unsecvars.h: New file.
	* elf/dl-support.c (non_dynamic_init): Use it here to remove variables.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/Makefile (distribute): Add unsecvars.h.
2000-09-26 09:46:55 +00:00
Ulrich Drepper
8a0e201e33 Update.
* elf/rtld.c (_dl_dynamic_weak): Set to 1 by default for now.
	* elf/dl-support.c: Likewise.

	necessary.  Move includes of POSIX and Unix limits files to the end.
2000-09-16 05:22:26 +00:00
Ulrich Drepper
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
f53c03c20d Update.
* elf/rtld.c: Define _dl_bind_not variable.
	(process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not.
	* elf/dl-support.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_bind_not.
	* elf/dl-runtime.c (fixup): Don't remember looked up value if
	_dl_bind_not.
	(profile_fixup): Likewise.
2000-07-21 06:43:05 +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
dec126b41a Update.
* dlfcn/dlfcn.h: Pretty print dladdr declaraction.

	* elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK.
	(_dl_dynamic_weak): New variable.
	* elf/dl-support.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak.
	* elf/do-lookup.h: If we find a weak definition treat it like a
	normal symbol unless _dl_dynamic_weak is nonzero.  In the latter
	case treat it like before.
2000-06-08 03:03:00 +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
9ad04ff7e0 Update.
2000-03-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-machine.h (RTLD_START): Optimize for i686.
	* elf/dl-support.c: Define _dl_starting_up.

	* elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of function.
	* misc/sys/cdefs.h: Don't allow gcc in traditional mode to be used.
	elements.
2000-03-31 08:21:01 +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
fcf70d4114 Update.
1999-07-24  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-fini.c: Handle DT_FINI_ARRAY.
	* elf/link.h (struct link_map): Remove l_init_running.  Add l_runcount
	and l_initcount.
	* elf/dl-init.c: Handle DT_INIT_ARRAY.
	* elf/dynamic-link.h: Change parameters.  Now only get link_map
	pointer.  Calculate l_initcount.

	* elf/link.h (struct link_map): Add l_runpath_dirs.
	* elf/dynamic-link.h: If RUNPATH is given, set RPATH to NULL.
	* elf/dl-load.c: Pretty print.
	(decompose_rpath): Take new parameter with info from where the path
	comes.  Pass it the fillin_rpath.
	(_dl_init_paths): Initialize l_runpath_dirs.
	(_dl_map_object): Don't search using RPATHs if object has RUNPATH.
	Search using RUNPATH after LD_LIBRARY_PATH.
	* elf/dl-support.c: Adjust comment.
	* elf/rtld.c: Adjust help message.
1999-07-24 19:45:13 +00:00
Ulrich Drepper
12b5b6b7f7 Update.
1999-05-11  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
	* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
	lazily if LD_BIND_NOW is not set.
	* elf/dl-support.c (_dl_lazy): New variable.
	(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
	* elf/rtld.c (_dl_lazy): new global variable.
	( dl_main): Remove lazy, replace it by _dl_lazy.

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

	* locale/setlocale.c (new_composite_name): Check also whether the
	first category name differs.

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

	* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
	the generic one.

1999-05-11  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
	structure; storage suitable for any socket address.
	* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
	Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
	sockaddr_storage): Likewise.

	* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
	platform.
1999-05-11 13:00:20 +00:00