]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/uclibc/lib/contrib/uclibc/include/link.h
update
[l4.git] / l4 / pkg / uclibc / lib / contrib / uclibc / include / link.h
index cbef6165a8836cb3793028037a2f008633498920..147b793849ac2addbd6805bd8c2ab339a2aa5343 100644 (file)
@@ -1,6 +1,6 @@
 /* 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
@@ -14,9 +14,8 @@
    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
@@ -83,6 +82,9 @@ extern ElfW(Dyn) _DYNAMIC[];
 #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.
@@ -97,13 +99,17 @@ struct link_map
 
 #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.  */
 
@@ -126,6 +132,7 @@ struct link_map
     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
   };
 
@@ -177,8 +184,12 @@ struct dl_phdr_info
   {
 #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;