[OpenBIOS] openbios cross compile fails with gcc 5.2

Laurent Vivier laurent at vivier.eu
Sat Nov 21 16:14:42 CET 2015



Le 21/11/2015 13:46, Mark Cave-Ayland a écrit :
> On 21/11/15 02:03, Cole Robinson wrote:
> 
>> Hi all,
>>
>> openbios fails to build with gcc 5.2 cross compilers. This is using fedora 23
>> packages. There's a bug here with complete info:
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1282890
>>
>>
>> The error is:
>>
>> powerpc64-linux-gnu-gcc $EXTRACFLAGS -m32 -msoft-float -fno-builtin-bcopy
>> -fno-builtin-log2 -Os -g -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH
>> -USWAP_ENDIANNESS -Wall -Wredundant-decls -Wshadow -Wpointer-arith
>> -Wstrict-prototypes -Wmissing-declarations -Wundef -Wendif-labels
>> -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes -Wnested-externs
>> -Werror -MMD -MP -MT target/arch/ppc/qemu/ofmem.o -MF
>> 'target/arch/ppc/qemu/ofmem.d' -I/root/openbios/openbios-1.1/include
>> -I/root/openbios/openbios-1.1/kernel/include -I./target/include -c -o
>> target/arch/ppc/qemu/ofmem.o /root/openbios/openbios-1.1/arch/ppc/qemu/ofmem.c
>> /tmp/ccznzzOd.s: Assembler messages:
>> /tmp/ccznzzOd.s:551: Error: missing operand
>> rules.mak:309: recipe for target 'target/arch/ppc/qemu/ofmem.o' failed
>> make[1]: *** [target/arch/ppc/qemu/ofmem.o] Error 1
>> make[1]: *** Waiting for unfinished jobs....
>> make[1]: Leaving directory '/root/openbios/openbios-1.1/obj-ppc'
>> Makefile:32: recipe for target 'subdir-ppc' failed
>> make: *** [subdir-ppc] Error 2
>> error: Bad exit status from /var/tmp/rpm-tmp.DSB86j (%build)
>>
>>
>> David Howells' commented in the bug with a suggested fix... but I don't even
>> have a setup to test openbios so I'd prefer if someone else cooks up the patch :)
> 
> My understanding is that the earliest CPU we need to be supporting for
> PPC is the 750 (which should be POWER7 series) although there was

I think 750 (G3) is POWER2, 970 (G5) is POWER4

> interest in using OpenBIOS for PReP which I believe is a 604?
> 
> Hervé/Laurent in particular - any further thoughts on this?

by default gcc-5.1 produces POWER4 assembler (".machine power4").

If we target 750, we should use "-mcpu=G3". it generates a ".machine
ppc", whereas "-mcpu=G5" generates ".machine power4".

I'm going to reproduce the problem and propose a fix.

Laurent



More information about the OpenBIOS mailing list