X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Floader.c;h=fea8bb637266814e06afb5c0b0823101d5fa121c;hp=df505424c9309a8aee8b7d61c3722d5dfb8ba8f0;hb=ad439e71e25f709a1e2b6f72f36119432593f34a;hpb=306e06f738dc1b1585c7db7c0e7bc36e2ba90f13 diff --git a/loader/loader.c b/loader/loader.c index df50542..fea8bb6 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -6,6 +6,7 @@ #include #include "header.h" +#include "realfuncs.h" #define CHECK_(val, fail_operator, expect, err_msg) \ if (val fail_operator expect) { \ @@ -73,7 +74,7 @@ int main(int argc, char *argv[]) for (i = 0; i < ARRAY_SIZE(maps); i++) { ret = fscanf(fi, "%lx-%lx %*s %*s %*s %*s %*s\n", &maps[i].start, &maps[i].end); - if (ret == 0) + if (ret <= 0) break; CHECK_EQ(ret, 2, "maps parse error"); } @@ -124,7 +125,7 @@ int main(int argc, char *argv[]) return 1; } - printf("load %d %08x-%08x from %08x\n", phdr[i].p_type, + log("load %d %08x-%08x from %08x\n", phdr[i].p_type, phdr[i].p_vaddr, end_addr, phdr[i].p_offset); align = phdr[i].p_vaddr & 0xfff; @@ -169,7 +170,7 @@ int main(int argc, char *argv[]) stack_frame[sfp++] = (long)environ[i]; stack_frame[sfp++] = 0; - printf("entering %08x, %d stack entries\n", hdr.e_entry, sfp); + log("entering %08x, %d stack entries\n", hdr.e_entry, sfp); do_entry(hdr.e_entry, stack_frame, sfp, NULL); fprintf(stderr, "do_entry failed!\n");