@@ -284,7 +284,6 @@ libs_softmmu=""
libs_tools=""
audio_pt_int=""
audio_win_int=""
-cc_i386=i386-pc-linux-gnu-gcc
libs_qga=""
debug_info="yes"
stack_protector=""
@@ -457,6 +456,8 @@ docker="no"
cross_cc_aarch64="aarch64-linux-gnu-gcc"
cross_cc_arm="arm-linux-gnueabihf-gcc"
cross_cc_powerpc="powerpc-linux-gnu-gcc"
+cross_cc_i386="i386-pc-linux-gnu-gcc"
+cross_cc_cflags_i386=""
enabled_cross_compilers=""
@@ -687,12 +688,10 @@ case "$cpu" in
i386|i486|i586|i686|i86pc|BePC)
cpu="i386"
supported_cpu="yes"
- cross_cc_i386=gcc
;;
x86_64|amd64)
cpu="x86_64"
supported_cpu="yes"
- cross_cc_x86_64=gcc
;;
armv*b|armv*l|arm)
cpu="arm"
@@ -1435,7 +1434,6 @@ case "$cpu" in
i386)
CPU_CFLAGS="-m32"
LDFLAGS="-m32 $LDFLAGS"
- cc_i386='$(CC) -m32'
;;
x86_64)
# ??? Only extremely old AMD cpus do not have cmpxchg16b.
@@ -1443,12 +1441,14 @@ case "$cpu" in
# runtime and generate the fallback to serial emulation.
CPU_CFLAGS="-m64 -mcx16"
LDFLAGS="-m64 $LDFLAGS"
- cc_i386='$(CC) -m32'
+ cross_cc_x86_64=$cc
+ cross_cc_cflags_x86_64=$CPU_CFLAGS
;;
x32)
CPU_CFLAGS="-mx32"
LDFLAGS="-mx32 $LDFLAGS"
- cc_i386='$(CC) -m32'
+ cross_cc_i386=$cc
+ cross_cc_cflags_i386="-m32"
;;
# No special flags required for other host CPUs
esac
@@ -6675,7 +6675,6 @@ echo "CC=$cc" >> $config_host_mak
if $iasl -h > /dev/null 2>&1; then
echo "IASL=$iasl" >> $config_host_mak
fi
-echo "CC_I386=$cc_i386" >> $config_host_mak
echo "HOST_CC=$host_cc" >> $config_host_mak
echo "CXX=$cxx" >> $config_host_mak
echo "OBJCC=$objcc" >> $config_host_mak
@@ -6794,6 +6793,7 @@ case "$target" in
esac
target_compiler=""
+target_compiler_cflags=""
mkdir -p $target_dir
echo "# Automatically generated by configure - do not modify" > $config_target_mak
@@ -6810,10 +6810,13 @@ TARGET_ABI_DIR=""
case "$target_name" in
i386)
gdb_xml_files="i386-32bit.xml i386-32bit-core.xml i386-32bit-sse.xml"
+ target_compiler=$cross_cc_i386
+ target_compiler_cflags=$cross_cc_cflags_i386
;;
x86_64)
TARGET_BASE_ARCH=i386
gdb_xml_files="i386-64bit.xml i386-64bit-core.xml i386-64bit-sse.xml"
+ target_compiler=$cross_cc_x86_64
;;
alpha)
mttcg="yes"
@@ -6958,7 +6961,7 @@ int main(void) {
}
EOF
- if ! do_compiler $target_compiler -o $TMPE $TMPC -static ; then
+ if ! do_compiler $target_compiler $target_compiler_cflags -o $TMPE $TMPC -static ; then
target_compiler=""
else
enabled_cross_compilers="${enabled_cross_compilers} ${target_compiler}"
@@ -7042,8 +7045,13 @@ fi
if test -n "$target_compiler"; then
echo "CROSS_CC_GUEST=$target_compiler" >> $config_target_mak
+
+ if test -n "$target_compiler_cflags"; then
+ echo "CROSS_CC_GUEST_CFLAGS=$target_compiler_cflags" >> $config_target_mak
+ fi
fi
+
# generate QEMU_CFLAGS/LDFLAGS for targets
cflags=""