/* Data structure for communication from the run-time dynamic linker for
loaded ELF shared objects.
- Copyright (C) 1995-2001, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-2001, 2004, 2005, 2006, 2010 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifndef _LINK_H
#define _LINK_H 1
#ifdef __FDPIC__
# include <bits/elf-fdpic.h>
#endif
+#ifdef __DSBT__
+# include <bits/elf-dsbt.h>
+#endif
/* Structure describing a loaded shared object. The `l_next' and `l_prev'
members form a chain of all the shared objects loaded at startup.
#ifdef __FDPIC__
struct elf32_fdpic_loadaddr l_addr;
+#else
+#ifdef __DSBT__
+ struct elf32_dsbt_loadaddr l_addr;
#else
ElfW(Addr) l_addr; /* Base address shared object is loaded at. */
+#endif
#endif
char *l_name; /* Absolute file name object was found in. */
ElfW(Dyn) *l_ld; /* Dynamic section of the shared object. */
struct link_map *l_next, *l_prev; /* Chain of loaded objects. */
-
+#ifdef _LIBC
#if defined(USE_TLS) && USE_TLS
/* Thread-local storage related info. */
size_t l_tls_modid;
/* Nonzero if _dl_init_static_tls should be called for this module */
unsigned int l_need_tls_init:1;
+#endif
#endif
};
{
#ifdef __FDPIC__
struct elf32_fdpic_loadaddr dlpi_addr;
+#else
+#ifdef __DSBT__
+ struct elf32_dsbt_loadaddr dlpi_addr;
#else
ElfW(Addr) dlpi_addr;
+#endif
#endif
const char *dlpi_name;
const ElfW(Phdr) *dlpi_phdr;