54 lines
2 KiB
Diff
54 lines
2 KiB
Diff
--- dietlibc-0.28/libdl/_dl_int.h.gcc4 2005-01-29 03:29:16.000000000 +0100
|
|
+++ dietlibc-0.28/libdl/_dl_int.h 2005-03-04 01:39:26.336802965 +0100
|
|
@@ -102,7 +102,7 @@ struct r_debug {
|
|
Elf_Addr r_ldbase;
|
|
};
|
|
#ifdef WANT_LD_SO_GDB_SUPPORT
|
|
-extern struct r_debug _r_debug;
|
|
+ //extern struct r_debug _r_debug;
|
|
#endif
|
|
|
|
#define HASH_BUCKET_LEN(p) (*((p)))
|
|
@@ -112,9 +112,9 @@ extern struct r_debug _r_debug;
|
|
#define HASH_CHAIN(p) ((p)+2+HASH_BUCKET_LEN(p))
|
|
|
|
/* _dl_alloc.c */
|
|
-extern struct _dl_handle* _dl_root_handle;
|
|
-extern struct _dl_handle* _dl_top_handle;
|
|
-extern struct _dl_handle* _dl_free_list;
|
|
+//extern struct _dl_handle* _dl_root_handle;
|
|
+//extern struct _dl_handle* _dl_top_handle;
|
|
+//extern struct _dl_handle* _dl_free_list;
|
|
#ifndef __DIET_LD_SO__
|
|
void _dl_free_handle(struct _dl_handle* dh);
|
|
struct _dl_handle* _dl_get_handle();
|
|
--- dietlibc-0.28/libdl/_dl_main.c.gcc4 2005-01-29 03:29:16.000000000 +0100
|
|
+++ dietlibc-0.28/libdl/_dl_main.c 2005-03-04 01:40:41.886679465 +0100
|
|
@@ -168,9 +168,11 @@ static inline unsigned long* get_got(voi
|
|
return got;
|
|
}
|
|
|
|
+/* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
|
|
+static void _dl_jump(void);
|
|
+
|
|
static inline int work_on_pltgot(struct _dl_handle*dh) {
|
|
- /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
|
|
- static void _dl_jump(void);
|
|
+
|
|
if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) {
|
|
unsigned long*tmp=dh->pltgot;
|
|
/* GOT */
|
|
--- dietlibc-0.28/dyn_start.c.gcc4 2004-11-30 23:35:14.000000000 +0100
|
|
+++ dietlibc-0.28/dyn_start.c 2005-03-04 01:44:23.346109645 +0100
|
|
@@ -29,10 +29,10 @@ int stackgap(int argc,char* argv[],char*
|
|
|
|
#ifndef __DYN_LIB_SHARED
|
|
/* pre main, post _start */
|
|
+static __attribute__((section(".init"))) void _init(void);
|
|
int _dyn_start(int argc, char **argv, char **envp, structor dl_init);
|
|
int _dyn_start(int argc, char **argv, char **envp, structor dl_init)
|
|
{
|
|
- static __attribute__((section(".init"))) void _init(void);
|
|
int main(int argc, char **argv, char **envp);
|
|
|
|
if (dl_init) atexit(dl_init);
|