[PATCH 0/6] Fix support for biarch compilers and cross cflags

Paolo Bonzini posted 6 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220621075147.36297-1-pbonzini@redhat.com
Maintainers: Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Alexey Kardashevskiy <aik@ozlabs.ru>, "Cédric Le Goater" <clg@kaod.org>, Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>
configure                     | 50 ++++++++++++++++++-----------------
pc-bios/optionrom/Makefile    | 15 +----------
pc-bios/optionrom/code16gcc.h |  3 ---
pc-bios/s390-ccw/Makefile     | 20 +++++++-------
pc-bios/s390-ccw/netboot.mak  |  6 ++---
pc-bios/vof/Makefile          |  8 +++---
6 files changed, 43 insertions(+), 59 deletions(-)
delete mode 100644 pc-bios/optionrom/code16gcc.h
[PATCH 0/6] Fix support for biarch compilers and cross cflags
Posted by Paolo Bonzini 1 year, 10 months ago
This series fixes two bugs with configure's cross compilation detection:

- first, --cross-cflags is not obeyed by pc-bios/ compilation

- second, on a ppc64le machine, the host compiler can be used for ppc64
  tests/tcg; however, this is not being done because $cpu does not
  match the target.  Likewise, on an x86_64 machine the host compiler
  can be used to build both i386 tests/tcg and pc-bios/optionrom, but
  the special casing done by the configure script only covers the latter.

The two are related because, if only the first was fixed, pc-bios/optionrom
would use either the i386 or the x86_64 cflags depending on which cross
compiler was found.  So patches 2-4 tackle not just the cross CFLAGS
problem with pc-bios, but also the biarch compiler problem with i386
and ppc.  Patch 5 then covers the other biarch compilers.

The other two patches are just cleanups.

Supersedes: <20220607094031.1227714-1-pbonzini@redhat.com>

Paolo Bonzini (6):
  pc-bios/optionrom: use -m16 unconditionally
  configure, pc-bios/optionrom: pass cross CFLAGS correctly
  configure, pc-bios/s390-ccw: pass cross CFLAGS correctly
  configure, pc-bios/vof: pass cross CFLAGS correctly
  configure: allow more host/target combos to use the host compiler
  configure: write EXTRA_CFLAGS for all sub-Makefiles

 configure                     | 50 ++++++++++++++++++-----------------
 pc-bios/optionrom/Makefile    | 15 +----------
 pc-bios/optionrom/code16gcc.h |  3 ---
 pc-bios/s390-ccw/Makefile     | 20 +++++++-------
 pc-bios/s390-ccw/netboot.mak  |  6 ++---
 pc-bios/vof/Makefile          |  8 +++---
 6 files changed, 43 insertions(+), 59 deletions(-)
 delete mode 100644 pc-bios/optionrom/code16gcc.h

-- 
2.36.1
Re: [PATCH 0/6] Fix support for biarch compilers and cross cflags
Posted by Matheus Kowalczuk Ferst 1 year, 10 months ago
On 21/06/2022 04:51, Paolo Bonzini wrote:
> This series fixes two bugs with configure's cross compilation detection:
> 
> - first, --cross-cflags is not obeyed by pc-bios/ compilation
> 
> - second, on a ppc64le machine, the host compiler can be used for ppc64
>    tests/tcg;

That may be true for the compiler, but the complete toolchain is usually 
single endian. For instance, Debian/Ubuntu, Fedora, and FreeBSD lack 
libc and crt*.o for the foreign endianness. So we'd be able to build 
ppc64-softmmu tests (which are not upstream yet) but not 
ppc64-linux-user in ppc64le hosts.

> however, this is not being done because $cpu does not
>    match the target.  Likewise, on an x86_64 machine the host compiler
>    can be used to build both i386 tests/tcg and pc-bios/optionrom, but
>    the special casing done by the configure script only covers the latter.
> 
> The two are related because, if only the first was fixed, pc-bios/optionrom
> would use either the i386 or the x86_64 cflags depending on which cross
> compiler was found.  So patches 2-4 tackle not just the cross CFLAGS
> problem with pc-bios, but also the biarch compiler problem with i386
> and ppc.  Patch 5 then covers the other biarch compilers.
> 
> The other two patches are just cleanups.
> 
> Supersedes: <20220607094031.1227714-1-pbonzini@redhat.com>
> 
> Paolo Bonzini (6):
>    pc-bios/optionrom: use -m16 unconditionally
>    configure, pc-bios/optionrom: pass cross CFLAGS correctly
>    configure, pc-bios/s390-ccw: pass cross CFLAGS correctly
>    configure, pc-bios/vof: pass cross CFLAGS correctly
>    configure: allow more host/target combos to use the host compiler
>    configure: write EXTRA_CFLAGS for all sub-Makefiles
> 
>   configure                     | 50 ++++++++++++++++++-----------------
>   pc-bios/optionrom/Makefile    | 15 +----------
>   pc-bios/optionrom/code16gcc.h |  3 ---
>   pc-bios/s390-ccw/Makefile     | 20 +++++++-------
>   pc-bios/s390-ccw/netboot.mak  |  6 ++---
>   pc-bios/vof/Makefile          |  8 +++---
>   6 files changed, 43 insertions(+), 59 deletions(-)
>   delete mode 100644 pc-bios/optionrom/code16gcc.h
> 
> --
> 2.36.1
> 
> 


Thanks,
Matheus K. Ferst
Instituto de Pesquisas ELDORADO <http://www.eldorado.org.br/>
Analista de Software
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>