dietlibc/dietlibc-0.28-gcc4.patch

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);