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
171 ElfHandle->ar_head = obj_image; in ELi_LoadLibrary()
174ElfHandle->ELi_ReadStub( OBJMAG, ElfHandle->FileStruct, (u32)obj_image, 0, 8); /*Get the OBJ st… in ELi_LoadLibrary()
180 ElfHandle->buf_current = buf; in ELi_LoadLibrary()
182ElfHandle->ELi_ReadStub( OBJMAG, ElfHandle->FileStruct, (u32)(obj_image), (image_pointer+arch_size… in ELi_LoadLibrary()
185 … result = ELi_LoadObject( ElfHandle, (void*)(image_pointer+arch_size), ElfHandle->buf_current); in ELi_LoadLibrary()
190 ElfHandle->ShdrEx = NULL; in ELi_LoadLibrary()
191 ElfHandle->SymEx = NULL; in ELi_LoadLibrary()
192 ElfHandle->process = EL_INITIALIZED; /*Set the flag*/ in ELi_LoadLibrary()
196ElfHandle->ELi_ReadStub( &ArHdr, ElfHandle->FileStruct, (u32)(obj_image), image_pointer, arch_size… in ELi_LoadLibrary()
207 all_result = ELi_LoadObject( ElfHandle, 0, buf); in ELi_LoadLibrary()
226 u16 ELi_LoadObject( ELHandle* ElfHandle, void* obj_offset, void* buf) in ELi_LoadObject() argument
237 if( ElfHandle->process != EL_INITIALIZED) { in ELi_LoadObject()
245 ElfHandle->ELi_ReadStub( &(ElfHandle->CurrentEhdr), ElfHandle->FileStruct, in ELi_LoadObject()
246 (u32)(ElfHandle->ar_head), (u32)(obj_offset), sizeof( Elf32_Ehdr)); in ELi_LoadObject()
249 ElfHandle->elf_offset = obj_offset; in ELi_LoadObject()
250 ElfHandle->buf_current = buf; in ELi_LoadObject()
251 ElfHandle->shentsize = ElfHandle->CurrentEhdr.e_shentsize; in ELi_LoadObject()
255 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
261 if( ELi_ShdrIsDebug( ElfHandle, i) == TRUE) { /*When it is debugging information*/ in ELi_LoadObject()
265 ELi_GetShdr( ElfHandle, i, &(CurrentShdrEx->Shdr)); in ELi_LoadObject()
270 ElfHandle->ShdrEx = DmyShdrEx.next; in ELi_LoadObject()
324 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
326 CurrentShdrEx = ELi_GetShdrExfromList( ElfHandle->ShdrEx, i); in ELi_LoadObject()
343 ELi_GetSent( ElfHandle, i, &(ElfHandle->Rel), offset, sizeof(Elf32_Rel)); in ELi_LoadObject()
344 ELi_GetShdr( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->SymShdr)); in ELi_LoadObject()
345 ELi_GetSent( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->Sym), in ELi_LoadObject()
346 … (u32)(ElfHandle->SymShdr.sh_entsize * ELF32_R_SYM( ElfHandle->Rel.r_info)), sizeof(Elf32_Sym)); in ELi_LoadObject()
347 … ELi_GetStrAdr( ElfHandle, ElfHandle->SymShdr.sh_link, ElfHandle->Sym.st_name, sym_str, 128); in ELi_LoadObject()
350 printf( "%08x ", (int)(ElfHandle->Rel.r_offset)); in ELi_LoadObject()
351 printf( "%08x ", (int)(ElfHandle->Rel.r_info)); in ELi_LoadObject()
353 printf( "%08x ", (int)(ElfHandle->Sym.st_value)); in ELi_LoadObject()
364 ELi_RelocateSym( ElfHandle, i); in ELi_LoadObject()
382 ELi_GetSent( ElfHandle, i, &(ElfHandle->Rela), offset, sizeof(Elf32_Rel)); in ELi_LoadObject()
383 ELi_GetShdr( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->SymShdr)); in ELi_LoadObject()
384 ELi_GetSent( ElfHandle, CurrentShdrEx->Shdr.sh_link, &(ElfHandle->Sym), in ELi_LoadObject()
385 … (u32)(ElfHandle->SymShdr.sh_entsize * ELF32_R_SYM( ElfHandle->Rela.r_info)), sizeof(Elf32_Sym)); in ELi_LoadObject()
386 … ELi_GetStrAdr( ElfHandle, ElfHandle->SymShdr.sh_link, ElfHandle->Sym.st_name, sym_str, 128); in ELi_LoadObject()
389 printf( "%08x ", (int)(ElfHandle->Rela.r_offset)); in ELi_LoadObject()
390 printf( "%08x ", (int)(ElfHandle->Rela.r_info)); in ELi_LoadObject()
392 printf( "%08x ", (int)(ElfHandle->Sym.st_value)); in ELi_LoadObject()
403 ELi_RelocateSym( ElfHandle, i); in ELi_LoadObject()
411 for( i=0; i<(ElfHandle->CurrentEhdr.e_shnum); i++) { in ELi_LoadObject()
412 CurrentShdrEx = ELi_GetShdrExfromList( ElfHandle->ShdrEx, i); in ELi_LoadObject()
416 ELi_DiscriminateGlobalSym( ElfHandle, i); in ELi_LoadObject()
423 CurrentShdrEx = ElfHandle->ShdrEx; in ELi_LoadObject()
430 ElfHandle->ShdrEx = NULL; in ELi_LoadObject()
438 return (ElfHandle->process); in ELi_LoadObject()