diff mbox series

[v2] Use long endian options for ppc64

Message ID 20220131091714.4825-1-mrezanin@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] Use long endian options for ppc64 | expand

Commit Message

Miroslav Rezanina Jan. 31, 2022, 9:17 a.m. UTC
GCC options pairs -mlittle/-mlittle-endian and -mbig/-mbig-endian are
equivalent on ppc64 architecture. However, Clang supports only long
version of the options.

Use longer form in configure to properly support both GCC and Clang
compiler. In addition, fix this issue in tcg test configure.

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>

---
This is v2 of configure: Use -mlittle-endian instead of -mlittle for ppc64.

v2:
 - handle both -mlittle and -mbig usage
 - fix tests/tcg/configure.sh
---
 configure              | 4 ++--
 tests/tcg/configure.sh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Feb. 1, 2022, midnight UTC | #1
On 31/1/22 10:17, Miroslav Rezanina wrote:
> GCC options pairs -mlittle/-mlittle-endian and -mbig/-mbig-endian are
> equivalent on ppc64 architecture. However, Clang supports only long
> version of the options.
> 
> Use longer form in configure to properly support both GCC and Clang
> compiler. In addition, fix this issue in tcg test configure.
> 
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> 
> ---
> This is v2 of configure: Use -mlittle-endian instead of -mlittle for ppc64.
> 
> v2:
>   - handle both -mlittle and -mbig usage
>   - fix tests/tcg/configure.sh
> ---
>   configure              | 4 ++--
>   tests/tcg/configure.sh | 4 ++--
>   2 files changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Greg Kurz Feb. 8, 2022, 1:47 p.m. UTC | #2
On Mon, 31 Jan 2022 10:17:14 +0100
Miroslav Rezanina <mrezanin@redhat.com> wrote:

> GCC options pairs -mlittle/-mlittle-endian and -mbig/-mbig-endian are
> equivalent on ppc64 architecture. However, Clang supports only long
> version of the options.
> 
> Use longer form in configure to properly support both GCC and Clang
> compiler. In addition, fix this issue in tcg test configure.
> 
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> 
> ---

Reviewed-by: Greg Kurz <groug@kaod.org>

> This is v2 of configure: Use -mlittle-endian instead of -mlittle for ppc64.
> 
> v2:
>  - handle both -mlittle and -mbig usage
>  - fix tests/tcg/configure.sh
> ---
>  configure              | 4 ++--
>  tests/tcg/configure.sh | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/configure b/configure
> index e6cfc0e4be..066fa29b70 100755
> --- a/configure
> +++ b/configure
> @@ -655,10 +655,10 @@ case "$cpu" in
>    ppc)
>      CPU_CFLAGS="-m32" ;;
>    ppc64)
> -    CPU_CFLAGS="-m64 -mbig" ;;
> +    CPU_CFLAGS="-m64 -mbig-endian" ;;
>    ppc64le)
>      cpu="ppc64"
> -    CPU_CFLAGS="-m64 -mlittle" ;;
> +    CPU_CFLAGS="-m64 -mlittle-endian" ;;
>  
>    s390)
>      CPU_CFLAGS="-m31" ;;
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index 309335a2bd..21959e1fde 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -64,9 +64,9 @@ fi
>  : ${cross_cc_ppc="powerpc-linux-gnu-gcc"}
>  : ${cross_cc_cflags_ppc="-m32"}
>  : ${cross_cc_ppc64="powerpc64-linux-gnu-gcc"}
> -: ${cross_cc_cflags_ppc64="-m64 -mbig"}
> +: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
>  : ${cross_cc_ppc64le="$cross_cc_ppc64"}
> -: ${cross_cc_cflags_ppc64le="-m64 -mlittle"}
> +: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
>  : ${cross_cc_riscv64="riscv64-linux-gnu-gcc"}
>  : ${cross_cc_s390x="s390x-linux-gnu-gcc"}
>  : ${cross_cc_sh4="sh4-linux-gnu-gcc"}
Matheus K. Ferst Feb. 8, 2022, 8:57 p.m. UTC | #3
On 31/01/2022 06:17, Miroslav Rezanina wrote:
> GCC options pairs -mlittle/-mlittle-endian and -mbig/-mbig-endian are
> equivalent on ppc64 architecture. However, Clang supports only long
> version of the options.
> 
> Use longer form in configure to properly support both GCC and Clang
> compiler. In addition, fix this issue in tcg test configure.
> 
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> 
> ---
> This is v2 of configure: Use -mlittle-endian instead of -mlittle for ppc64.
> 
> v2:
>   - handle both -mlittle and -mbig usage
>   - fix tests/tcg/configure.sh
> ---
>   configure              | 4 ++--
>   tests/tcg/configure.sh | 4 ++--
>   2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/configure b/configure
> index e6cfc0e4be..066fa29b70 100755
> --- a/configure
> +++ b/configure
> @@ -655,10 +655,10 @@ case "$cpu" in
>     ppc)
>       CPU_CFLAGS="-m32" ;;
>     ppc64)
> -    CPU_CFLAGS="-m64 -mbig" ;;
> +    CPU_CFLAGS="-m64 -mbig-endian" ;;
>     ppc64le)
>       cpu="ppc64"
> -    CPU_CFLAGS="-m64 -mlittle" ;;
> +    CPU_CFLAGS="-m64 -mlittle-endian" ;;
> 
>     s390)
>       CPU_CFLAGS="-m31" ;;
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index 309335a2bd..21959e1fde 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -64,9 +64,9 @@ fi
>   : ${cross_cc_ppc="powerpc-linux-gnu-gcc"}
>   : ${cross_cc_cflags_ppc="-m32"}
>   : ${cross_cc_ppc64="powerpc64-linux-gnu-gcc"}
> -: ${cross_cc_cflags_ppc64="-m64 -mbig"}
> +: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
>   : ${cross_cc_ppc64le="$cross_cc_ppc64"}
> -: ${cross_cc_cflags_ppc64le="-m64 -mlittle"}
> +: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
>   : ${cross_cc_riscv64="riscv64-linux-gnu-gcc"}
>   : ${cross_cc_s390x="s390x-linux-gnu-gcc"}
>   : ${cross_cc_sh4="sh4-linux-gnu-gcc"}
> --
> 2.34.1
> 
> 

