Hi,using the latest ofwboot.xcf on my dual cpu macppc machine (dmesg attached) causes the kernel to crash early with a "kernel ISI" exception.
This happens since a few years and I didn't bother since I've got an old ofwboot.xcf binary hanging around which did work. But now I've decided to hunt down the problem.
The problem appears to have been introduced in rev 1.25 of sys/lib/libsa/loadfile_elf32.c.
When I compile ofwboot.xcf with rev 1.24 of said file, it works. It also works if I make the following change to the latest version of the file:
diff -u -r1.30 loadfile_elf32.c --- loadfile_elf32.c 27 Nov 2013 17:33:03 -0000 1.30 +++ loadfile_elf32.c 16 Feb 2015 19:19:39 -0000 @@ -274,7 +274,7 @@ } note; char *shstr = NULL; size_t shstrsz = 0; - int boot_load_ctf = 1; + int boot_load_ctf = 0; /* some ports dont use the offset */ (void)&offset;An alternative change (to sys/arch/macppc/stand/ofwboot/boot.c, just for macppc) fixes the problem, too:
diff -u -p -r1.27 boot.c --- boot.c 19 Feb 2012 12:02:55 -0000 1.27 +++ boot.c 16 Feb 2015 19:20:49 -0000 @@ -288,6 +288,8 @@ main(void) if (floppyboot) loadflag &= ~LOAD_BACKWARDS; + loadflag &= ~LOAD_SYM; + marks[MARK_START] = 0; if (loadfile(kernels[i], marks, loadflag) >= 0) goto loaded;So something seems to be wrong with the loading of the "section names section" in loadfile_elf32.c.
I haven't tracked that down yet, maybe some of you have some insights... regards, chris
Attachment:
muc-twinppc.dmesg.gz
Description: application/gzip