X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Floader.c;h=8a021df8b33f1fcb1339bd3a7c74e7d3fcf9fd38;hp=27ea85627fec81ed8a364dec705cc7d17fe10499;hb=890c1dc54f2d12febbf4238c73ccd145a6724771;hpb=56e1747d197e1c1a0e928bc9ed4810a73a57dd90 diff --git a/loader/loader.c b/loader/loader.c index 27ea856..8a021df 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -66,7 +66,7 @@ extern char **environ; int main(int argc, char *argv[]) { - void *lowest_segment = (void *)-1; + void *lowest_segments[2] = { NULL, NULL }; Elf32_Ehdr hdr; Elf32_Phdr *phdr; FILE *fi; @@ -160,8 +160,8 @@ int main(int argc, char *argv[]) do_patches((char *)ptr + align, phdr[i].p_filesz); } - if (map_ptr < lowest_segment) - lowest_segment = map_ptr; + if (lowest_segments[0] == NULL || map_ptr < lowest_segments[0]) + lowest_segments[0] = map_ptr; } // build self bin path @@ -177,7 +177,7 @@ int main(int argc, char *argv[]) fclose(fi); - emu_init(lowest_segment); + emu_init(lowest_segments, 0); // generate stack frame: argc, argv[], NULL, env[], NULL for (envc = 0; environ[envc] != NULL; envc++)