Commit Graph

1311 Commits

Author SHA1 Message Date
Roland McGrath f57ebe2988 * elf/ldconfig.c: Include stdbool.h. 2004-03-18 21:28:37 +00:00
Roland McGrath 8e115d80b0 * elf/ldconfig.c (parse_conf_include): New function.
(parse_conf): Call it to parse lines starting with "include".
	Remaining words are glob patterns for more config files to read.
	Take additional bool argument to disable opt_chroot processing.
	(main): Update caller.
2004-03-18 08:43:41 +00:00
Ulrich Drepper f032388692 Update.
* sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
	RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
2004-03-11 06:06:12 +00:00
Ulrich Drepper 53761a8b36 Unify _dl_sym and _dl_vsym code and make the entry points wrappers around the unified code. 2004-03-11 03:41:54 +00:00
Ulrich Drepper 9363dbb847 Update.
* elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer
	derefernce in error message.  Pretty printing.
2004-03-10 00:08:55 +00:00
Ulrich Drepper 1e5f1d862b Update.
* sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use
	it in the fixup function declarations.
	* elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined,
	provide dummy definition.  Use macro in fixup function
	definitions.
2004-03-09 07:44:07 +00:00
Ulrich Drepper b30542fb71 Update.
2004-03-08  Ulrich Drepper  <drepper@redhat.com>

	* Makerules: Use extra-modules.mk if modules-names is defined.
	* extra-modules.mk: New file.
	* dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
	* elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
	* csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
	compiler.
	* Makefile (distribute): Add symbol-hacks.h.
	* sysdeps/generic/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
	__moddi3, __udivdi3, and __umoddi3.
	* include/libc-symbols.h: Include <symbol-hacks.h>.
2004-03-08 21:31:23 +00:00
Roland McGrath cc143ec3e0 * elf/rtld.c (_rtld_global_ro) [MAP_COPY]: Don't set _dl_unload_cache.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps):
	Don't use INTUSE with _dl_signal_error.
2004-03-08 20:38:37 +00:00
Ulrich Drepper 4166148912 Update.
2004-03-07  Andreas Schwab  <schwab@suse.de>

	* elf/dl-sym.c: Include <dl-tls.h> only when USE_TLS.
2004-03-07 19:37:37 +00:00
Ulrich Drepper c31e278f86 Update.
2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
	_dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
	dl-procinfo.c from _rtld_global to _rtld_global_ro.
	* elf/rtld.c: Adjust initializer for _rtld_global_ro.
	* elf/dl-close.c: Use GLRO instead of GL where appropriate.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* sysdeps/i386/dl-procinfo.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2004-03-07 08:39:57 +00:00
Ulrich Drepper 021723ab78 Update.
2004-03-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c: We don't need for specialized lookup functions.
	Combining the functionality does not slow down relocation processing,
	it might even speed it up a little.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function.
	Add only one function pointer to rtlf_global_ro.
	* elf/do-lookup.h: Replace #ifs with ifs.
	* elf/dl-libc.c: Adjust _dl_lookup_* callers.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/rtld.c: Likewise.  Adjust _rtld_global_ro initialization.

	* sysdeps/generic/ldsodefs.h (__rtld_local_attribute__,
	__rtld_global_attribute__): Undef after use.
	(_rtld_local_ro): Define __rtld_local_attribute__ with just hidden
	if available.

	* sysdeps/alpha/Subdirs: New file.
	* sysdeps/alpha/soft-fp/Makefile: New file.
	* sysdeps/alpha/soft-fp/Versions: New file.
	* sysdeps/alpha/soft-fp/local-soft-fp.h: New file.
	* sysdeps/alpha/soft-fp/ots_add.c: New file.
	* sysdeps/alpha/soft-fp/ots_cmp.c: new file.
	* sysdeps/alpha/soft-fp/ots_cmpe.c: New file.
	* sysdeps/alpha/soft-fp/ots_cvtqux.c: New file.
	* sysdeps/alpha/soft-fp/ots_cvtqx.c: New file.
	* sysdeps/alpha/soft-fp/ots_cvttx.c: New file.
	* sysdeps/alpha/soft-fp/ots_cvtxq.c: New file.
	* sysdeps/alpha/soft-fp/ots_cvtxt.c: New file.
	* sysdeps/alpha/soft-fp/ots_div.c: New file.
	* sysdeps/alpha/soft-fp/ots_mul.c: New file.
	* sysdeps/alpha/soft-fp/ots_nintxq.c: New file.
	* sysdeps/alpha/soft-fp/ots_sub.c: New file.
