[OpenBIOS] [PATCH] Darwin/ppc host needs fake int128_t for sparc64

Blue Swirl blauwirbel at gmail.com
Sun Oct 3 15:59:35 CEST 2010

On Sun, Oct 3, 2010 at 10:00 AM, Andreas Färber <andreas.faerber at web.de> wrote:
> Am 03.10.2010 um 08:54 schrieb Blue Swirl:
>> Thanks, applied as r876.
> Thanks.
>> On Sun, Sep 19, 2010 at 9:39 AM, Andreas Färber <andreas.faerber at web.de>
>> wrote:
>>> Otherwise it chokes on ducell in include/kernel/stack.h.
>>> Signed-off-by: Andreas Färber <andreas.faerber at web.de>
>>> ---
>>>  It seems I only mentioned this on the list but never sent a proper
>>> patch.
>>>  http://www.openfirmware.info/pipermail/openbios/2009-November/004192.html
>>>  Not sure about Linux/ppc or Darwin/x86, so I've limited it to Darwin/ppc
>>> for now.
> Darwin/x86 was already covered by the pre-existing "if" obviously.
> Debian/ppc still doesn't want to install over my SATA controller.
> Last night I ran into another related issue though. If I try to compile a
> ppc64 version using the regular include/arch/ppc/types.h cell sizes as
> indicated on the list, then after this patch and some ppc64 preparations in
> config/scripts/switch-arch, include/kernel/stack.h will try to access .lo
> and .hi fields although ppc doesn't define ducell to be of 128-bit width.
> My thinking was that we may need to split this up into HOST_NEEDS_FAKE_128_T
> and TARGET_DCELL_128_BITS? Or should the ppc definition be changed? For now
> I've just removed -DNEED_FAKE_128_T from my config.mak.

I'm not sure what the real solution is. So far the fake stuff was only
limited to host forthstrap.

Perhaps we should add a library with arbitrary precision arithmetic
and use that explicitly for ducell math, maybe even for other cases to
avoid any libgcc use.

More information about the OpenBIOS mailing list