diff --git a/sys/arch/armv6/exec.c b/sys/arch/armv6/exec.c index 3af2f28..3135d28 100644 --- a/sys/arch/armv6/exec.c +++ b/sys/arch/armv6/exec.c @@ -227,7 +227,7 @@ /* Load The Program Header(s) */ programHeader = (elfProgramHeader *) kmalloc(sizeof(elfProgramHeader) * binaryHeader->ePhnum); - fseek(tmpFd, binaryHeader->ePhoff, 0); + kern_fseek(tmpFd, binaryHeader->ePhoff, 0); //kprintf(">c:%i:0x%X:0x%X<",sizeof(elfProgramHeader)*binaryHeader->ePhnum,programHeader,tmpFd); fread(programHeader, (sizeof(elfProgramHeader) * binaryHeader->ePhnum), 1, tmpFd); @@ -250,7 +250,7 @@ _current->oInfo.vmStart = 0x80000000; _current->td.vm_daddr = (char *) (programHeader[i].phVaddr & 0xFFFFF000); /* Now Load Section To Memory */ - fseek(tmpFd, programHeader[i].phOffset, 0); + kern_fseek(tmpFd, programHeader[i].phOffset, 0); fread((void *) programHeader[i].phVaddr, programHeader[i].phFilesz, 1, tmpFd); if ((programHeader[i].phFlags & 0x2) != 0x2) { kprintf("pH: [0x%X]\n", programHeader[i].phMemsz); @@ -405,14 +405,14 @@ endTask(_current->id); assert(programHeader); - fseek(tmpFd, binaryHeader->ePhoff, 0); + kern_fseek(tmpFd, binaryHeader->ePhoff, 0); fread(programHeader, (sizeof(elfProgramHeader) * binaryHeader->ePhnum), 1, tmpFd); if ((sectionHeader = (elfSectionHeader *) kmalloc(sizeof(elfSectionHeader) * binaryHeader->eShnum)) == 0x0) endTask(_current->id); assert(sectionHeader); - fseek(tmpFd, binaryHeader->eShoff, 0); + kern_fseek(tmpFd, binaryHeader->eShoff, 0); fread(sectionHeader, sizeof(elfSectionHeader) * binaryHeader->eShnum, 1, tmpFd); /* Loop Through The Header And Load Sections Which Need To Be Loaded */ @@ -434,7 +434,7 @@ } /* Now Load Section To Memory */ - fseek(tmpFd, programHeader[i].phOffset, 0); + kern_fseek(tmpFd, programHeader[i].phOffset, 0); fread((void *) programHeader[i].phVaddr, programHeader[i].phFilesz, 1, tmpFd); if ((programHeader[i].phFlags & 0x2) != 0x2) { for (x = 0x0; x < (programHeader[i].phMemsz); x += 0x1000) { @@ -456,12 +456,12 @@ case PT_DYNAMIC: //newLoc = (char *)programHeader[i].phVaddr; elfDynamicS = (elfDynamic *) programHeader[i].phVaddr; - fseek(tmpFd, programHeader[i].phOffset, 0); + kern_fseek(tmpFd, programHeader[i].phOffset, 0); fread((void *) programHeader[i].phVaddr, programHeader[i].phFilesz, 1, tmpFd); break; case PT_INTERP: interp = (char *) kmalloc(programHeader[i].phFilesz); - fseek(tmpFd, programHeader[i].phOffset, 0); + kern_fseek(tmpFd, programHeader[i].phOffset, 0); fread((void *) interp, programHeader[i].phFilesz, 1, tmpFd); kprintf("Interp: [%s]\n", interp); ldAddr = ldEnable(); @@ -590,7 +590,7 @@ /* Load The Program Header(s) */ if ((programHeader = (elfProgramHeader *) kmalloc(sizeof(elfProgramHeader) * binaryHeader->ePhnum)) == 0x0) K_PANIC("malloc failed!"); - fseek(_current->files[0], binaryHeader->ePhoff, 0); + kern_fseek(_current->files[0], binaryHeader->ePhoff, 0); fread(programHeader, (sizeof(elfProgramHeader) * binaryHeader->ePhnum), 1, _current->files[0]); /* Loop Through The Header And Load Sections Which Need To Be Loaded */ @@ -612,7 +612,7 @@ } /* Now Load Section To Memory */ - fseek(_current->files[0], programHeader[i].phOffset, 0); + kern_fseek(_current->files[0], programHeader[i].phOffset, 0); fread((void *) programHeader[i].phVaddr, programHeader[i].phFilesz, 1, _current->files[0]); if ((programHeader[i].phFlags & 0x2) != 0x2) { for (x = 0x0; x < (programHeader[i].phMemsz); x += 0x1000) { @@ -636,7 +636,7 @@ K_PANIC("malloc failed") ; - fseek(_current->files[0], programHeader[i].phOffset, 0); + kern_fseek(_current->files[0], programHeader[i].phOffset, 0); fread((void *) interp, programHeader[i].phFilesz, 1, _current->files[0]); kprintf("Interp: [%s]\n", interp); //ldAddr = ldEnable(); diff --git a/sys/arch/i386/i386_exec.c b/sys/arch/i386/i386_exec.c index e78a2a8..2a53e48 100644 --- a/sys/arch/i386/i386_exec.c +++ b/sys/arch/i386/i386_exec.c @@ -331,7 +331,7 @@ /* Load The Program Header(s) */ programHeader = (Elf_Phdr *) kmalloc(sizeof(Elf_Phdr) * binaryHeader->e_phnum); - fseek(newProcess->files[0], binaryHeader->e_phoff, 0); + kern_fseek(newProcess->files[0], binaryHeader->e_phoff, 0); fread(programHeader, (sizeof(Elf_Phdr) * binaryHeader->e_phnum), 1, newProcess->files[0]); @@ -352,7 +352,7 @@ } /* Now Load Section To Memory */ - fseek(newProcess->files[0], programHeader[i].p_offset, 0); + kern_fseek(newProcess->files[0], programHeader[i].p_offset, 0); fread((void *) programHeader[i].p_vaddr, programHeader[i].p_filesz, 1, newProcess->files[0]); @@ -600,7 +600,7 @@ assert(programHeader); - fseek(fd, binaryHeader->e_phoff, 0); + kern_fseek(fd, binaryHeader->e_phoff, 0); fread(programHeader, (sizeof(Elf_Phdr) * binaryHeader->e_phnum), 1, fd); /* Done Loading Program Header(s) */ @@ -609,7 +609,7 @@ K_PANIC("MALLOC FAILED"); assert(sectionHeader); - fseek(fd, binaryHeader->e_shoff, 0); + kern_fseek(fd, binaryHeader->e_shoff, 0); fread(sectionHeader, sizeof(Elf_Shdr) * binaryHeader->e_shnum, 1, fd); /* Done Loading Section Header(s) */ @@ -644,7 +644,7 @@ } /* Now Load Section To Memory */ - fseek(fd, programHeader[i].p_offset, 0); + kern_fseek(fd, programHeader[i].p_offset, 0); fread((void *) programHeader[i].p_vaddr, programHeader[i].p_filesz, 1, fd); if ((programHeader[i].p_flags & 0x2) != 0x2) { @@ -688,7 +688,7 @@ kprintf("%s:%i>Malloc: %i\n", _FILE_,_LINE_,programHeader[i].p_filesz); #endif interp = (char *) kmalloc(programHeader[i].p_filesz); - fseek(fd, programHeader[i].p_offset, 0); + kern_fseek(fd, programHeader[i].p_offset, 0); fread((void *) interp, programHeader[i].p_filesz, 1, fd); #ifdef DEBUG_EXEC kprintf("Interp: [%s]\n", interp); @@ -779,7 +779,7 @@ struct file *tFP = 0x0; int tFD = 0x0; - fseek(_current->files[0], 0x0, 0x0); // Reset File Position + kern_fseek(_current->files[0], 0x0, 0x0); // Reset File Position falloc(&_current->td, &tFP, &tFD); tFP->fd = _current->files[0];