[uClibc-cvs] CVS update of uClibc/ldso (include/ldso.h ldso/dl-startup.c ldso/ldso.c)
Joakim Tjernlund
jocke at codepoet.org
Thu Aug 19 09:06:16 UTC 2004
Date: Thursday, August 19, 2004 @ 03:06:16
Author: jocke
Path: /var/cvs/uClibc/ldso
Modified: include/ldso.h (1.15 -> 1.16) ldso/dl-startup.c (1.17 -> 1.18)
ldso/ldso.c (1.107 -> 1.108)
Move "debug_addr" ptr from dl-startup.c to ldso.c
Index: uClibc/ldso/include/ldso.h
diff -u uClibc/ldso/include/ldso.h:1.15 uClibc/ldso/include/ldso.h:1.16
--- uClibc/ldso/include/ldso.h:1.15 Thu Aug 19 02:53:29 2004
+++ uClibc/ldso/include/ldso.h Thu Aug 19 03:06:15 2004
@@ -68,7 +68,7 @@
extern void _dl_dprintf(int, const char *, ...);
extern void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
- Elf32_auxv_t auxvt[AT_EGID + 1], char **envp, struct r_debug *debug_addr,
+ Elf32_auxv_t auxvt[AT_EGID + 1], char **envp,
unsigned char *malloc_buffer, unsigned char *mmap_zero, char **argv);
Index: uClibc/ldso/ldso/dl-startup.c
diff -u uClibc/ldso/ldso/dl-startup.c:1.17 uClibc/ldso/ldso/dl-startup.c:1.18
--- uClibc/ldso/ldso/dl-startup.c:1.17 Thu Aug 19 02:53:29 2004
+++ uClibc/ldso/ldso/dl-startup.c Thu Aug 19 03:06:15 2004
@@ -130,7 +130,6 @@
Elf32_auxv_t auxvt[AT_EGID + 1];
unsigned char *malloc_buffer, *mmap_zero;
Elf32_Dyn *dpnt;
- struct r_debug *debug_addr = NULL;
size_t pagesize;
int indx;
#if defined(__i386__)
@@ -299,12 +298,6 @@
tpnt = LD_MALLOC(sizeof(struct elf_resolve));
_dl_memset(tpnt, 0, sizeof(struct elf_resolve));
- /*
- * This is used by gdb to locate the chain of shared libraries that are currently loaded.
- */
- debug_addr = LD_MALLOC(sizeof(struct r_debug));
- _dl_memset(debug_addr, 0, sizeof(struct r_debug));
-
/* OK, that was easy. Next scan the DYNAMIC section of the image.
We are only doing ourself right now - we will have to do the rest later */
#ifdef __SUPPORT_LD_DEBUG_EARLY__
@@ -433,7 +426,7 @@
fixed up by now. Still no function calls outside of this library ,
since the dynamic resolver is not yet ready. */
_dl_get_ready_to_run(tpnt, load_addr, auxvt, envp,
- debug_addr, malloc_buffer, mmap_zero, argv);
+ malloc_buffer, mmap_zero, argv);
/* Transfer control to the application. */
Index: uClibc/ldso/ldso/ldso.c
diff -u uClibc/ldso/ldso/ldso.c:1.107 uClibc/ldso/ldso/ldso.c:1.108
--- uClibc/ldso/ldso/ldso.c:1.107 Thu Aug 19 02:53:29 2004
+++ uClibc/ldso/ldso/ldso.c Thu Aug 19 03:06:15 2004
@@ -85,7 +85,7 @@
#endif
void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
- Elf32_auxv_t auxvt[AT_EGID + 1], char **envp, struct r_debug *debug_addr,
+ Elf32_auxv_t auxvt[AT_EGID + 1], char **envp,
unsigned char *malloc_buffer, unsigned char *mmap_zero, char **argv)
{
ElfW(Phdr) *ppnt;
@@ -97,6 +97,7 @@
struct elf_resolve *tpnt1;
struct elf_resolve app_tpnt_tmp;
struct elf_resolve *app_tpnt = &app_tpnt_tmp;
+ struct r_debug *debug_addr;
unsigned long brk_addr, *lpnt;
int (*_dl_atexit) (void *);
#if defined (__SUPPORT_LD_DEBUG__)
@@ -173,7 +174,11 @@
}
#endif
}
-
+ /*
+ * This is used by gdb to locate the chain of shared libraries that are currently loaded.
+ */
+ debug_addr = _dl_malloc(sizeof(struct r_debug));
+ _dl_memset(debug_addr, 0, sizeof(struct r_debug));
ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
More information about the uClibc-cvs
mailing list