2004-03-07 05:26:02 +00:00
Ulrich Drepper bdf4a4f1ea We don't need for specialized lookup functions. Combining the functionality does not slow down relocation processing, it might even speed it up a little. 2004-03-07 05:19:40 +00:00
Ulrich Drepper 4df8c11d26 Update.
* configure.in: Recognize --enable-bind-now.
	* elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags
	in ld.so.
	* Makerules (LDFLAGS-c.so): Add -z now if so configured.
	* elf/Makefile ($(objpfx)ld.so): Likewise.
	* config.make.in (bind-now): New definition.
2004-03-06 09:51:56 +00:00
Ulrich Drepper 42af49f875 Update.
* elf/dl-fini.c (_dl_fini): Combine _dl_debug_printf calls.
	* elf/rtld.c (print_statistics): Likewise.
2004-03-06 09:15:58 +00:00
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 154d10bdf1 Update.
* elf/Versions: Remove functions which are not exported anymore.
	* dlfcn/dlerror.c: Call ld.so functions through GLSO.
	* dlfcn/dlinfo.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/dl-debug.c: Remove *_internal definition.  Don't use INTUSE for
	functions which are not exported anymore.
	* 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-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* include/dlfcn.h: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-fptr.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-tls.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-tls.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* elf/rtld.c: Likewise.  Export function though _rtld_global_ro.

	* generic/dl-fptr.c: Likewise.
	* mach/hurd/dl-sysdep.c: Likewise.
	* unix/sysv/linux/ia64/dl-static.c: Likewise.
	* unix/sysv/linux/ia64/getpagesize.c: Likewise.
	* unix/sysv/linux/m68k/getpagesize.c: Likewise.
	* unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
2004-03-06 08:19:29 +00:00
Ulrich Drepper dd70526e8a Update.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Move
	dl_debug_fd to rtld_global_ro.
	* elf/rtld.c: Use GLRO instead of GL for dl_debug_fd.
	* elf/dl-misc.c: Likewise.
2004-03-05 11:25:26 +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 20c37dfde1 Update.
2004-03-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro.
	Declare _rtld_global_ro and _rtld_local_ro.  Move members of
	rtld_global structure into the new one if they are modified only
	at startup time.  Define GLRO to access _rtld_global_ro.
	* elf/Versions: Export _rtld_global_ro.
	* elf/dl-close.c: Use GLRO instead of GL where appropriate.
	* elf/dl-conflict.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-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.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-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/i386/setfpucw.c: Likewise.
	* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
	* sysdeps/i386/fpu/fedisblexcpt.c: Likewise.
	* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
	* sysdeps/i386/fpu/fesetround.c: Likewise.
	* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
	* sysdeps/i386/fpu/ftestexcept.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-execstat.c: 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/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
2004-03-05 10:15:54 +00:00
Ulrich Drepper dd272e5774 Update.
* sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline.
	* elf/dl-misc.c: Define _dl_name_match_p here.
	* elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p.
2004-03-05 04:24:45 +00:00
Ulrich Drepper f213ef0280 Update.
2004-03-04  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (dl_open_worker): Check that _dl_open is called
	from the right place.
2004-03-05 03:47:38 +00:00
Ulrich Drepper 49ad572a70 Update.
* elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
	GL(dl_sysinfo) if non-zero.
2004-02-28 17:56:22 +00:00
Ulrich Drepper 3b3ddb4f7d Update.
2004-02-26  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr
	in vDSO's link_map, don't assume l_addr == 0.  Set GL(dl_sysinfo)
	from e_entry only if AT_SYSINFO not present and adjust by l_addr.
	Take vDSO into account when inserting rtld into _dl_loaded chain.
2004-02-26 20:06:58 +00:00
Ulrich Drepper 445888be74 (elf_get_dynamic_info): Recognize DF_1_NOW. In ld.so, neither DT_FLAGS nor DT_FLAGS_1 must be used. 2004-02-21 22:34:38 +00:00
Andreas Jaeger 14755b91e9 * elf/dl-load.c (_dl_map_object_from_fd): Fix casts used as lvalue.
* iconv/gconv_simple.c (internal_ucs4le_loop): Remove cast used as
	lvalue.
