Commit Graph

6033 Commits

Author SHA1 Message Date
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
736ab899c4 Update.
* po/da.po: Update from translation team.

	* locale/categories.def: Fix typo [PR libc/2948].
	* po/Makefile (BROKEN_LINGUAS): Works with current gettext
	[PR libc/2949].
	* locale/iso-4217.def: Update from official version [PR libc/2950].
	* glibcbug.in: Honor TMPDIR [PR libc/2951].
	* locale/programs/ld-collate.c (collate_finish): Bail out with a
	message if input is too confusion instead of using assert.
	(collate_read): Don't crash on unknown symbol [PR libc/2952].
	Patches by Alastair McKinstry <alastair@pdd.3com.com>.
2002-02-14 01:02:42 +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
Andreas Jaeger
e12ddba5c4 Update.
2002-02-08  Daniel Jacobowitz  <drow@mvista.com>

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC
	behavior.
2002-02-11 10:23:44 +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
03af57939c Update.
* sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
	after globfree() calls.
2002-02-10 23:36:05 +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
a5176eabfb Update.
* po/sv.po: Update from translation team.
2002-02-10 18:32:43 +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
32083fb888 Update.
2002-02-10  Ulrich Drepper  <drepper@redhat.com>

	* po/tr.po: Update from translation team.
2002-02-10 08:34:20 +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
3065b0c799 Update.
2002-02-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate
	loop to initial TLS block.

	* csu/version.c (banner): If TLS support is available say so.
2002-02-09 19:02:31 +00:00
Ulrich Drepper
2a535bf6a0 Update.
2002-02-08  Richard Henderson  <rth@twiddle.net>
	* sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string.
2002-02-09 01:59:10 +00:00
Ulrich Drepper
67eb7235ce Update.
2002-02-09  Richard Henderson  <rth@twiddle.net>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Also include
	_dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL.

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

	* sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use.

	* po/ca.po: Update from translation team.
	* po/sk.po: Likewise.
2002-02-09 01:54:57 +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
Andreas Jaeger
0f0d61adf5 Update.
2002-02-04  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use
	__attribute_used__.
	(__dl_runtime_resolve): Likewise.

	* sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real
	declaration.
2002-02-08 18:57:15 +00:00
Andreas Jaeger
bc632c0728 Update.
2001-11-15  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Don't include
	<signal.h>, <sys/ucontext.h> nor <asm/elf.h>. Updated for gdb.

	* sysdeps/unix/sysv/linux/mips/sys/user.h: New.
2002-02-08 16:21:13 +00:00
Andreas Jaeger
c899461bec * sysdeps/mips/atomicity.h (compare_and_swap): Remove
".set noreorder".
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
	Likewise.
2002-02-08 16:15:43 +00:00
Ulrich Drepper
96beb56332 Update.
* sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch.
2002-02-08 07:50:07 +00:00
Ulrich Drepper
eee868c3c7 Update.
* sysdeps/i386/dl-tls.h (__tls_get_addr): Call
	___tls_get_addr_internal.
	(___tls_get_addr_internal): Define as alias for ___tls_get_addr.
2002-02-08 06:24:57 +00:00
Ulrich Drepper
06d3b07971 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* po/ko.po: Update from translation team.
2002-02-08 05:03:57 +00:00
Ulrich Drepper
935fbdbd6a Update.
2002-02-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Remove packed
	attribute, change __pad{1,2} type to unsigned int.
	(struct stat64): Remove packed attribute.
2002-02-08 04:59:15 +00:00
Ulrich Drepper
04b6da2724 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS.
2002-02-07 18:04:59 +00:00
Ulrich Drepper
d555194cb3 Update.
2002-02-07  Andreas Schwab  <schwab@suse.de>

	* configure.in: Fix check for -zcombreloc.

