Commit Graph

1268 Commits

Author SHA1 Message Date
Roland McGrath 26e059c142 2004-04-01 Roland McGrath <roland@redhat.com>
* elf/tst-execstack.c (do_test): Make F static.
2004-04-02 02:23:05 +00:00
Ulrich Drepper 8f23eb7abe Update.
2004-04-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define more ppc64 specific dynamic tags.

	* libio/fileops.c (new_do_write): Return _IO_size_t to make 64-bit
2004-04-01 18:49:40 +00:00
Ulrich Drepper eec8b6cae5 Update.
2004-03-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-caller.c: New file.
	* include/caller.h: New file.
	* Makefile (distribute): Add include/caller.h.
	* elf/Makefile (dl-routines): Add dl-caller.
	* elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end.
	* elf/dl-open.c (check_libc_caller): Removed.
	(dl_open_worker): Use __check_caller instead.
	* elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller.
	(_dl_start_final): Record l_text_end for ld.so map.
	(dl_main): Record l_text_end for main object and vdso.
	* include/link.h (struct link_map): Add l_text_end field.
	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
	_dl_check_caller field.
	Define enum allowmask.  Add declaration of _dl_check_caller.
	* sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test.
2004-03-27 03:40:33 +00:00
Ulrich Drepper 4ba541a978 Update.
2004-03-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (check_libc_caller): Fix typo.
2004-03-26 21:25:35 +00:00
Ulrich Drepper fde9eb68f5 Include stddef.h and stdlib.h. 2004-03-26 09:48:53 +00:00
Roland McGrath db2f05ba83 * Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed
substitutions; the semicolon terminators are enough for ld anyway.

	* elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
	dynamically sized auto array in function already using alloca.
	* locale/programs/ld-ctype.c (ctype_output): Likewise.
	* locale/programs/ld-time.c (time_output): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
	IOV array size.
	* locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
	when also using dynamically-sized auto array.
	* locale/programs/locfile.c (locfile_read): Likewise.
	* locale/programs/repertoire.c (repertoire_read): Likewise.
	* nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
	* locale/programs/locarchive.c (enlarge_archive): Likewise.
	* posix/annexc.c (check_header): Likewise.

	* iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
	strlen ("") gets optimized away just as well.
	* intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
2004-03-25 03:54:03 +00:00
Andreas Jaeger 6873f5c706 Update.
2004-03-22  Joseph S. Myers  <jsm@polyomino.org.uk>

	* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): Do not use
	casts as lvalues.

2004-03-22  Andreas Jaeger  <aj@suse.de>

	* elf/tst-dlmodcount.c (unload): Remove unused variable.

	* misc/tst-mntent.c (main): Use tmpfile instead of tmpnam.
2004-03-22 10:53:16 +00:00
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