2004-02-21 18:25:59 +00:00
Ulrich Drepper dd0b7b197e Update.
2004-02-20  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel9.c (cleanup): Don't print to stderr.
2004-02-21 03:20:32 +00:00
Ulrich Drepper 230c3e1e54 Update.
2004-02-20  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/nscd.c (termination_handler): Use _exit instead of exit

	* nscd/nscd.c (main): Report fork errors.
2004-02-21 01:57:26 +00:00
Ulrich Drepper a461b14777 Update.
2004-02-20  Ulrich Drepper  <drepper@redhat.com>

	* dlfcn/dlsym.c: Get ld.so loading lock before the call into ld.so.
	* dlfcn/dlvsym.c: Likewise.
	* elf/dl-addr.c: Get loading lock while using _dl_loaded data.
	* elf/dl-fini.c: Likewise.
	Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
2004-02-21 01:06:02 +00:00
Ulrich Drepper 11986c680d Update.
2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC):
	Define as static.
	* sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE
	because gcc does not allow inline of functions that call setjmp.

2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.

2004-02-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't
	use attribute_relro for _dl_argv.
	* sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
	* sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
	* sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.

	vfork instead of fork.
2004-02-20 06:07:55 +00:00
Ulrich Drepper f04b9a68fe Update.
* elf/rtld.c (dl_main): Don't fail execution if file named in
	ld.so.preload is not present.
2004-02-17 02:35:52 +00:00
Ulrich Drepper a481b13cc2 Update.
* elf/dl-load.c (lose): Use noinline attribute instead of silly
	alloca to prevent inlining.
	* elf/dl-runtime.c (fixup): Likewise.
	(profile_fixup): Likewise.
