about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-05 08:02:04 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-05 08:02:04 +0000
commit5d6feea8f54fe67cbeb7c35e35539b2efd4ead29 (patch)
tree66e0786e2913d8d1984dd7345d12201fa9db4736 /sysdeps/generic
parent535b764df5ca722066c2db615190e6a70688c6a6 (diff)
downloadglibc-5d6feea8f54fe67cbeb7c35e35539b2efd4ead29.tar.gz
glibc-5d6feea8f54fe67cbeb7c35e35539b2efd4ead29.tar.xz
glibc-5d6feea8f54fe67cbeb7c35e35539b2efd4ead29.zip
Update.
	* elf/rtld.c (_dl_start): Fill TLS values in link map for rtld.
	* include/link.h (struct link_map): Add various members for TLS
	information.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_rtld_tlsoffset, add _dl_initimage_list.
	* sysdeps/i386/dl-lookupcfg.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing
	TLS relocation.  When using TLS we now use RESOLVE_MAP.
	(elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS
	is used.

	* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly
	unused.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/dl-cache.h3
-rw-r--r--sysdeps/generic/ldsodefs.h6
2 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
index ad6b0106d1..d02c1739c1 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -1,5 +1,5 @@
 /* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
-   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -98,6 +98,7 @@ struct cache_file_new
  & (~(__alignof__ (struct cache_file_new) - 1)))
 
 static int
+__attribute__ ((__unused__))
 _dl_cache_libcmp (const char *p1, const char *p2)
 {
   while (*p1 != '\0')
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 08785a818e..4e4fecf712 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -288,8 +288,10 @@ struct rtld_global
 #endif
 
 #ifdef USE_TLS
-  /* Offset of the TLS block for ld.so from the thread-pointer.  */
-  EXTERN size_t _rtld_tlsoffset;
+  /* Beginning of the list of link maps for objects which contain
+     thread-local storage sections.  This will be traversed to
+     initialize new TLS blocks.  */
+  EXTERN struct link_map *_dl_initimage_list;
 #endif
 
   /* Name of the shared object to be profiled (if any).  */