2002-02-06  H.J. Lu  <hjl@gnu.org>

	* config.h.in (HAVE_BUILTIN_MEMSET): New.
	* configure.in: Check if __builtin_memset really works.
	* elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of
	__GNUC_PREREQ (2, 96) before using __builtin_memset.

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

	* io/bug-ftw3.c (main): Don't try the test if root.

2002-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly
	constraints.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS):
	Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone
	a weak alias for __clone.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
	* sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap
	a weak alias for __mmap64.

	* sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.
	* sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.
2002-02-07 17:54:45 +00:00
Andreas Jaeger
22c7c5e748 * sysdeps/mips/atomicity.h (exchange_and_add): Not use branch
likely.
	(atomic_add): Likewise.
	(compare_and_swap): Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
	Likewise.
2002-02-07 10:40:03 +00:00
Ulrich Drepper
cd30b01ee9 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

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

	* configure.in: Add --without-tls option.
	* sysdeps/i386/elf/configure.in: Don't check for TLS support if
	--without-tls is given.

	* sysdeps/generic/dl-tls.c: Include <tls.h>.

	* sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
2002-02-07 06:38:57 +00:00
Roland McGrath
a9177ff526 * malloc/hooks.c [! HAVE_MREMAP]: Conditionalize unused decls.
* malloc/malloc.c [! HAVE_MREMAP]: Likewise.
2002-02-07 05:30:48 +00:00
Roland McGrath
48a5e01019 * scripts/versions.awk: Improve error message for missing version.
Each version inherits from the last one only if they have the same
	nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y
	but not GLIBC_x and FOO_y.

	* scripts/firstversions.awk: Handle libraries that don't have each
	particular version named in the third column of shlib-versions.
2002-02-07 05:25:11 +00:00
Roland McGrath
9813e10395 * scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE. 2002-02-07 04:37:38 +00:00
Ulrich Drepper
3fb558781f Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

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

	attribute((packed)) to counter stupid people misusing gcc options.
2002-02-07 04:08:19 +00:00
Roland McGrath
fb190a0440 * sysdeps/mach/configure.in: New file.
* sysdeps/mach/configure: New generated file.

	* mach/Makefile (user-interfaces): Remove default_pager_helper.
	It has never been used by anything.
2002-02-07 03:52:18 +00:00
Roland McGrath
333f8fbe64 * sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ...
* sysdeps/generic/netinet/ip.h: ... here, replacing old file.
2002-02-07 03:49:52 +00:00
Andreas Jaeger
2c1a22e1ac * sysdeps/mips/elf/ldsodefs.h: Make sure the right <ldsodefs.h>
is included.
2002-02-06 22:48:57 +00:00
Ulrich Drepper
0796ef157c Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Add
	attribute((packed)) to counter stupid people misuing gcc options.
	(struct stat64): Likewise.

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

	* elf/rtld.c (dl_main): Correct indentation.  Use bool as type for
	the variables which are used as booleans.
2002-02-06 18:14:12 +00:00
Andreas Jaeger
64b6bd34ef Update.
* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/do-lookup.h: Likewise.
2002-02-06 14:19:54 +00:00
Andreas Jaeger
cff26a3ed5 Update.
2002-02-06  Andreas Jaeger  <aj@suse.de>

	* include/libc-symbols.h (INTUSE): Renamed from INT.
	* elf/dl-deps.c: Change users.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-init.c: Likewise.
2002-02-06 14:14:51 +00:00
Andreas Jaeger
4d559293f7 Update.
2002-02-05  Andreas Jaeger  <aj@suse.de>

	* stdio-common/_itoa.h: Undefine SPECIAL to avoid duplicate
	definition.
	* stdio-common/_itowa.h: Likewise.
2002-02-06 12:55:35 +00:00
Ulrich Drepper
37beecf77c Update.
* elf/dl-minimal.c: Define _itoa_lower_digits.

	* elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
	DT_FLAGS set.
2002-02-06 01:14:01 +00:00