2004-02-09 07:10:19 +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 e8648a5a87 Update.
2004-01-22  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
	into...
	(_dl_protect_relro): New routine.
	* sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype.
	* elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size
	from bootstrap_map.
	(_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here.
	Call _dl_protect_relro for libraries if prelinking.
2004-01-24 08:36:13 +00:00
Ulrich Drepper 75631a5763 (_dl_relocate_object): Move PT_GNU_RELRO protection into... (_dl_protect_relro): New routine. 2004-01-24 08:33:05 +00:00
Ulrich Drepper a658675d7b Update.
2004-01-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t
	instead of loff_t.  Include <fcntl.h>.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype.
	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.

	* elf/dl-load.c: Don't add attribute_relro to max_dirnamelen.

	* sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros.

	* include/unistd.h (__libc_enable_secure): Mark attribute_relro.
	(__libc_enable_secure_internal): Likewise.
	* elf/dl-load.c: Don't declare __libc_stack_end.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
	* sysdeps/generic/segfault.c: Likewise.  Include ldsodefs.h.
	* sysdeps/generic/backtrace.c: Likewise.
2004-01-20 23:25:27 +00:00
Ulrich Drepper 02e294c24d Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and PT_IA_64_HP_STACK. 2004-01-16 10:22:21 +00:00
Richard Henderson ff151400d8 * elf/dl-load.c: Don't declare __libc_stack_end. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h. * sysdeps/generic/backtrace.c: Likewise. linuxthreads/ * attr.c: Include ldsodefs.h. (pthread_getattr_np): Don't declare __libc_stack_end. nptl/ * allocatestack.c: Don't declare __libc_stack_end. * init.c (__pthread_initialize_minimal_internal): Likewise. * pthread_getattr_np.c (pthread_getattr_np): Likewise.
2004-01-16  Richard Henderson  <rth@redhat.com>

        * elf/dl-load.c: Don't declare __libc_stack_end.
        * sysdeps/generic/libc-start.c: Likewise.
        * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
        * sysdeps/generic/segfault.c: Likewise.  Include ldsodefs.h.
        * sysdeps/generic/backtrace.c: Likewise.
2004-01-16 08:07:01 +00:00
Ulrich Drepper 39b04aa398 Update.
2004-01-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined.
2004-01-16 03:03:47 +00:00
Ulrich Drepper 828037ae0e Update.
* elf/elf.h: Fix typo in comment.
2004-01-15 22:32:26 +00:00
Ulrich Drepper 697afbe1c8 Update.
* elf/rtld.c: Initialize _dl_argv to allow aliasing.
2004-01-15 18:04:12 +00:00
Ulrich Drepper 392a6b5265 Update.
2004-01-14  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Define HAVE_Z_RELRO if the linker supports -z relro.
	* config.h.in: Add entry for HAVE_Z_RELRO.
	* include/libc-symbols.h: Define attribute_relro.
	* elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
	max_capstrlen, and max_dirnamelen definitions.
	* elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
	load_time, start_time, library_path, preloadlist, version_info,
	any_debug.
	Remove rtld_total_time.  Make it a local variable.  Pass pointer to
	it to print_statistics.  Change print_statistics accordingly.
	* sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv.  Use
	attribute_relro instead of explicitly assigning variable to the
	.data.rel.ro section for __libc_enable_secure and __libc_stack_end.
	* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
	_dl_argv, _dl_argv_internal with attribute_relro.
2004-01-15 06:38:27 +00:00
Ulrich Drepper ea4f25a7f9 Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/dl-machine.h: Include <tls.h>.

	* elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
	* sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
	rtld_hidden_def and move into .data.rel.ro section.
	* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
	rtld_hidden_proto.
	* sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
	if !SHARED.

	* sysdeps/unix/sysv/linux/dl-execstack.c
	(_dl_make_stack_executable): Move common code in front.  Use
	__builtin_expect.
2004-01-14 00:24:36 +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 ed20b3d9cc Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* Makeconfig: Define relro-LDFLAGS if have-z-relro==yes.  Add it to
	LDFLAGS.so and LDFLAGS-rtld.
	(+link): Add relro-LDFLAGS.
	* Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
	__libc_thread_subfreeres sections after .jcr section.
	* config.make.in: Add have-z-relro.
	* configure.in: Add check for -z relro option.
	* include/link.h (struct link_map): Add relro_addr and relro_size
	members.
	* elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
	* elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
	part of loaded segments read-only.
	* elf/elf.h: Define PT_GNU_RELRO.
	* elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
	(dl_main): Recognize PT_GNU_RELRO of the application.  Call
	_dl_debug_initialize and initialize l_info[DT_DEBUG] before
	relocations.
2004-01-13 08:36:54 +00:00
Ulrich Drepper 8e597a18bd Update copyright year. 2004-01-01 20:42:01 +00:00
Ulrich Drepper d4b04a331c Update.
2003-12-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if
	CNT == 0.
2003-12-31 11:17:09 +00:00
Ulrich Drepper e5ebb9ca48 Update.
2003-12-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add a few definitions from Solaris 9.
2003-12-29 18:51:29 +00:00
Ulrich Drepper bbe35eb571 Update.
2003-12-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Define.
	* sysdeps/unix/sysv/linux/getpid.c: New file.
2003-12-20 09:58:33 +00:00
Ulrich Drepper 27a754a97b Update.
2003-12-17  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c: Don't use strong_alias to define _rtld_local.  This
	removes the visibility attributes which might be defined earlier
	for some gcc versions.  Instead spell out what strong_alias does
	plus the visibility.
2003-12-17 08:36:34 +00:00
Ulrich Drepper c776b3d717 Update.
2003-12-02  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/elf/initfini.c: Add unwind info.

	* sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with
	attribute "unused".
	(elf_machine_dynamic): Mark with attributes "unused" and "const".
	(elf_machine_runtime_setup): Likewise.

	* sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with
	attribute "always_inline".
	* sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table):
	Likewise.

	* configure.in: Check whether compiler has libunwind support.
	* config.make.in (have-cc-with-libunwind): New variable.
	* config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro.
	* Makeconfig (gnulib): If have-cc-withh-libunwind is "yes", also
	mention -lunwind.

003-11-12  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK.
	Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK.
	Likewise for DO_INLINE_SYSCALL.  Make INTERNAL_SYSCALL use
	DO_INLINE_SYSCALL.

	* sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK()
	instead of DO_CALL().

	* sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead
	of DO_CALL().

	* sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it
	to take advantage of DO_CALL() macro.
	* sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise.

	* elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first
	program header.  On ia64, the check failed previously because
	there are two program headers.

	* sysdeps/generic/s_nexttowardf.c: Likewise.
	* math/bug-nexttoward.c: New file.
