Lots of work on the AcessNative kernel
[tpg/acess2.git] / AcessNative / ld-acess_src / elf.c
index 3ab5a50..a79b591 100644 (file)
@@ -42,7 +42,7 @@ void *Elf_Load(FILE *FP)
        Elf32_Phdr      *phtab;\r
         int    i, j;\r
         int    iPageCount;\r
-       uint32_t        max, base = -1;\r
+       uint32_t        max, base;\r
        uint32_t        addr;\r
        uint32_t        baseDiff = 0;\r
        \r
@@ -100,6 +100,8 @@ void *Elf_Load(FILE *FP)
        //ret->Interpreter = NULL;\r
 \r
        // Prescan for base and size\r
+       max = 0;\r
+       base = 0xFFFFFFFF;\r
        for( i = 0; i < hdr.phentcount; i ++)\r
        {\r
                if( phtab[i].Type != PT_LOAD )\r
@@ -157,6 +159,9 @@ void *Elf_Load(FILE *FP)
                addr = phtab[i].VAddr + baseDiff;\r
 \r
                if( AllocateMemory( addr, phtab[i].MemSize ) ) {\r
+                       fprintf(stderr, "Elf_Load: Unable to map memory at %x (0x%x bytes)\n",\r
+                               addr, phtab[i].MemSize);\r
+                       free( phtab );\r
                        return NULL;\r
                }\r
                \r

UCC git Repository :: git.ucc.asn.au