about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-03-08 05:44:56 +0000
committerUlrich Drepper <drepper@redhat.com>2008-03-08 05:44:56 +0000
commit93025f9373f4efde62aab31aa03c4744fd3bed62 (patch)
treea3af6e5eb6fb65c5ab6c4d0d83464c5925534d7a /sysdeps/generic
parentc71665ad060cd30c99399d7a4fa47566eaf8b961 (diff)
downloadglibc-93025f9373f4efde62aab31aa03c4744fd3bed62.tar.gz
glibc-93025f9373f4efde62aab31aa03c4744fd3bed62.tar.xz
glibc-93025f9373f4efde62aab31aa03c4744fd3bed62.zip
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
	_dl_tls_get_addr_soft element.
	* elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft.
	* elf/Versions (ld): Don't export _dl_tls_get_addr_soft.
	* dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through
	GLRO.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
	* elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead
	of internal_function.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/ldsodefs.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 958a099b82..580e1e3953 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 1995-2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2006, 2007, 2008 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
@@ -655,6 +655,7 @@ struct rtld_global_ro
   void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen,
 		     Lmid_t nsid, int argc, char *argv[], char *env[]);
   void (*_dl_close) (void *map);
+  void *(*_dl_tls_get_addr_soft) (struct link_map *);
 
   /* List of auditing interfaces.  */
   struct audit_ifaces *_dl_audit;
@@ -1069,7 +1070,7 @@ extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid);
 
 /* Look up the module's TLS block as for __tls_get_addr,
    but never touch anything.  Return null if it's not allocated yet.  */
-extern void *_dl_tls_get_addr_soft (struct link_map *l) internal_function;
+extern void *_dl_tls_get_addr_soft (struct link_map *l) attribute_hidden;
 
 extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr)
      internal_function attribute_hidden;