2003-12-10 23:02:33 +00:00
Ulrich Drepper 6def43e690 Update.
2003-11-21  David Mosberger  <davidm@hpl.hp.com>

	* elf/soinit.c (_fini): Put _fini() in .init_array section if
	HAVE_INITFINI_ARRAY is defined.
2003-11-26 07:15:17 +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
Ulrich Drepper 476238abeb Update.
* elf/rtld.c (map_doit): Pass __RTLD_OPENEXEC in last parameter to
	_dl_map_object.
2003-10-27 20:09:12 +00:00
Ulrich Drepper 9a267ae298 Update.
* elf/sprof.c (load_shobj): Use l_map_start not l_addr to locate
	ELF header.
2003-10-27 09:18:17 +00:00
Ulrich Drepper 5a4b5076f1 Update.
* include/dlfcn.h (__RTLD_OPENEXEC): Define.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading
	executables unless __RTLD_OPENEXEC flag is present.
	* elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to
	_dl_map_object when loading the executable.

	reverse lookup format for IPv6 addresses is using bitstring and
	* resolv/ns_name.c: Implement encoding and decoding bitstring in
2003-10-27 01:36:12 +00:00
Roland McGrath 27d640befb * sysdeps/unix/sysv/linux/hppa/sysdep.h: Fix merge error.
2003-10-15  Roland McGrath  <roland@redhat.com>

	* elf/dl-iteratephdr.c [! SHARED] (dl_iterate_phdr): New function.
	Fake an entry for the main executable and then call __dl_iterate_phdr.
	* elf/Makefile (routines): Remove dl-iteratephdr-static.
	(elide-routines.os): Likewise.
	(CFLAGS-dl-iterate-phdr-static.c): Variable removed.
	* sysdeps/generic/dl-iteratephdr-static.c: File removed.
	* sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: File removed.
2003-10-22 07:10:00 +00:00
Ulrich Drepper a21a20a33f Update.
2003-10-15  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (print_statistics): Print also number of relative
	relocations.
2003-10-15 06:24:26 +00:00
Roland McGrath b49329d93c 2003-10-09 Roland McGrath <roland@redhat.com>
* elf/rtld.c (dl_main): Don't set l_name for sysinfo DSO, since there
	is no file to name.
2003-10-09 22:34:17 +00:00
Ulrich Drepper b77ca0e827 Update.
2003-10-01  Thorsten Kukuk  <kukuk@suse.de>

	* elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of
	variables only used if TLS_DTV_AT_TP is defined into the #if branch.
2003-10-02 18:58:31 +00:00
Roland McGrath f28c14d69a * elf/rtld.c (dl_main): Add cast in last change. 2003-10-01 07:15:10 +00:00
Ulrich Drepper f556dbfa41 Update.
2003-09-30  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Also set l_map_start.

2003-09-30  Daniel Jacobowitz  <drow@mvista.com>

	* elf/rtld.c (dl_main): Set l_libname and l_name for the sysinfo DSO
	to work around kernel problem.
2003-09-30 20:37:46 +00:00
Ulrich Drepper 3c6904fb49 Update.
2003-09-27  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Include <malloc-machine.h> earlier instead of
	"thread-m.h", so that default parameters can be overridden in a
	system-specific malloc-machine.h.  Remove extra ; from extern "C"
	closing brace.
	* sysdeps/generic/malloc-machine.h: New file.
	* sysdeps/mach/hurd/malloc-machine.h: New file.
	* malloc/thread-m.h: Removed.
	* malloc/Makefile: Remove CFLAGS-malloc.c parameter addition, it
	is in sysdeps/generic/malloc-machine.h now.

	* elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of
	variables only used if TLS_TCB_AT_TP is defined into the #if
	branch.
2003-09-30 02:10:33 +00:00
Ulrich Drepper 9771695416 Update.
2003-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of
	__libc_stack_end.  Patch by David Mosberger.

