[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/18] configure, pc-bios/optionrom: pass cross CFLAGS correctly
From: |
Paolo Bonzini |
Subject: |
[PULL 04/18] configure, pc-bios/optionrom: pass cross CFLAGS correctly |
Date: |
Tue, 12 Jul 2022 14:49:42 +0200 |
The optionrom build is disregarding the flags passed to the configure
script via --cross-cflags-i386. Pass it down and add it to the Makefile.
This will make it possible to get the -m32 flag from $target_cflags to
force a 32-bit build on 64-bit hosts, instead of supplying manually the
arcane -Wa,-32 and linker emulation options.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 32 ++++++++++++++++++--------------
pc-bios/optionrom/Makefile | 2 +-
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/configure b/configure
index 76728b31f7..3d00b361d7 100755
--- a/configure
+++ b/configure
@@ -2057,19 +2057,22 @@ probe_target_compiler() {
compute_target_variable $1 target_objcopy objcopy
compute_target_variable $1 target_ranlib ranlib
compute_target_variable $1 target_strip strip
- if test "$1" = $cpu; then
- : ${target_cc:=$cc}
- : ${target_ccas:=$ccas}
- : ${target_as:=$as}
- : ${target_ld:=$ld}
- : ${target_ar:=$ar}
- : ${target_as:=$as}
- : ${target_ld:=$ld}
- : ${target_nm:=$nm}
- : ${target_objcopy:=$objcopy}
- : ${target_ranlib:=$ranlib}
- : ${target_strip:=$strip}
- fi
+ case "$1:$cpu" in
+ i386:x86_64 | \
+ "$cpu:$cpu")
+ : ${target_cc:=$cc}
+ : ${target_ccas:=$ccas}
+ : ${target_as:=$as}
+ : ${target_ld:=$ld}
+ : ${target_ar:=$ar}
+ : ${target_as:=$as}
+ : ${target_ld:=$ld}
+ : ${target_nm:=$nm}
+ : ${target_objcopy:=$objcopy}
+ : ${target_ranlib:=$ranlib}
+ : ${target_strip:=$strip}
+ ;;
+ esac
if test -n "$target_cc"; then
case $1 in
i386|x86_64)
@@ -2238,7 +2241,7 @@ done
# Mac OS X ships with a broken assembler
roms=
-probe_target_compilers i386 x86_64
+probe_target_compiler i386
if test -n "$target_cc" &&
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
test "$targetos" != "haiku" && test "$softmmu" = yes ; then
@@ -2257,6 +2260,7 @@ if test -n "$target_cc" &&
echo "# Automatically generated by configure - do not modify" >
$config_mak
echo "TOPSRC_DIR=$source_path" >> $config_mak
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_mak
+ echo "EXTRA_CFLAGS=$target_cflags" >> $config_mak
write_target_makefile >> $config_mak
fi
fi
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index ea89ce9d59..e90ca2e1c6 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -11,7 +11,7 @@ CFLAGS = -O2 -g
quiet-command = $(if $(V),$1,$(if $(2),@printf " %-7s %s\n" $2 $3 && $1, @$1))
cc-option = $(if $(shell $(CC) $1 -c -o /dev/null -xc /dev/null >/dev/null
2>&1 && echo OK), $1, $2)
-override CFLAGS += -march=i486 -Wall -m16
+override CFLAGS += -march=i486 -Wall $(EXTRA_CFLAGS) -m16
# If -fcf-protection is enabled in flags or compiler defaults that will
# conflict with -march=i486
--
2.36.1
- [PULL 01/18] tests/vm: do not specify -bios option, (continued)
- [PULL 01/18] tests/vm: do not specify -bios option, Paolo Bonzini, 2022/07/12
- [PULL 02/18] scsi/lsi53c895a: fix use-after-free in lsi_do_msgout (CVE-2022-0216), Paolo Bonzini, 2022/07/12
- [PULL 07/18] configure: allow more host/target combos to use the host compiler, Paolo Bonzini, 2022/07/12
- [PULL 05/18] configure, pc-bios/s390-ccw: pass cross CFLAGS correctly, Paolo Bonzini, 2022/07/12
- [PULL 03/18] pc-bios/optionrom: use -m16 unconditionally, Paolo Bonzini, 2022/07/12
- [PULL 12/18] build: improve -fsanitize-coverage-allowlist check, Paolo Bonzini, 2022/07/12
- [PULL 14/18] audio/dbus: fix building, Paolo Bonzini, 2022/07/12
- [PULL 10/18] configure: pass whole target name to probe_target_compiler, Paolo Bonzini, 2022/07/12
- [PULL 09/18] tests/tcg: compile system emulation tests as freestanding, Paolo Bonzini, 2022/07/12
- [PULL 04/18] configure, pc-bios/optionrom: pass cross CFLAGS correctly,
Paolo Bonzini <=
- [PULL 16/18] build: Do not depend on pc-bios for config-host.mak, Paolo Bonzini, 2022/07/12
- [PULL 15/18] accel: kvm: Fix memory leak in find_stats_descriptors, Paolo Bonzini, 2022/07/12
- [PULL 06/18] configure, pc-bios/vof: pass cross CFLAGS correctly, Paolo Bonzini, 2022/07/12
- [PULL 17/18] qga: Relocate a path emitted in the help text, Paolo Bonzini, 2022/07/12
- [PULL 18/18] meson: place default firmware path under .../share, Paolo Bonzini, 2022/07/12
- [PULL 11/18] build: try both native and cross compilers, Paolo Bonzini, 2022/07/12
- [PULL 08/18] configure: write EXTRA_CFLAGS for all sub-Makefiles, Paolo Bonzini, 2022/07/12
- [PULL 13/18] fuzz: only use generic-fuzz targets on oss-fuzz, Paolo Bonzini, 2022/07/12
- Re: [PULL 00/18] Misc patches for 2022-07-12, Peter Maydell, 2022/07/12