qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: peter.maydell@linaro.org, cota@braap.org, famz@redhat.com,
	berrange@redhat.com, f4bug@amsat.org,
	richard.henderson@linaro.org, balrogg@gmail.com,
	aurelien@aurel32.net, agraf@suse.de
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Subject: [Qemu-devel] [PATCH v2 04/43] configure: move i386_cc to cross_cc_i386
Date: Thu, 19 Apr 2018 14:58:22 +0100	[thread overview]
Message-ID: <20180419135901.30035-5-alex.bennee@linaro.org> (raw)
In-Reply-To: <20180419135901.30035-1-alex.bennee@linaro.org>

Also dont assume x86_64 compiler can build i386 binaries.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

---
v2
  - drop using system x86_64 compiler for i386 compiles
---
 configure | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/configure b/configure
index 0dca341f2a..038fb9db7b 100755
--- a/configure
+++ b/configure
@@ -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=""
-- 
2.17.0

  parent reply	other threads:[~2018-04-19 13:59 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-19 13:58 [Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 01/43] docker: add "probe" command for configure Alex Bennée
2018-04-20  2:08   ` Fam Zheng
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 02/43] configure: add test for docker availability Alex Bennée
2018-04-19 20:49   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 03/43] configure: add support for --cross-cc-FOO Alex Bennée
2018-04-19 20:20   ` Richard Henderson
2018-04-19 20:41   ` Richard Henderson
2018-04-19 20:47     ` Richard Henderson
2018-04-19 21:36       ` Eric Blake
2018-04-19 21:41   ` Eric Blake
2018-04-19 13:58 ` Alex Bennée [this message]
2018-04-19 20:59   ` [Qemu-devel] [PATCH v2 04/43] configure: move i386_cc to cross_cc_i386 Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 05/43] configure: allow user to specify --cross-cc-cflags-foo= Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 06/43] configure: set cross_cc_FOO for host compiler Alex Bennée
2018-04-19 21:04   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 07/43] Makefile: Rename TARGET_DIRS to TARGET_LIST Alex Bennée
2018-04-19 21:05   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 08/43] docker: Add "cc" subcommand Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 09/43] docker: extend "cc" command to accept compiler Alex Bennée
2018-04-20  2:06   ` Fam Zheng
2018-04-20  2:43   ` Philippe Mathieu-Daudé
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 10/43] docker: allow "cc" command to run in user context Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 11/43] docker: Makefile.include introduce DOCKER_SCRIPT Alex Bennée
2018-04-19 21:08   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 12/43] tests/tcg: move architecture independent tests into subdir Alex Bennée
2018-04-19 21:20   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 13/43] tests/tcg/multiarch: Build fix for linux-test Alex Bennée
2018-04-19 21:20   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 14/43] tests/tcg/multiarch: enable additional linux-test tests Alex Bennée
2018-04-19 21:22   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 15/43] tests/tcg: move i386 specific tests into subdir Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 16/43] docker: Add fedora-i386-cross image Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 17/43] tests/tcg: enable building for i386 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 18/43] tests/tcg/i386: Build fix for hello-i386 Alex Bennée
2018-04-19 21:25   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 19/43] tests/tcg/i386: fix test-i386 Alex Bennée
2018-04-19 21:26   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 20/43] tests/tcg/i386: fix test-i386-fprem Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 21/43] tests/tcg/i386: disable i386 version of test-i386-ssse Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 22/43] tests/tcg/x86_64: add Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 23/43] tests/tcg/i386/test-i386: use modern vector_size attributes Alex Bennée
2018-04-19 21:27   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 24/43] tests/tcg/i386/test-i386: fix printf format Alex Bennée
2018-04-19 21:28   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 25/43] tests/tcg: move ARM specific tests into subdir Alex Bennée
2018-04-19 21:29   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 26/43] tests/tcg/arm: fix up test-arm-iwmmxt test Alex Bennée
2018-04-19 21:32   ` Richard Henderson
2018-04-20  8:18     ` Alex Bennée
2018-04-20 21:16       ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 27/43] tests/tcg/aarch64: add Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 28/43] tests/tcg/aarch64: add fcvt test cases for AArch64 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 29/43] tests/tcg/aarch64: userspace system register test Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 30/43] tests/tcg: move MIPS specific tests into subdir Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 31/43] tests/tcg: enable building for MIPS Alex Bennée
2018-04-19 17:05   ` Philippe Mathieu-Daudé
2018-04-19 17:49     ` Alex Bennée
2018-04-19 17:58       ` Peter Maydell
2018-04-20  2:57         ` Philippe Mathieu-Daudé
2018-04-20  3:08           ` Fam Zheng
2018-04-20  8:29           ` Alex Bennée
2018-04-20  9:29           ` Alex Bennée
2018-04-20 11:00           ` Peter Maydell
2018-04-20 11:57             ` Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 32/43] tests/tcg/mips: include common mips hello-mips Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 33/43] tests/tcg: enable building for s390x Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 34/43] tests/tcg: enable building for ppc64 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 35/43] tests/tcg/Makefile: update to be called from Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 36/43] Makefile.target: add (clean-)guest-tests targets Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 37/43] tests/Makefile.include: add (clean-)check-tcg targets Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 38/43] osdep: disable glib-compat.h include with QEMU_NO_GLIB Alex Bennée
2018-04-19 21:41   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 39/43] softfloat: do not include glib headers Alex Bennée
2018-04-19 21:41   ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 40/43] tests: add fp-test, a floating point test suite Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 41/43] tests/tcg/multiarch: add fp-test into multiarch set Alex Bennée
2018-04-19 13:59 ` [Qemu-devel] [PATCH v2 42/43] tests/tcg: disable fp-test for 32 bit (HACK!) Alex Bennée
2018-04-19 22:02   ` Richard Henderson
2018-04-20  6:43     ` Alex Bennée
2018-04-19 13:59 ` [Qemu-devel] [PATCH v2 43/43] tests: fp-test add fcvt support (!INCOMPLETE WIP) Alex Bennée
2018-04-19 14:52 ` [Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg no-reply
2018-04-19 15:02 ` no-reply
2018-04-20  0:12 ` Richard Henderson
2018-04-20  2:32   ` Philippe Mathieu-Daudé
2018-04-20  6:42   ` Alex Bennée
2018-04-20 19:05     ` Emilio G. Cota
2018-04-20 22:02     ` Richard Henderson
2018-04-20  2:10 ` Fam Zheng
2018-04-20  3:41 ` Max Filippov
2018-04-22 20:22 ` Richard Henderson
2018-04-23 12:53   ` Alex Bennée
2018-04-23 14:26     ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180419135901.30035-5-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=agraf@suse.de \
    --cc=aurelien@aurel32.net \
    --cc=balrogg@gmail.com \
    --cc=berrange@redhat.com \
    --cc=cota@braap.org \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).