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