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 |
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>
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"}
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>
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 --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"}
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(-)