From 8b33f268b67455ded8d35f3c198425562173fa2e Mon Sep 17 00:00:00 2001 From: Miguel Date: Thu, 11 Oct 2018 02:14:52 +0200 Subject: almost cross compliing c++ --- fs/elf.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'fs/elf.c') diff --git a/fs/elf.c b/fs/elf.c index a01f7c6..d91da60 100644 --- a/fs/elf.c +++ b/fs/elf.c @@ -99,13 +99,12 @@ uint32_t load_elf(char *name, uint32_t *alloc) uint32_t pos=0; klog("loading %s",name); - ext2_read_inode(ext2_ramimage,inode_nr,vaddr,&pos,4096*64); // max ignored?? + ext2_read_inode(ext2_ramimage,inode_nr,vaddr,&pos,4096*VMEM_USER_PROG_PAGES); // max ignored?? klog("ELF File loaded to final destination."); Elf32_Ehdr *elf; elf=vaddr; - if(elf->e_ident[0]!=0x7f||elf->e_ident[1]!='E'||elf->e_ident[2]!='L'||elf->e_ident[3]!='F') kpanic("ELF mismatch!?"); @@ -138,6 +137,13 @@ uint32_t load_elf(char *name, uint32_t *alloc) for(int phidx=0;phidxe_phnum;phidx++) { Elf32_Phdr *phdr=vaddr+elf->e_phoff+phidx*elf->e_phentsize; + klog("-- PROGRAMM HEADER %d --",phidx+1); + klog("p-type: %d",phdr->p_type); + klog("p-offset: 0x%08X",phdr->p_offset); + klog("p-vaddr: 0x%08X",phdr->p_vaddr); + klog("p-filesz: 0x%08X",phdr->p_filesz); + klog("p-memsz: 0x%08X",phdr->p_memsz); + if(phidx==0) { @@ -148,14 +154,6 @@ uint32_t load_elf(char *name, uint32_t *alloc) { - /* - klog("-- PROGRAMM HEADER %d --",phidx+1); - klog("p-type: %d",phdr->p_type); - klog("p-offset: 0x%08X",phdr->p_offset); - klog("p-vaddr: 0x%08X",phdr->p_vaddr); - klog("p-filesz: 0x%08X",phdr->p_filesz); - klog("p-memsz: 0x%08X",phdr->p_memsz); - */ klog("data: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); klog("bss: 0x%08X-0x%08X",phdr->p_vaddr+phdr->p_filesz,phdr->p_vaddr+phdr->p_memsz); -- cgit v1.2.3