2003-09-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of
	__libc_stack_end@GLIBC_PRIVATE.

	* sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined.
	(_dl_sysdep_start): Set __libc_stack_end here.
	* sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of
	__libc_stack_end.
	* sysdeps/arm/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/cris/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/i386/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/sh/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/ia64/dl-machine.h (DL_STACK_END): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define.
	(RTLD_START): Remove setting of __libc_stack_end.
	* sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define.
	(RTLD_START): Remove setting of __libc_stack_end.

2003-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to
	function definitions.  Adjust macro expansions accordingly.
	* sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major,
	minor, makedev name.
	* sysdeps/unix/sysv/linux/makedev.c: Likewise.

2003-09-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev):
	Add __THROW.
2003-09-24 21:13:55 +00:00
Roland McGrath c70ba48888 * elf/rtld.c (dl_main): In rtld_is_main case, reinitialize
GL(dl_stack_flags) according to rtld's own PT_GNU_STACK.
	Move GL(dl_make_stack_executable_hook) initialization up.
	* elf/tst-execstack-prog.c: New file.
	* elf/Makefile (tests-execstack-yes): Add it.
	(LDFLAGS-tst-execstack-prog): New variable.
2003-09-24 01:56:08 +00:00
Roland McGrath 2abf9ff113 * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before
calling _dl_start, using GOTOFF access.

	* configure.in (libc_cv_z_execstack): New check.
	* configure: Regenerated.
	* config.make.in (have-z-execstack): New variable set by it.
	* elf/tst-execstack.c: New file.
	* elf/tst-execstack-mod.c: New file.
	* elf/tst-execstack-needed.c: New file.
	* elf/Makefile (tests-execstack-yes, modules-execstack-yes): New
	variables.
	(tests, modules-names): Conditionally include them.
	(distribute): Add tst-execstack-mod.c here.
	($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets.
	(LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables.
	($(objpfx)tst-execstack-needed): New target.
	(LDFLAGS-tst-execstack-needed): New variable.

	* 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:07:26 +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 5896ffa882 Update.
* elf/Makefile ($(objpfx)librtld.os): Create link map also for
	final build to ease quality control.
2003-09-20 06:16:45 +00:00
Ulrich Drepper 06f6ca9019 Update.
2003-09-17  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
	libpthread is loaded.  Elide backwards compatibility code when not
	required.
2003-09-17 18:23:49 +00:00
Ulrich Drepper e07bb02a4f Update.
2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* argp/argp.h (argp_parse, __argp_parse): Remove __THROW.
	* argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add
	$(uses-callbacks).
	* dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise.
	* elf/Makefile (CFLAGS-dl-iterate-phdr.c,
	CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks).
	* elf/dl-iteratephdr.c (cancel_handler): New function.
	(__dl_iterate_phdr): Add __libc_cleanup_{push,pop}.
	* elf/link.h (dl_iterate_phdr): Remove __THROW.
	* io/Makefile (CFLAGS-fts.c): Merge into one assignment.
	Add $(uses-callbacks).
	(CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks).
	* misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change
	$(exceptions) to $(uses-callbacks).
	* Makeconfig (uses-callbacks): Set to $(exceptions).
	* posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add
	$(uses-callbacks).
	* stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c):
	Likewise.
2003-09-16 05:54:09 +00:00
Ulrich Drepper 6fee336275 Update.
2003-09-11  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/tls-macros.h (TLS_IE): Add a stop bit for ia64.
	(TLS_LD): Likewise.
	(TLS_GD): Likewise.

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

	* libio/fileops.c (_IO_new_file_overflow): Add INTUSE to
	_IO_free_backup_area call.
2003-09-11 23:57:58 +00:00
Ulrich Drepper 2fe98a4ae7 Update.
2003-08-26  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): When checking for GNU-style .so
	link file use the real file name, not the resolved name we got by
	following the symlinks.
2003-08-26 08:08:21 +00:00
Ulrich Drepper 82d8607da1 Update.
2003-08-25  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Treat symlink as regular file
	if it won't point to itself unless it is .so symlink for the linker.
