Commit Graph

965 Commits

Author SHA1 Message Date
Ulrich Drepper 4e960bbf4e Update.
2002-05-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk.
	* sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add
	dl-brk and dl-sbrk.

	* sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW.
	(fdimf): Likewise.
2002-05-16 05:58:20 +00:00
Ulrich Drepper 0e15c4b6b5 Update.
2002-04-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (open_verify): Correct __lseek parameters.
	Patch by Simon Hildrew <simon@hildrew.net> [PR libc/3354].

2002-04-23  H.J. Lu  <hjl@gnu.org>

	* include/math.h (isfinite): Fix a typo.

2002-04-24  Ulrich Drepper  <drepper@redhat.com>

	* libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale
	which is created by the test suite.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4.
	(BODY for FROM_LOOP): Fix comparisons between inptr and inend.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f,
	to avoid gcc warning.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask
	of data->__statep->__count.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode
	tag characters.
	* iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise.

	* sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file.
2002-04-24 21:09:14 +00:00
Ulrich Drepper a41d8a74ee Update.
2002-02-17  Andreas Schwab  <schwab@suse.de>

	* reldep7.c: New file.
	* reldep7mod1.c: New file.
	* reldep7mod2.c: New file.
	* Makefile: Add rules to build and run reldep7.
2002-04-15 17:10:22 +00:00
Ulrich Drepper 78575a842b Update.
2002-04-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to
	the end of the function.  Pass original flags to recursive call if
	add_dependency failed.
	(_dl_lookup_versioned_symbol): Likewise.

2002-04-13  Jakub Jelinek  <jakub@redhat.com>

	* time/mktime.c (__mktime_internal): If year is 69, don't bail out
	early, but check whether it overflowed afterwards.
	* time/tst-mktime.c (main): Add new tests.

	* debug/xtrace.sh: Fix program name in help message.
	Patch by Roger Luethi <rl@hellgate.ch>.
2002-04-15 06:37:43 +00:00
Ulrich Drepper f9f2a150e8 Update.
2002-04-13  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-lookup.h [!VERSIONED]: Add new parameter flags.  Use it to
	check whether the caller prefers getting the most recent version of
	a symbol of the earliest version.
	* elf/dl-lookup.c: Adjust all callers of do_lookup.  Change
	_dl_do_lookup to also take the new parameter and pass it on.
	Change 'explicit' parameter of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol to flags.  Adjust tests.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes.
	* elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
