diff mbox series

configure: Fix building on a ppc64 host with Clang

Message ID 20220301132754.1483837-1-thuth@redhat.com
State Superseded
Headers show
Series configure: Fix building on a ppc64 host with Clang | expand

Commit Message

Thomas Huth March 1, 2022, 1:27 p.m. UTC
Clang only supports the -mlittle-endian and -mbig-endian switches,
and not -mlittle / -mbig. Since GCC supports both, let's use the
long versions that are supported by both instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Philippe Mathieu-Daudé March 1, 2022, 2:59 p.m. UTC | #1
On 1/3/22 14:27, Thomas Huth wrote:
> Clang only supports the -mlittle-endian and -mbig-endian switches,
> and not -mlittle / -mbig. Since GCC supports both, let's use the
> long versions that are supported by both instead.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   configure | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index c56ed53ee3..81618708e4 100755
> --- a/configure
> +++ b/configure
> @@ -630,10 +630,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" ;;

Mirek sent a similar fix, but it was pending Matheus TCG fixes:

https://lore.kernel.org/qemu-devel/20220131091714.4825-1-mrezanin@redhat.com/
https://lists.gnu.org/archive/html/qemu-ppc/2022-02/msg00116.html
Cédric Le Goater March 1, 2022, 5:22 p.m. UTC | #2
On 3/1/22 15:59, Philippe Mathieu-Daudé wrote:
> On 1/3/22 14:27, Thomas Huth wrote:
>> Clang only supports the -mlittle-endian and -mbig-endian switches,
>> and not -mlittle / -mbig. Since GCC supports both, let's use the
>> long versions that are supported by both instead.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   configure | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure b/configure
>> index c56ed53ee3..81618708e4 100755
>> --- a/configure
>> +++ b/configure
>> @@ -630,10 +630,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" ;;
> 
> Mirek sent a similar fix, but it was pending Matheus TCG fixes:
> 
> https://lore.kernel.org/qemu-devel/20220131091714.4825-1-mrezanin@redhat.com/
> https://lists.gnu.org/archive/html/qemu-ppc/2022-02/msg00116.html

Yes.

I kept it for later because I understood there were still problems
with clang. May be I am wrong. Matheus ?

Thanks,

C.
Thomas Huth March 1, 2022, 5:25 p.m. UTC | #3
On 01/03/2022 18.22, Cédric Le Goater wrote:
> On 3/1/22 15:59, Philippe Mathieu-Daudé wrote:
>> On 1/3/22 14:27, Thomas Huth wrote:
>>> Clang only supports the -mlittle-endian and -mbig-endian switches,
>>> and not -mlittle / -mbig. Since GCC supports both, let's use the
>>> long versions that are supported by both instead.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   configure | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index c56ed53ee3..81618708e4 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -630,10 +630,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" ;;
>>
>> Mirek sent a similar fix, but it was pending Matheus TCG fixes:
>>
>> https://lore.kernel.org/qemu-devel/20220131091714.4825-1-mrezanin@redhat.com/
>> https://lists.gnu.org/archive/html/qemu-ppc/2022-02/msg00116.html
> 
> Yes.
> 
> I kept it for later because I understood there were still problems
> with clang. May be I am wrong. Matheus ?

As far as I can see, there are some additional problems with the TCG tests, 
but the patch to the configure script is already required if the user only 
want to compile the main QEMU binaries. So I'd recommend to go ahead and 
queue Miroslav's patch already, the TCG tests can still be fixed on top later.

  Thomas
Cédric Le Goater March 1, 2022, 5:41 p.m. UTC | #4
On 3/1/22 18:25, Thomas Huth wrote:
> On 01/03/2022 18.22, Cédric Le Goater wrote:
>> On 3/1/22 15:59, Philippe Mathieu-Daudé wrote:
>>> On 1/3/22 14:27, Thomas Huth wrote:
>>>> Clang only supports the -mlittle-endian and -mbig-endian switches,
>>>> and not -mlittle / -mbig. Since GCC supports both, let's use the
>>>> long versions that are supported by both instead.
>>>>
>>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>>> ---
>>>>   configure | 4 ++--
>>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index c56ed53ee3..81618708e4 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -630,10 +630,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" ;;
>>>
>>> Mirek sent a similar fix, but it was pending Matheus TCG fixes:
>>>
>>> https://lore.kernel.org/qemu-devel/20220131091714.4825-1-mrezanin@redhat.com/
>>> https://lists.gnu.org/archive/html/qemu-ppc/2022-02/msg00116.html
>>
>> Yes.
>>
>> I kept it for later because I understood there were still problems
>> with clang. May be I am wrong. Matheus ?
> 
> As far as I can see, there are some additional problems with the TCG tests, but the patch to the configure script is already required if the user only want to compile the main QEMU binaries. So I'd recommend to go ahead and queue Miroslav's patch already, the TCG tests can still be fixed on top later.


OK. I will add it to the ppc queue.

Thanks,

C.
diff mbox series

Patch

diff --git a/configure b/configure
index c56ed53ee3..81618708e4 100755
--- a/configure
+++ b/configure
@@ -630,10 +630,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" ;;