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

Andreas Färber andreas.faerber at web.de
Sun Oct 3 12:00:59 CEST 2010


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.

Andreas

>>
>>  Regards,
>>  Andreas
>>
>>  config/scripts/switch-arch |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/config/scripts/switch-arch b/config/scripts/switch-arch
>> index c1158fa..8b6563d 100755
>> --- a/config/scripts/switch-arch
>> +++ b/config/scripts/switch-arch
>> @@ -71,6 +71,8 @@ crosscflags()
>>
>>     if test "$host" = "x86" -a "$targetlongbits" = "64"; then
>>         cflags="$cflags -DNEED_FAKE_INT128_T"
>> +    elif test "$host" = "ppc" -a "$targetlongbits" = "64" -a  
>> `uname -s` = "Darwin"; then
>> +        cflags="$cflags -DNEED_FAKE_INT128_T"
>>     fi
>>
>>     CROSSCFLAGS=$cflags
>> --
>> 1.7.0.4



More information about the OpenBIOS mailing list