From 9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2 Mon Sep 17 00:00:00 2001 From: Mystery Man Date: Thu, 15 Jul 2004 06:27:30 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'V10_54mdk'. --- mdk-stage1/dietlibc/libdl/_dl_relocate.c | 96 -------------------------------- 1 file changed, 96 deletions(-) delete mode 100644 mdk-stage1/dietlibc/libdl/_dl_relocate.c (limited to 'mdk-stage1/dietlibc/libdl/_dl_relocate.c') diff --git a/mdk-stage1/dietlibc/libdl/_dl_relocate.c b/mdk-stage1/dietlibc/libdl/_dl_relocate.c deleted file mode 100644 index e91e48ccf..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_relocate.c +++ /dev/null @@ -1,96 +0,0 @@ -#include "_dl_int.h" - -#include "_dl_rel.h" - -#if 0 -/*--- are other relocation types vital to shared objects ? ---*/ - - R_386_NONE 0 /* No reloc */ - R_386_32 1 /* Direct 32 bit */ - R_386_COPY 5 /* Copy symbol at runtime ?!? */ - R_386_GLOB_DAT 6 /* Create GOT entry */ - R_386_JMP_SLOT 7 /* Create PLT entry */ - R_386_RELATIVE 8 /* Adjust by program base */ - - R_ARM_NONE 0 /* No reloc */ - R_ARM_ABS32 2 /* Direct 32 bit */ - R_ARM_COPY 20 /* Copy symbol at runtime */ - R_ARM_GLOB_DAT 21 /* Create GOT entry */ - R_ARM_JUMP_SLOT 22 /* Create PLT entry */ - R_ARM_RELATIVE 23 /* Adjust by program base */ - -#endif - -static int _dl_apply_relocate(struct _dl_handle*dh,_dl_rel_t*rel) { - int typ,ret=0; - Elf_Addr*loc; - - loc=(Elf_Addr *)(dh->mem_base+rel->r_offset); - -#ifdef DEBUG -#if 0 - pf(__FUNCTION__); pf(": "); ph(ELF_R_TYPE(rel->r_info)); pf(" @ "); ph((unsigned long)loc); - pf(" preval "); ph(*(unsigned long*)loc); pf("\n"); -#endif -#endif - - typ=ELF_R_TYPE(rel->r_info); - -#ifdef __i386__ - if (typ==R_386_32) { /* 1 */ - *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value); - } else if (typ==R_386_COPY) { /* 5 */ - int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size; -#ifdef DEBUG - pf(__FUNCTION__); pf(": R_386_COPY !\n"); -#endif - memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len); - } else if (typ==R_386_GLOB_DAT) { /* 6 */ - *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)); - } else if (typ==R_386_JMP_SLOT) { /* 7 */ - *loc+=(unsigned long)dh->mem_base; - } else if (typ==R_386_RELATIVE) { /* 8 */ - *loc+=(unsigned long)dh->mem_base; - } else if (typ==R_386_NONE) { /* 0 */ - } else - ret=1; -#endif -#ifdef __arm__ - if (typ==R_ARM_ABS32) { /* 2 */ - *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value); - } else if (typ==R_ARM_COPY) { /* 20 */ - int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size; -#ifdef DEBUG - pf(__FUNCTION__); pf(": R_ARM_COPY !\n"); -#endif - memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len); - } else if (typ==R_ARM_GLOB_DAT) { /* 21 */ - *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)); - } else if (typ==R_ARM_JUMP_SLOT) { /* 22 */ - *loc+=(unsigned long)dh->mem_base; - } else if (typ==R_ARM_RELATIVE) { /* 23 */ - *loc+=(unsigned long)dh->mem_base; - } else if (typ==R_ARM_NONE) { /* 0 */ - } else - ret=1; -#endif - -#ifdef DEBUG - pf(__FUNCTION__); pf(": @ "); ph((unsigned long)loc); pf(" val "); ph(*(unsigned long*)loc); pf("\n"); -#endif - return ret; -} - -#ifdef __DIET_LD_SO__ -static -#endif -int _dl_relocate(struct _dl_handle*dh,_dl_rel_t *rel,int num) { - int i; - for (i=0;i