[OpenBIOS] [PATCH] ppc: Move noreturn attribute

Andreas Färber andreas.faerber at web.de
Sun Oct 17 19:03:24 CEST 2010


Am 17.10.2010 um 15:45 schrieb Blue Swirl:

> On Sun, Oct 17, 2010 at 1:20 PM, Andreas Färber <andreas.faerber at web.de 
> > wrote:
>> Am 17.10.2010 um 14:16 schrieb Alexander Graf:
>>
>>> On 17.10.2010, at 14:05, Andreas Färber wrote:
>>>
>>>> Otherwise GCC 4.2.4 complains that panic() marked noreturn does  
>>>> return.
>>>
>>> Thanks, that one hit me too and I didn't know how to fix it  
>>> properly :).
>>> Applied.
>>
>> Thanks. In case you're playing with ppc64 I'm attaching my current  
>> diff. It
>> made it compile but it hangs both ppc and ppc64, no time to  
>> investigate
>> further right now.
>>
>> Most problems were caused by the assumption that a conversion  
>> between ucell
>> und void* is possible; I added (unsigned long) casts or reused the
>> cell2pointer/pointer2cell macros.
>
> Those should be merged with kernel/cross.h ones and used everywhere.

Any particular wishes how? Adding the include path for cross.h  
everywhere would have required to re-run switch-arch and rebuild  
everything, so I avoided it. Should the macros be moved into include/ 
kernel/stack.h alongside PUSH/POP maybe?

>> I also played with a new addr_t type as
>
> Please use the standard name intptr_t and remove the casts where  
> possible:
> -        unsigned char *dest = (unsigned char *)POP();
> +        unsigned char *dest = cell2pointer(POP());

Thanks for the suggestion!

Andreas


More information about the OpenBIOS mailing list