NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-macppc/44895: ofwboot.xcf from current cannot boot system
The following reply was made to PR port-macppc/44895; it has been noted by GNATS.
From: Valery Ushakov <uwe%stderr.spb.ru@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: port-macppc/44895: ofwboot.xcf from current cannot boot system
Date: Thu, 7 Jun 2018 02:19:28 +0300
On Mon, Apr 17, 2017 at 15:15:01 +0000, Valery Ushakov wrote:
> After playing with it a bit more I think the real bug is in the
> bootloader's memory allocator code. If I roll back to
> loadfile_elf32.c 1.24 (the good one) and just add ALLOC/DEALLOC pair
> where 1.25 would allocate "shstr", the resulting ofwboot.xcf is
> broken.
Apparently I never posted a follow up...
I've just committed a bit of trivial code that I had sitting in my
tree to use libsa alloc.c instead of ofwboot's own ./alloc.c. It's
not yet enabled and the same object code is generated for now. You
can edit the makefile to change to the libsa allocator.
The new (disabled) code makes ofwboot.xcf happy, apparently. Since
the root cause of the bug was never discovered it may be just masking
the bug, but whatever :)
./alloc.c is very naive as it rounds every allocation up to the page
size that it gets with OF_claim.
The new code OF_claim's HEAP_SIZE heap (default 0x20000) and lets
libsa manage it.
Since libsa allocator cannot request additional memory anyway we may
as well just use an array in .bss for heap instead.
But I wanted to commit what I had and what's known to fix or at least
mask the issue and then someone who's interested can experiment and
test on other machines too.
-uwe
Home |
Main Index |
Thread Index |
Old Index