2002-04-13 07:55:02 +00:00
Ulrich Drepper 3632a26020 Update.
2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Define R_SH_TLS_xxx macros.
	* elf/rtld.c: Remove an extra parenthesis.
	* elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and
	TLS_GD macros.
	* sysdeps/generic/dl-tls.c: Add a missing semi-colon.
	* sysdeps/sh/dl-lookupcfg.h: New file.
	* sysdeps/sh/dl-tls.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class): Set
	ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
	(elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and
	R_SH_TLS_TPOFF32 relocations.
2002-04-08 21:05:48 +00:00
Ulrich Drepper 403e0597cd Update.
2002-04-08  Ulrich Drepper  <drepper@redhat.com>

	* cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead
	of NOT_IN_LIBC.
	* include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC.
	* include/stdlib.h: Likewise.

2002-04-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld
	instead of _RTLD_LOCAL.
	* elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL.
	* include/unistd.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.

	* stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays
	if in libc or ld.so.

	* include/stdlib.h: For libc itself replace MB_CUR_MAX definition
	with one accessing the locale data structures directly.
	* stdio-common/printf-prs.c: Include localeinfo.h for new
	MB_CUR_MAX definition.
2002-04-08 18:50:41 +00:00
Andreas Jaeger fdedb42e5a Update.
2002-04-08  Andreas Jaeger  <aj@suse.de>

	* elf/cache.c (print_entry): Support x86-64.
2002-04-08 15:21:19 +00:00
Ulrich Drepper af5fac2f3b Update.
2002-04-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export
	list.
	* elf/Versions: Remove it here.
2002-04-07 17:30:05 +00:00
Ulrich Drepper 6736e93bab Update.
2002-03-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/brk.c (__curbrk): Declare.
	* sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk.
	* sysdeps/generic/dl-sbrk.c: Likewise.
	* sysdeps/unix/arm/dl-brk.S: New file.
	* sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file.
	* sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/vax/dl-brk.S: New file.
	* sysdeps/unix/i386/dl-brk.S: New file.
	* sysdeps/unix/mips/dl-brk.S: New file.
	* sysdeps/unix/sparc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove.

2002-04-03  Andreas Schwab  <schwab@suse.de>

	* Makefile (headers): Add gnu/lib-names.h here instead of
	install-others.
	($(inst_includedir)/gnu/lib-names.h): Remove explicit
	installation rule.
	(install-headers): Add dependency on install-headers-nosubdir.
	* stdio-common/Makefile (headers): Add bits/stdio_lim.h here
	instead of install-others.
	($(inst_includedir)/bits/stdio_lim.h): Remove explicit
	installation rule.

2002-04-05  Ulrich Drepper  <drepper@redhat.com>

	* manual/users.tex (Enable/Disable Setuid): Fix typo in example.
	Reported by Sam Roberts <sroberts@uniserve.com>.

2002-04-03  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if
	l_addr == 0 and ELF_MACHINE_REL_RELATIVE.
	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
	* sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.

2002-04-03  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info.
	(RTLD_START): Ditto.
	(__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW
	dependency violation.
2002-04-06 01:45:15 +00:00
Ulrich Drepper 8693ad52d9 Update.
* elf/dl-deps.c (_dl_map_object_deps): The sorting of the
	dependencies must be stable to work correctly.
	Reported by martin.lubich@datacon.at.
2002-04-03 06:18:49 +00:00
Ulrich Drepper d2225273e8 Update.
* elf/do-lookup.h (do_lookup): 2 is the first user-defined version
	number.
2002-04-03 04:05:59 +00:00
Ulrich Drepper f7ddf3d3b7 Update.
2002-04-02  Jakub Jelinek  <jakub@redhat.com>

	* inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function.
	* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
	* inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise.
	* sunrpc/netname.c (__nss_publickey_lookup): Likewise.
	* sunrpc/publickey.c (__nss_publickey_lookup): Likewise.

2002-03-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown
	dynamic tags.

2002-03-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/s_fabs.S: New file.
	* sysdeps/i386/fpu/s_fabsf.S: New file.
	* sysdeps/i386/fpu/s_fabsl.S: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabs.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* rt/tst-shm.c (do_test): Add one more test for size of shared
	memory object.

2002-03-29  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Add short description and prototypes for
	malloc_get_state, malloc_set_state and posix_memalign, for
	consistency and to avoid warnings with -Wstrict-prototypes.
	Reported by Andreas Jaeger <aj@suse.de>.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.
2002-04-03 00:36:12 +00:00
Ulrich Drepper 9360906d42 Update.
* elf/rtld.c: Declare _environ as hidden.
	* sysdeps/generic/dl-environ.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and
	_dl_mcount_internal as hidden.

	* elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk.
	* sysdeps/generic/dl-brk.c: New file.
	* sysdeps/generic/dl-sbrk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.
2002-03-15 05:20:35 +00:00
Ulrich Drepper 5c82e15e86 Update.
2002-03-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (malloc): Declare _end as hidden.
	(__errno_location): New function.  Declare errno as hidden.
	* elf/rtld.c (_dl_argc): Define as hidden.
	(_dl_skip_args): Define as hidden.
	(_begin, _end): Declare as hidden.
	* sysdeps/generic/dl-sysdep.c (_end): Declare as hidden.
	* sysdeps/generic/entry.h (_start): Declare as hidden.
	* sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare
	_dl_runtime_resolve and _dl_runtime_profile as hidden.
	(RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
2002-03-15 03:16:52 +00:00
Ulrich Drepper 3646145597 (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. 2002-03-15 03:09:42 +00:00
Ulrich Drepper 75bfdfc7df Update.
2002-03-13  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.

2002-03-02  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfprintf.c (process_arg): Fix decimal format with
	'h' flag and positional arg.
	* stdio-common/tst-printf.c (rfg3): New function to test
	positional arguments.
	(main): Fix some warnings.

2002-03-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
2002-03-13 23:27:20 +00:00
Ulrich Drepper 100351c3e1 Update.
* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
	(_itowa_upper_digits): Likewise.

	* libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
	* libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
	as hidden.

	* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
	_IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
	_IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
	_IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.

	* gmon/gmon.c (__bb_head): Define as hidden.
	* gmon/bb_exit_func.c (__bb_head): Declare as hidden.

	* argp/argp-parse.c (_argp_hang): Define as static.

	* include/libc-symbols.h (_INTVARDEF): Adjust for visibility
	handling in latest compilers.

	* inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
	define alias.
	* libio/fileops.c (_IO_file_jumps): Likewise.
	* libio/stdfiles.c (_IO_list_all): Likewise.
	* libio/wfileops.c (_IO_wfile_jumps): Likewise.

	* malloc/malloc.h: Move __libc_malloc_initialized declaration to
	include/malloc.h.
	* include/malloc.h: Add __libc_malloc_initialized declaration
	here.  Mark variable hidden.
	* malloc/malloc.c: Include <malloc.h> not "malloc.h".

	* elf/dl-open.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
	__libc_argv as hidden.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/unix/sysv/aix/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
2002-03-13 02:17:12 +00:00
Ulrich Drepper aa32f79837 Update.
* include/stdlib.h (__libc_drand48_data): Declare as hidden.
	* stdlib/drand48.c: Remove declaration of __libc_drand48_data here.
	* stdlib/erand48.c: Likewise.
	* stdlib/jrand48.c: Likewise.
	* stdlib/lcong48.c: Likewise.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/nrand48.c: Likewise.
	* stdlib/seed48.c: Likewise.
	* stdlib/srand48.c: Likewise.

	* stdio-common/_itoa.c (_itoa_base_table): Declare as hidden.
	(_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits.
	* stdio-common.h (_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa_word): Use INTUSE to acces _itoa_upper_digits and
	_itoa_lower_digits.
	* stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits.
	* stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits.

	* elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.

	* stdio-common/_itowa.c (_itoa_base_table): Declare as hidden.
	(_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.
	* stdio-common/_itowa.h (_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.

	* intl/plural-exp.h (attribute_hidden): Define as empty macro if
	not already defined.
	(GERMANIC_PLURAL): Declare as hidden.

	* posix/getopt.c (__getopt_initialized): Declare as hidden.
	(attribute_hidden): Define as empty macro if not already defined.

	* iconv/gconv_int.h (__gconv_path_elem): Declare hidden.
	(__gconv_max_path_elem_len): Likewise.
	(__gconv_path_envvar): Likewise.

	* math/Makefile (gmp-objs): Remove mp_clz_tab.
	* stdlib/Makefile (aux): Remove mp_clz_tab.
	* stdlib/mp_clz_tab.c: Removed.  Not needed anywhere.

	* stdlib/exit.h (__exit_funcs): Declare as hidden.
2002-03-12 20:04:56 +00:00
Andreas Jaeger 37de950b40 Update.
2002-03-03  Andreas Jaeger  <aj@suse.de>

	* elf/nodlopenmod2.c: Provide prototype to avoid warning.
	* elf/tst-tlsmod1.c: Likewise.

	* posix/regcomp.c: Get regex.h from include dir for internal
	prototypes.

	* sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype
	to libc-internal.h and include it.
	* include/libc-internal.h: Add __init_misc.

	* misc/init-misc.c: Include libc-internal.h for prototypes.

	* sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings.

	* misc/error.c [_LIBC]: Include libioP.h for prototype of
	_IO_putc_internal.
2002-03-03 19:43:30 +00:00
Ulrich Drepper cc8594b155 Update.
2002-03-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add Alpha TLS bits.
2002-03-02 09:03:00 +00:00
Ulrich Drepper e6caf4e12e Update.
2002-03-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (dl-routines): Add dl-origin.
	(elide-routines.os): Add dl-origin.
	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin.
	* elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around
	_dl_debug_state.
	* include/libc-symbols.c: Define attribute_hidden depending on
	HAVE_VISIBILITY_ATTRIBUTE.  Add definition of INTVARDEF.

	* elf/dl-deps.c: Use INTUSE with __libc_enable_secure.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/unistd.h: Declare __libc_enable_secure_internal.
	* sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure.
	Use INTUSE with __libc_enable_secure.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* elf/dl-deps.c: Use INTUSE with _dl_out_of_memory.
	* elf/dl-error.c: Likewise,
	* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal.

	* elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE.
	* sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before
	function definition.  Use INTDEF with _dl_get_origin.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/dl-init.c: Use INTUSE with _dl_starting_up.
	* elf/rtld.c: Likewise.  Use INTVARDEF for _dl_starting_up.

	* elf/dl-profile.c: Use INTDEF for _dl_mcount.
	* elf/dl-runtime.c: Use INTUSE with _dl_mcount.
	* sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal.

	* elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0].
	* 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-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* elf/rtld.c: Use INTDEF for _dl_argv.  Use rtld_progrname instead of
	_dl_argv[0].  Use INTUSE with _dl_argv.
	* sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv.
	* sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
Ulrich Drepper 0d01dace55 Update.
2002-02-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_rtld_global): Remove .protected.
	(_rtld_local): Strong alias to _rtld_global.
	* elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld
	only .os object.
	* sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use
	_rtld_local instead of _rtld_global.
	(_rtld_local): Add hidden extern, possibly in .sdata section.
	* configure.in: Add tests for visibility attribute and .sdata.
	* config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
	* sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
2002-02-28 22:38:00 +00:00
Ulrich Drepper 51f38e87b1 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to
	l_libname if profiling is enabled [PR libc/2916].
2002-02-28 06:40:08 +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 69f0c4d8b9 Update.
* elf/dl-close.c (free_slotinfo): Check for end of list and return
	true in this case.
2002-02-24 07:10:08 +00:00
Ulrich Drepper 9836cfe7db Update.
* elf/dl-fini.c (_dl_fini): Print some final statistics on the
	total number of relocations performed.
2002-02-23 19:05:32 +00:00
Ulrich Drepper 7fec4f2f70 Update.
* elf/sprof.c (load_profdata): If do_test provide information as
	to why loading failed.
	* elf/dl-profile.c (_dl_start_profile): Initialize all of
	hist_hdr.dimen.
2002-02-23 09:20:59 +00:00
Ulrich Drepper e413826144 Update.
2002-02-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls.
	* elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE.
	* sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls.
	(_dl_deallocate_tls): New function.
	* sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and
	_dl_deallocate_tls.
2002-02-23 07:59:56 +00:00
Ulrich Drepper b209e34ad6 Update.
2002-02-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS
	generation counter.
	* elf/dl-close.c (_dl_close): Likewise.
2002-02-16 00:21:33 +00:00
Ulrich Drepper ebda6173fc Update.
* elf/Makefile: Add rules to build and run tst-tls8.
	* elf/tst-tls8.c: New file.
	* elf/tst-tlsmod4.c: New file.
2002-02-14 10:34:55 +00:00
Ulrich Drepper fc093be160 Update.
* elf/dl-close.c (remove_slotinfo): New function.  Handles everything
	for removing reference of module in slotinfo list.
	(_dl_close): Use remove_slotinfo.
	* sysdeps/generic/dl-tls.c: General pretty printing.
	(oom): Define only if SHARED.
	(_dl_next_tls_modid): Correct starting point for the case we assume
	there is a gap.  Add missing instruction grouping (doh!).  Correct
	tests for reaching maximum index.
	* elf/Makefile: Add rules to build and run tst-tls7.
	* elf/tst-tls7.c: New file.
	* elf/tst-tlsmod3.c: New file.

	* elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
	USE_TLS.
	* elf/tst-tlsmod2.c: Likewise.
2002-02-14 07:57:19 +00:00
Ulrich Drepper bb4cb25213 Update.
* elf/dl-close.c (_dl_close): When closing an object using TLS
	either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to
	true.  Increment dl_tls_generation only if we closed any TLS-using
	object.
	* elf/tst-tls6.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls6.
2002-02-14 03:54:02 +00:00
Ulrich Drepper 100e184f0f Update.
* elf/tst-tls1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

2002-02-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-close.c (free_slotinfo): Only define if TLS supported.

2002-02-13  Ulrich Drepper  <drepper@redhat.com>
2002-02-13 17:45:55 +00:00
Ulrich Drepper d552a4310c Update.
* elf/dl-open.c (dl_open_worker): Only bump the generation counter
	if this is really necessary.
2002-02-13 09:44:17 +00:00
Ulrich Drepper a04586d84d Update.
2002-02-13  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Implement freeing entries in the
	slotinfo array.
	(free_mem): Free memory for the slotinfo array if possible.
2002-02-13 09:38:39 +00:00
Ulrich Drepper 069b7c3e7f Update.
2002-02-12  Andreas Schwab  <schwab@suse.de>

	* csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT.
2002-02-13 09:04:53 +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 712ac5b11c (RESOLVE_MAP): Return NULL not 0. 2002-02-12 19:17:09 +00:00
Ulrich Drepper 73a03a7663 Update.
* elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM.
2002-02-11 06:09:47 +00:00
Ulrich Drepper 2e36cb48e5 Update.
* elf/tst-tls3.c: New file.
	* elf/tst-tlsmod1.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls3.

	* sysdeps/i386/dl-machine.h: Include <tls.h>.
	(elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three
	TLS relocations.
2002-02-11 06:00:19 +00:00
Ulrich Drepper 7670e25ad5 Update.
* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
2002-02-11 02:27:43 +00:00
Ulrich Drepper 7331ca4db2 Update.
* po/fr.po: Update from translation team.

	* elf/tls-macros.h: Add alternative macros for use in PIC.
2002-02-11 01:49:22 +00:00
Ulrich Drepper f1cc669a8c Update.
* elf/dl-lookup.c: Include <tls.h>.
	* elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.
2002-02-11 01:30:15 +00:00
Ulrich Drepper a330abe2cd Update.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes
	required by passing pointer to last element of the list.

	* elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of
	l_tls_initimage to a place where it actually is performed.

	* elf/tls-macros.h: ...here.  New file.
2002-02-11 00:57:37 +00:00
Ulrich Drepper 87837aace9 Update.
* elf/dl-deps.c (struct openaux_args): Add open_mode element.
	(openaux): Pass open_mode as new last argument to _dl_map_object.
	(_dl_map_object_deps): Add new argument open_mode.  Initialize
	open_mode element of args variable with it.
	* elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to
	_dl_map_object_deps.
	* elf/rtld.c (dl_main): Add zero as last parameter to
	_dl_map_object_deps call.
	* sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps.
	* elf/nodlopen2.c: New file.
	* elf/nodlopenmod2.c: New file.
	* elf/Makefile: Add rules to build and run nodlopen2.

	* elf/tls-macros.hgg: ...here.  New file.
2002-02-08  Richard Henderson  <rth@redhat.com>
2002-02-10 22:40:17 +00:00
Ulrich Drepper 2cef4257d0 Update.
* elf/tst-tls1.c: Move TLS helper macros to...
	* elf/tls-macros.h: ...here.  New file.
	* elf/tst-tls2.c: New file.
	* elf/Makefile (tests): Add tst-tls2.
	(distribute): Add tls-macros.h.
2002-02-10 18:58:00 +00:00
Ulrich Drepper 27cd32989b Update.
* elf/tst-tls1.c (main): Add complete set of tests.  Split
	architecture specific definitions from the actual test code.
2002-02-10 09:15:59 +00:00
Ulrich Drepper b123d06e21 Update.
* elf/Makefile (tests): Add tst-tls1.
	* elf/tst-tls1.c: New file.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle
	alignment of TCB for now.

	* elf/rtld.c (dl_main): Use p_vaddr as address of TLS
	initialization image for the application itself.

	loop to initialize TLS block.
2002-02-10 07:44:36 +00:00
Ulrich Drepper a52d15621f Update.
2002-02-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start_final): Install DTV explicitly.
	(dl_main): Move dtv/static TLS handling before relocation.
	Unconditionally call _dl_tlsoffset.  Call _dl_allocate_tls and
	TLS_INIT_TP to allocate and install the dtv/static TLS block.
	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object
	so far uses TLS initialize GL(dl_tls_static_size) and
	GL(dl_tls_static_align) to account for the TCB.
	(_dl_allocate_tls): New function.
	* sysdeps/generic/ldsodefs.h (rtld_global): Add
	_dl_initial_dtv_malloced.

	* configure.in: Test for __builtin_memset more realistically.

	* csu/version.c (banner): If TLS support available say so.
2002-02-09 01:41:44 +00:00