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@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