The patch is fine, but some PPC tests are not compiling with Clang. I've 
sent an RFC about these issues: 
https://lists.gnu.org/archive/html/qemu-ppc/2022-02/msg00116.html

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>
Greg Kurz Feb. 9, 2022, 9:24 a.m. UTC | #4
On Tue, 8 Feb 2022 14:47:19 +0100
Greg Kurz <groug@kaod.org> wrote:

> On Mon, 31 Jan 2022 10:17:14 +0100
> Miroslav Rezanina <mrezanin@redhat.com> wrote:
> 
> > GCC options pairs -mlittle/-mlittle-endian and -mbig/-mbig-endian are
> > equivalent on ppc64 architecture. However, Clang supports only long
> > version of the options.
> > 
> > Use longer form in configure to properly support both GCC and Clang
> > compiler. In addition, fix this issue in tcg test configure.
> > 
> > Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> > 
> > ---
> 
> Reviewed-by: Greg Kurz <groug@kaod.org>
> 

Cc'ing QEMU PPC folks since they're likely the primary users
of ppc64 hosts.

> > This is v2 of configure: Use -mlittle-endian instead of -mlittle for ppc64.
> > 
> > v2:
> >  - handle both -mlittle and -mbig usage
> >  - fix tests/tcg/configure.sh
> > ---
> >  configure              | 4 ++--
> >  tests/tcg/configure.sh | 4 ++--
> >  2 files changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/configure b/configure
> > index e6cfc0e4be..066fa29b70 100755
> > --- a/configure
> > +++ b/configure
> > @@ -655,10 +655,10 @@ case "$cpu" in
> >    ppc)
> >      CPU_CFLAGS="-m32" ;;
> >    ppc64)
> > -    CPU_CFLAGS="-m64 -mbig" ;;
> > +    CPU_CFLAGS="-m64 -mbig-endian" ;;
> >    ppc64le)
> >      cpu="ppc64"
> > -    CPU_CFLAGS="-m64 -mlittle" ;;
> > +    CPU_CFLAGS="-m64 -mlittle-endian" ;;
> >  
> >    s390)
> >      CPU_CFLAGS="-m31" ;;
> > diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> > index 309335a2bd..21959e1fde 100755
> > --- a/tests/tcg/configure.sh
> > +++ b/tests/tcg/configure.sh
> > @@ -64,9 +64,9 @@ fi
> >  : ${cross_cc_ppc="powerpc-linux-gnu-gcc"}
> >  : ${cross_cc_cflags_ppc="-m32"}
> >  : ${cross_cc_ppc64="powerpc64-linux-gnu-gcc"}
> > -: ${cross_cc_cflags_ppc64="-m64 -mbig"}
> > +: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
> >  : ${cross_cc_ppc64le="$cross_cc_ppc64"}
> > -: ${cross_cc_cflags_ppc64le="-m64 -mlittle"}
> > +: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
> >  : ${cross_cc_riscv64="riscv64-linux-gnu-gcc"}
> >  : ${cross_cc_s390x="s390x-linux-gnu-gcc"}
> >  : ${cross_cc_sh4="sh4-linux-gnu-gcc"}
>
diff mbox series

Patch

diff --git a/configure b/configure
index e6cfc0e4be..066fa29b70 100755
--- a/configure
+++ b/configure
@@ -655,10 +655,10 @@  case "$cpu" in
   ppc)
     CPU_CFLAGS="-m32" ;;
   ppc64)
-    CPU_CFLAGS="-m64 -mbig" ;;
+    CPU_CFLAGS="-m64 -mbig-endian" ;;
   ppc64le)
     cpu="ppc64"
-    CPU_CFLAGS="-m64 -mlittle" ;;
+    CPU_CFLAGS="-m64 -mlittle-endian" ;;
 
   s390)
     CPU_CFLAGS="-m31" ;;
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index 309335a2bd..21959e1fde 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -64,9 +64,9 @@  fi
 : ${cross_cc_ppc="powerpc-linux-gnu-gcc"}
 : ${cross_cc_cflags_ppc="-m32"}
 : ${cross_cc_ppc64="powerpc64-linux-gnu-gcc"}
-: ${cross_cc_cflags_ppc64="-m64 -mbig"}
+: ${cross_cc_cflags_ppc64="-m64 -mbig-endian"}
 : ${cross_cc_ppc64le="$cross_cc_ppc64"}
-: ${cross_cc_cflags_ppc64le="-m64 -mlittle"}
+: ${cross_cc_cflags_ppc64le="-m64 -mlittle-endian"}
 : ${cross_cc_riscv64="riscv64-linux-gnu-gcc"}
 : ${cross_cc_s390x="s390x-linux-gnu-gcc"}
 : ${cross_cc_sh4="sh4-linux-gnu-gcc"}