Lines Matching refs:ElfHandle

46 u16 ELi_LoadLibrary( ELHandle* ElfHandle, void* obj_image, u32 obj_len, void* buf);
48 u16 ELi_LoadObject( ELHandle* ElfHandle, void* obj_offset, void* buf);
93 BOOL EL_InitHandle( ELHandle* ElfHandle) in EL_InitHandle() argument
95 if( ElfHandle == NULL) { /*NULL check*/ in EL_InitHandle()
100 ElfHandle->ShdrEx = NULL; in EL_InitHandle()
101 ElfHandle->SymEx = NULL; in EL_InitHandle()
103 ElfHandle->process = EL_INITIALIZED; /*Set the flag*/ in EL_InitHandle()
115 u16 EL_LoadLibraryfromFile( ELHandle* ElfHandle, FILE* ObjFile, void* buf) in EL_LoadLibraryfromFile() argument
121 ElfHandle->ELi_ReadStub = ELi_ReadFile; in EL_LoadLibraryfromFile()
122 ElfHandle->FileStruct = ObjFile; in EL_LoadLibraryfromFile()
127 result = ELi_LoadLibrary( ElfHandle, NULL, len, buf); in EL_LoadLibraryfromFile()
139 u16 EL_LoadLibraryfromMem( ELHandle* ElfHandle, void* obj_image, u32 obj_len, void* buf) in EL_LoadLibraryfromMem() argument
144 ElfHandle->ELi_ReadStub = ELi_ReadMem; in EL_LoadLibraryfromMem()
145 ElfHandle->FileStruct = NULL; in EL_LoadLibraryfromMem()
147 result = ELi_LoadLibrary( ElfHandle, obj_image, obj_len, buf); in EL_LoadLibraryfromMem()
159 u16 ELi_LoadLibrary( ELHandle* ElfHandle, void* obj_image, u32 obj_len, void* buf) in ELi_LoadLibrary() argument
170 ElfHandle->ar_head = obj_image; in ELi_LoadLibrary()
173ElfHandle->ELi_ReadStub( OBJMAG, ElfHandle->FileStruct, (u32)obj_image, 0, 8); /*Get the OBJ ch… in ELi_LoadLibrary()
179 ElfHandle->buf_current = buf; in ELi_LoadLibrary()
181ElfHandle->ELi_ReadStub( OBJMAG, ElfHandle->FileStruct, (u32)(obj_image), (image_pointer+arch_size… in ELi_LoadLibrary()
184 … result = ELi_LoadObject( ElfHandle, (void*)(image_pointer+arch_size), ElfHandle->buf_current); in ELi_LoadLibrary()
189 ElfHandle->ShdrEx = NULL; in ELi_LoadLibrary()
190 ElfHandle->SymEx = NULL; in ELi_LoadLibrary()
191 ElfHandle->process = EL_INITIALIZED; /*Set the flag*/ in ELi_LoadLibrary()
195ElfHandle->ELi_ReadStub( &ArHdr, ElfHandle->FileStruct, (u32)(obj_image), image_pointer, arch_size… in ELi_LoadLibrary()
201 all_result = ELi_LoadObject( ElfHandle, 0, buf); in ELi_LoadLibrary()
220 u16 ELi_LoadObject( ELHandle* ElfHandle, void* obj_offset, void* buf) in ELi_LoadObject() argument
231 if( ElfHandle->process != EL_INITIALIZED) { in ELi_LoadObject()
239 ElfHandle->ELi_ReadStub( &(ElfHandle->CurrentEhdr), ElfHandle->FileStruct, in ELi_LoadObject()
240 (u32)(ElfHandle->ar_head), (u32)(obj_offset), sizeof( Elf32_Ehdr)); in ELi_LoadObject()
243 ElfHandle->elf_offset = obj_offset; in ELi_LoadObject()
244 ElfHandle->buf_current = buf; in ELi_LoadObject()
245 ElfHandle->shentsize = ElfHandle->CurrentEhdr.e_shentsize; in ELi_LoadObject()
249 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
255 if( ELi_ShdrIsDebug( ElfHandle, i) == TRUE) { /*When it is debugging information*/ in ELi_LoadObject()
259 ELi_GetShdr( ElfHandle, i, &(CurrentShdrEx->Shdr)); in ELi_LoadObject()
264 ElfHandle->ShdrEx = DmyShdrEx.next; in ELi_LoadObject()
318 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
320 CurrentShdrEx = ELi_GetShdrExfromList( ElfHandle->ShdrEx, i); in ELi_LoadObject()
337 ELi_GetSent( ElfHandle, i, &(ElfHandle->Rel), offset, sizeof(Elf32_Rel)); in ELi_LoadObject()
338 ELi_GetShdr( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->SymShdr)); in ELi_LoadObject()
339 ELi_GetSent( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->Sym), in ELi_LoadObject()
340 … (u32)(ElfHandle->SymShdr.sh_entsize * ELF32_R_SYM( ElfHandle->Rel.r_info)), sizeof(Elf32_Sym)); in ELi_LoadObject()
341 … ELi_GetStrAdr( ElfHandle, ElfHandle->SymShdr.sh_link, ElfHandle->Sym.st_name, sym_str, 128); in ELi_LoadObject()
344 printf( "%08x ", (int)(ElfHandle->Rel.r_offset)); in ELi_LoadObject()
345 printf( "%08x ", (int)(ElfHandle->Rel.r_info)); in ELi_LoadObject()
347 printf( "%08x ", (int)(ElfHandle->Sym.st_value)); in ELi_LoadObject()
358 ELi_RelocateSym( ElfHandle, i); in ELi_LoadObject()
376 ELi_GetSent( ElfHandle, i, &(ElfHandle->Rela), offset, sizeof(Elf32_Rel)); in ELi_LoadObject()
377 ELi_GetShdr( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->SymShdr)); in ELi_LoadObject()
378 ELi_GetSent( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->Sym), in ELi_LoadObject()
379 … (u32)(ElfHandle->SymShdr.sh_entsize * ELF32_R_SYM( ElfHandle->Rela.r_info)), sizeof(Elf32_Sym)); in ELi_LoadObject()
380 … ELi_GetStrAdr( ElfHandle, ElfHandle->SymShdr.sh_link, ElfHandle->Sym.st_name, sym_str, 128); in ELi_LoadObject()
383 printf( "%08x ", (int)(ElfHandle->Rela.r_offset)); in ELi_LoadObject()
384 printf( "%08x ", (int)(ElfHandle->Rela.r_info)); in ELi_LoadObject()
386 printf( "%08x ", (int)(ElfHandle->Sym.st_value)); in ELi_LoadObject()
397 ELi_RelocateSym( ElfHandle, i); in ELi_LoadObject()
405 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
406 CurrentShdrEx = ELi_GetShdrExfromList( ElfHandle->ShdrEx, i); in ELi_LoadObject()
410 ELi_DiscriminateGlobalSym( ElfHandle, i); in ELi_LoadObject()
417 CurrentShdrEx = ElfHandle->ShdrEx; in ELi_LoadObject()
424 ElfHandle->ShdrEx = NULL; in ELi_LoadObject()
432 return (ElfHandle->process); in ELi_LoadObject()