summary refs log tree commit diff
path: root/elf/dl-close.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-22 06:22:53 +0000
committerRoland McGrath <roland@gnu.org>2002-10-22 06:22:53 +0000
commit8265947da0173ae415bed7123c64ad97bb2af1b5 (patch)
tree8ae3555f5b74d1824257f5a0b5d922235cc220ad /elf/dl-close.c
parent6ef518c323c2bcdd8e633da3c0cd1f525f63c7d8 (diff)
downloadglibc-8265947da0173ae415bed7123c64ad97bb2af1b5.tar.gz
glibc-8265947da0173ae415bed7123c64ad97bb2af1b5.tar.xz
glibc-8265947da0173ae415bed7123c64ad97bb2af1b5.zip
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static
	slotinfo list's len member to the proper size, not just 1.
	Initialize static_map.l_tls_initimage.

	* elf/dl-open.c (dl_open_worker): Fix loop searching for
	dtv_slotinfo_list element containing new modules' l_tls_modid.

	* elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
	* elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
	* elf/Makefile (tests): Add tst-tls9.
	(tests-static): Add tst-tls9-static.
	(tst-tls9-static-ENV): New variable.
	($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.

	* elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
	modids used by partially loaded modules being closed can't be known.
Diffstat (limited to 'elf/dl-close.c')
-rw-r--r--elf/dl-close.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c
index 3d8122a375..094db533dd 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -44,9 +44,8 @@ remove_slotinfo (size_t idx, struct dtv_slotinfo_list *listp, size_t disp,
       if (listp->next == NULL)
 	{
 	  /* The index is not actually valid in the slotinfo list,
-	     because this object was closed before it was fully setup
-	     due to some error.  */
-	  assert (idx - disp == listp->len);
+	     because this object was closed before it was fully set
+	     up due to some error.  */
 	  assert (! should_be_there);
 	}
       else