2003-08-25 21:50:13 +00:00
Ulrich Drepper 062df96045 (save_cache): Don't write beyond end of file_entries buffer. Duplicate last old cache entry if the count would be odd. 2003-08-25 18:37:54 +00:00
Ulrich Drepper 395412a0e8 Update.
2003-08-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c (search_dir): Revert patch of 2003-7-21.
2003-08-25 09:06:06 +00:00
Ulrich Drepper b61c8aba80 Update.
2003-08-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall.

	* elf/Makefile: Use LC_ALL=C in a few cases where we call external
	text processing tools.

	* sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid
	element unless BROKEN_THREAD_SIGNALS is defined.
	(struct requestlist): Likewise.
	* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in
	caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined.
	* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
	* sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid
	parameter unless BROKEN_THREAD_SIGNALS is defined.  Adjust callers.
	Pass current PID to __aio_sigqueue.
	* sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only
	call.  Don't initialize caller_pid field of waitlist element.
2003-08-14 00:14:43 +00:00
Ulrich Drepper 334fcf2a65 Update.
2003-08-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/ldsodefs.h (_rtld_global): Add
	_dl_rtld_lock_recursive and _dl_rtld_unlock_recursive.
	* elf/rtld.c (rtld_lock_default_lock_recursive,
	rtld_lock_default_unlock_recursive): New functions.
	(dl_main): Initialize _dl_rtld_lock_recursive and
	_dl_rtld_unlock_recursive.

2003-08-05  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to
	config_file directories instead of prepending.
2003-08-08 07:43:03 +00:00
Ulrich Drepper d347a4ab1d Update.
2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* dlfcn/dlerror.c (once): New.
	(dlerror): Call __libc_once.
	(_dlerror_run): Remove once.

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

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
	Sync with 2.5.7 and 2.5.73 kernel changes.

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

	* dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings.
	* elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd
	formats to size_t.
	* elf/dl-lookup.c (_dl_debug_bindings): Likewise.
	* elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid.
	* elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2.
	* gmon/tst-sprofil.c (main): Add parens to shut up warning.
	* iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer
	difference argument.
	* stdio-common/tst-wc-printf.c (main): Cast arguments with %C
	format to wint_t.
	* stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use
	%d format and cast expected value to int.
	* sysdeps/generic/libc-start.c (STATIC): Add
	__attribute__((always_inline) if LIBC_START_MAIN is already defined.
	* sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t
	to ieee_float_shape_type.
	(__sqrt): Avoid type punning.
	* sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t
	to ieee_float_shape_type.
	(__sqrtf): Avoid type punning.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define
	refsym if in dl-conflict.c.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf.
	(__new_semctl): Shut up warning.
	* sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf.
	(__new_semctl): Shut up warning.
	* sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines.
	Change old into union of __old_shmid_ds and __old_shminfo structs.
	Adjust all users.
	* wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t.

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

	* sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and
	modtime computation.
	* sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise.
	* sysdeps/posix/utimes.c (__utimes): Likewise.
2003-07-31 19:26:38 +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
Ulrich Drepper 9722e6f3e2 (_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. 2003-07-31 07:34:08 +00:00
Alexandre Oliva 87d254a7bf * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Don't assume reloc_addr is aligned. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/cris/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/hppa/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/ia64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/m68k/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/mips/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela_relative, elf_machine_rela): Adjust. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): * sysdeps/sh/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/x86_64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust.
2003-07-31  Alexandre Oliva  <aoliva@redhat.com>

	* elf/dynamic-link.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Don't assume
	reloc_addr is aligned.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
	* sysdeps/cris/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/hppa/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
	* sysdeps/ia64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/mips/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(elf_machine_rela_relative, elf_machine_rela): Adjust.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): 
	* sysdeps/sh/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
2003-07-31 06:33:53 +00:00
Roland McGrath e4a6507c4c revert bogus commit 2003-07-30 07:06:00 +00:00
Roland McGrath 98c24a32e6 * elf/dl-support.c: Likewise. 2003-07-29 21:28:19 +00:00
Roland McGrath 6e0bb37514 * elf/Makefile: Revert accidental changes in last commit. 2003-07-29 21:14:31 +00:00
Roland McGrath 172ce013bd * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. 2003-07-29 08:57:15 +00:00
Roland McGrath 5181d776e8 * elf/Makefile (tests) [$(build-shared) = yes]:
Depend on $(test-modules).
	* dlfcn/Makefile: Likewise.
2003-07-29 08:36:30 +00:00
Roland McGrath 23195635ae * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this.
* elf/tst-tlsmod14a.c: Likewise.

	* sysdeps/unix/sysv/linux/sys/sysctl.h: Include <linux/compiler.h>
	before <linux/sysctl.h>.
2003-07-28 21:50:26 +00:00
Ulrich Drepper 7b787f8516 Update.
2003-07-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE
	if aiocbp != NULL and has already completed.  Return -1/EINVAL if
	aiocbp->aio_fildes does not match fildes.
2003-07-25 07:56:33 +00:00
Ulrich Drepper 99fe3b0e7a Update.
2003-07-24  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_tls_firstbyte_offset field.
	* sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset):
	Fix calculation of offsets to take misalignment of first byte in
	file into account.
	* elf/dl-load.c (_dl_map_object_from_fd): Initialize
	l_tls_firstbyte_offset field.
	* elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise.
	* elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int.
	Take l_tls_firstbyte_offset information into account.
	(CHECK_STATIS_TLS): _dl_allocate_static_tls can fail now.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype.
	* elf/Makefile: Add rules to build and run tst-tls14.
	* elf/tst-tls14.c: New file.
	* elf/tst-tlsmod14a.c: New file.
	* elf/tst-tlsmod14b.c: New file.
