From 5d6feea8f54fe67cbeb7c35e35539b2efd4ead29 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 5 Feb 2002 08:02:04 +0000 Subject: 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. --- sysdeps/generic/dl-cache.h | 3 ++- sysdeps/generic/ldsodefs.h | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'sysdeps/generic') 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). */ -- cgit 1.4.1