[git commit ldso-future] libdl.c: move some prototypes to ldsodefs.h

Peter S. Mazinger ps.m at gmx.net
Wed Mar 30 11:53:36 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=c6c67e75099064f2302d34e16d9d7641f4f4a97c
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/ldso-future

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 ldso/include/dl-elf.h   |    2 +-
 ldso/include/ldsodefs.h |   10 ++++++++++
 ldso/libdl/libdl.c      |   47 +----------------------------------------------
 3 files changed, 12 insertions(+), 47 deletions(-)

diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h
index 4047399..addf23a 100644
--- a/ldso/include/dl-elf.h
+++ b/ldso/include/dl-elf.h
@@ -27,7 +27,7 @@ static __inline__ void _dl_map_cache(void) { }
 static __inline__ void _dl_unmap_cache(void) { }
 #endif
 
-/* Function prototypes for non-static stuff in elfinterp.c */
+/* Function prototypes for non-static stuff in dl-elf.c and elfinterp.c */
 extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
 	ElfW(Addr) rel_addr, ElfW(Word) rel_size);
 extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
diff --git a/ldso/include/ldsodefs.h b/ldso/include/ldsodefs.h
index 5df0332..7eb4c8f 100644
--- a/ldso/include/ldsodefs.h
+++ b/ldso/include/ldsodefs.h
@@ -44,6 +44,16 @@
    copy.  */
 extern void *__libc_stack_end attribute_relro;
 
+#ifdef SHARED
+extern unsigned long _dl_error_number;
+extern struct r_debug *_dl_debug_addr;
+extern void *(*_dl_malloc_function)(size_t);
+extern void (*_dl_free_function) (void *p);
+struct elf_resolve;
+extern void _dl_run_init_array(struct elf_resolve *);
+extern void _dl_run_fini_array(struct elf_resolve *);
+#endif
+
 #ifdef __UCLIBC_HAS_TLS__
 /* Determine next available module ID.  */
 extern size_t _dl_next_tls_modid (void) internal_function attribute_hidden;
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
index a50fc25..aa244ee 100644
--- a/ldso/libdl/libdl.c
+++ b/ldso/libdl/libdl.c
@@ -35,50 +35,7 @@
 #include <string.h>
 #include <stdbool.h>
 
-#ifdef __UCLIBC_HAS_TLS__
-#include <tls.h>
-#endif
-
-#ifdef __UCLIBC_HAS_TLS__
-#include <ldsodefs.h>
-extern void _dl_add_to_slotinfo(struct link_map  *l);
-#endif
-
-#ifdef SHARED
-# ifdef __UCLIBC_HAS_TLS__
-# include <dl-tls.h>
-extern struct link_map *_dl_update_slotinfo(unsigned long int req_modid);
-# endif
-
-/* When libdl is loaded as a shared library, we need to load in
- * and use a pile of symbols from ldso... */
-
-extern struct elf_resolve * _dl_load_shared_library(int, struct dyn_elf **,
-	struct elf_resolve *, char *, int);
-extern int _dl_fixup(struct dyn_elf *rpnt, int lazy);
-extern int _dl_errno;
-extern struct dyn_elf *_dl_symbol_tables;
-extern struct elf_resolve *_dl_loaded_modules;
-extern void _dl_free (void *__ptr);
-extern struct r_debug *_dl_debug_addr;
-extern unsigned long _dl_error_number;
-extern void *(*_dl_malloc_function)(size_t);
-extern void (*_dl_free_function) (void *p);
-extern void _dl_run_init_array(struct elf_resolve *);
-extern void _dl_run_fini_array(struct elf_resolve *);
-#ifdef __LDSO_CACHE_SUPPORT__
-int _dl_map_cache(void);
-int _dl_unmap_cache(void);
-#endif
-#ifdef __mips__
-extern void _dl_perform_mips_global_got_relocations(struct elf_resolve *tpnt, int lazy);
-#endif
-#ifdef __SUPPORT_LD_DEBUG__
-extern char *_dl_debug;
-#endif
-
-#else /* !SHARED */
-
+#ifndef SHARED
 #define _dl_malloc malloc
 #define _dl_free free
 
@@ -88,9 +45,7 @@ extern char *_dl_debug;
 const char *_dl_progname       = "";        /* Program name */
 void *(*_dl_malloc_function)(size_t);
 void (*_dl_free_function) (void *p);
-#ifndef SHARED
 char *_dl_library_path         = NULL;         /* Where we look for libraries */
-#endif
 char *_dl_ldsopath             = NULL;         /* Location of the shared lib loader */
 int _dl_errno                  = 0;         /* We can't use the real errno in ldso */
 size_t _dl_pagesize            = PAGE_SIZE; /* Store the page size for use later */
-- 
1.7.3.4



More information about the uClibc-cvs mailing list