[OpenBIOS] [PATCH] Fix PowerPC build

Blue Swirl blauwirbel at gmail.com
Sat Feb 19 13:35:59 CET 2011


On Sat, Feb 19, 2011 at 2:13 PM, Andreas Färber <andreas.faerber at web.de> wrote:
> Am 19.02.2011 um 12:43 schrieb Aurelien Jarno:
>
>> Given openbios overrides <asm/types.h> with its own version, it should
>> provides at least the same types for the included kernel headers. This
>> fixes the following build failure:
>>
>> | HOSTCC host/kernel/bootstrap.o
>> | In file included from /usr/include/asm/ptrace.h:28,
>> |                  from /usr/include/asm/sigcontext.h:12,
>> |                  from /usr/include/bits/sigcontext.h:29,
>> |                  from /usr/include/signal.h:340,
>> |                  from ../kernel/bootstrap.c:14:
>> | /usr/include/linux/types.h:27: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__le16'
>> | /usr/include/linux/types.h:28: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__be16'
>> | /usr/include/linux/types.h:29: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__le32'
>> | /usr/include/linux/types.h:30: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__be32'
>> | /usr/include/linux/types.h:31: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__le64'
>> | /usr/include/linux/types.h:32: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__be64'
>> | /usr/include/linux/types.h:34: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__sum16'
>> | /usr/include/linux/types.h:35: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before '__wsum'
>> | In file included from /usr/include/asm/sigcontext.h:12,
>> |                  from /usr/include/bits/sigcontext.h:29,
>> |                  from /usr/include/signal.h:340,
>> |                  from ../kernel/bootstrap.c:14:
>> | /usr/include/asm/ptrace.h:201: error: expected specifier-qualifier-list
>> before '__u32'
>> | In file included from /usr/include/asm/sigcontext.h:12,
>> |                  from /usr/include/bits/sigcontext.h:29,
>> |                  from /usr/include/signal.h:340,
>> |                  from ../kernel/bootstrap.c:14:
>> | /usr/include/asm/ptrace.h:223: error: expected specifier-qualifier-list
>> before '__u32'
>> | make[1]: *** [host/kernel/bootstrap.o] Error 1
>>
>>
>> Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
>>
>> --- a/include/arch/ppc/types.h
>> +++ b/include/arch/ppc/types.h
>> @@ -75,4 +75,10 @@ typedef short                s16;
>> typedef int             s32;
>> typedef long long       s64;
>>
>> +/* Needed by kernel includes */
>> +typedef u8   __u8;
>> +typedef u16 __u16;
>> +typedef u32 __u32;
>> +typedef u64 __u64;
>> +
>> #endif
>
> Looks fine to me.
>
> Acked-by: Andreas Färber <andreas.faerber at web.de>
>
> Do you have commit rights here or should I apply it?

I think we should rather try to avoid same file names. We can't be
compatible with every userland header out there, including non-Linux
systems which may also have asm/types.h. So I'd rename the files or
the link 'asm'.

For standard libc stuff which we provide (printf, strcpy etc), the
opposite situation exists, since our libc headers are not used at the
same time as host's. The libc APIs should be compatible.



More information about the OpenBIOS mailing list