2003-07-24 20:07:00 +00:00
Ulrich Drepper 9d79e0377b Update.
* include/stdio.h (__libc_fatal): Add libc_hidden_proto.
	* include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Likewise.
	* elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Add libc_hidden_def.
	* sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise.
	* elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE,
	__libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE.
	* libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE.
	* sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last
	change.
	* sysdeps/generic/unwind.inc: Removed.
2003-07-22 23:56:53 +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
Ulrich Drepper f00b19417d (process_file): Avoid possible overflow in assignment. 2003-07-22 21:35:06 +00:00
Andreas Jaeger 7220da7c36 (process_file): Check that file is a shared object. 2003-07-22 20:00:48 +00:00
Andreas Jaeger 422514503d Update.
* elf/sofini.c (__FRAME_END__): Use attribute used so that gcc
	will not optimize it away.
	(__DTOR_END__): Likewise.
	(__CTOR_END__): Likewise.
2003-07-22 19:37:41 +00:00
Ulrich Drepper 1a379ea0c7 Update.
2003-07-21  Ulrich Drepper  <drepper@redhat.com>

	* Makerules (build-module-helper): Add -z defs unless explicitly said
	not to do it.
	* dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs
	which has undefined symbols.
	* elf/Makefile: Likewise.
2003-07-21 22:40:24 +00:00
Ulrich Drepper ca86a76366 Update.
2003-07-21  HJ Lu  <hongjiu.lu@intel.com>

	* elf/ldconfig.c (search_dir): Treat symlink as regular file
	if it won't point to itself.
2003-07-21 20:17:47 +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 81b215afa3 Update.
2003-06-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Versions (libc): Add _dl_open_hook@GLIBC_PRIVATE.
	* elf/dl-libc.c (struct dl_open_hook): New.
	(_dl_open_hook): New variable.
	(do_dlsym_private): New function.
	(__libc_dlopen_mode) [!SHARED]: Lookup _dl_open_hook@GLIBC_PRIVATE
	and initialize it if found.
	(__libc_dlopen_mode) [SHARED]: If _dl_open_hook is non-NULL,
	call dlopen_mode hook.
	(__libc_dlsym) [SHARED]: If _dl_open_hook is non-NULL,
	call dlsym hook.
	(__libc_dlclose) [SHARED]: If _dl_open_hook is non-NULL,
	call dlclose hook.
2003-06-25 08:32:03 +00:00
Ulrich Drepper bd89c0b573 Update.
2003-06-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast
	result to long int so that extensions to long long int work.
	Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>.

2003-06-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (main): Use add_system_dir instead of add_dir.
	* sysdeps/generic/dl-cache.h (add_system_dir): Define.
	* sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc
	dl-cache.h.
	* sysdeps/unix/sysv/linux/s390/dl-cache.h: New file.
	* sysdeps/unix/sysv/linux/mips/dl-cache.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file.
	* sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file.
2003-06-25 08:19:44 +00:00
Roland McGrath 4d4ac6ad6b 2003-06-05 Roland McGrath <roland@redhat.com>
* elf/elf.h (PT_GNU_STACK): New macro.
2003-06-25 01:51:07 +00:00