configure, pc-bios/vof: pass cross CFLAGS correctly
Use the flags passed to the configure script for the ppc cross compiler, which in fact default to those that are needed to get the 32-bit ISA. Add the endianness flag so that it remains possible to use a ppc64le compiler to compile VOF. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
75b2447943
commit
d44f2f96f7
13
configure
vendored
13
configure
vendored
@ -1858,7 +1858,7 @@ fi
|
|||||||
: ${cross_cc_hexagon="hexagon-unknown-linux-musl-clang"}
|
: ${cross_cc_hexagon="hexagon-unknown-linux-musl-clang"}
|
||||||
: ${cross_cc_cflags_hexagon="-mv67 -O2 -static"}
|
: ${cross_cc_cflags_hexagon="-mv67 -O2 -static"}
|
||||||
: ${cross_cc_cflags_i386="-m32"}
|
: ${cross_cc_cflags_i386="-m32"}
|
||||||
: ${cross_cc_cflags_ppc="-m32"}
|
: ${cross_cc_cflags_ppc="-m32 -mbig-endian"}
|
||||||
: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
|
: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
|
||||||
: ${cross_cc_ppc64le="$cross_cc_ppc64"}
|
: ${cross_cc_ppc64le="$cross_cc_ppc64"}
|
||||||
: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
|
: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
|
||||||
@ -2059,6 +2059,7 @@ probe_target_compiler() {
|
|||||||
compute_target_variable $1 target_strip strip
|
compute_target_variable $1 target_strip strip
|
||||||
case "$1:$cpu" in
|
case "$1:$cpu" in
|
||||||
i386:x86_64 | \
|
i386:x86_64 | \
|
||||||
|
ppc*:ppc64 | \
|
||||||
"$cpu:$cpu")
|
"$cpu:$cpu")
|
||||||
: ${target_cc:=$cc}
|
: ${target_cc:=$cc}
|
||||||
: ${target_ccas:=$ccas}
|
: ${target_ccas:=$ccas}
|
||||||
@ -2084,13 +2085,6 @@ probe_target_compiler() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
probe_target_compilers() {
|
|
||||||
for i; do
|
|
||||||
probe_target_compiler $i
|
|
||||||
test -n "$target_cc" && return 0
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
write_target_makefile() {
|
write_target_makefile() {
|
||||||
if test -n "$target_cc"; then
|
if test -n "$target_cc"; then
|
||||||
echo "CC=$target_cc"
|
echo "CC=$target_cc"
|
||||||
@ -2265,12 +2259,13 @@ if test -n "$target_cc" &&
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
probe_target_compilers ppc ppc64
|
probe_target_compiler ppc
|
||||||
if test -n "$target_cc" && test "$softmmu" = yes; then
|
if test -n "$target_cc" && test "$softmmu" = yes; then
|
||||||
roms="$roms pc-bios/vof"
|
roms="$roms pc-bios/vof"
|
||||||
config_mak=pc-bios/vof/config.mak
|
config_mak=pc-bios/vof/config.mak
|
||||||
echo "# Automatically generated by configure - do not modify" > $config_mak
|
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||||
echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
|
echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
|
||||||
|
echo "EXTRA_CFLAGS=$target_cflags" >> $config_mak
|
||||||
write_target_makefile >> $config_mak
|
write_target_makefile >> $config_mak
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -2,15 +2,13 @@ include config.mak
|
|||||||
VPATH=$(SRC_DIR)
|
VPATH=$(SRC_DIR)
|
||||||
all: vof.bin
|
all: vof.bin
|
||||||
|
|
||||||
CC ?= $(CROSS)gcc
|
EXTRA_CFLAGS += -mcpu=power4
|
||||||
LD ?= $(CROSS)ld
|
|
||||||
OBJCOPY ?= $(CROSS)objcopy
|
|
||||||
|
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
$(CC) -m32 -mbig-endian -mcpu=power4 -c -o $@ $<
|
$(CC) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) -m32 -mbig-endian -mcpu=power4 -c -fno-stack-protector -o $@ $<
|
$(CC) $(EXTRA_CFLAGS) -c -fno-stack-protector -o $@ $<
|
||||||
|
|
||||||
vof.elf: entry.o main.o ci.o bootmem.o libc.o
|
vof.elf: entry.o main.o ci.o bootmem.o libc.o
|
||||||
$(LD) -nostdlib -e_start -T$(SRC_DIR)/vof.lds -EB -o $@ $^
|
$(LD) -nostdlib -e_start -T$(SRC_DIR)/vof.lds -EB -o $@ $^
|
||||||
|
Loading…
Reference in New Issue
Block a user