diff mbox

configure: adding ppc64le to supported host CPUs

Message ID 20171101175356.11771-1-danielhb@linux.vnet.ibm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Henrique Barboza Nov. 1, 2017, 5:53 p.m. UTC
When executing 'configure' in a fresh QEMU clone, in a fresh
OS install running in a ppc64le host, this is the error
shown:

-----

../configure --enable-trace-backend=simple --enable-debug
    --target-list=ppc64-softmmu

ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter

-----

This isn't true, ppc64le host CPU is supported.

This patch adds 'ppc64le' to the list of supported host CPUs. After
this patch, the next error when executing configure in the
scenario mentioned is:

-----

../configure --enable-trace-backend=simple --enable-debug
    --target-list=ppc64-softmmu

ERROR: "cc" either does not exist or does not work

-----

Indicating that now we need a valid compiler to proceed.

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Nov. 1, 2017, 6:23 p.m. UTC | #1
On 1 November 2017 at 17:53, Daniel Henrique Barboza
<danielhb@linux.vnet.ibm.com> wrote:
> When executing 'configure' in a fresh QEMU clone, in a fresh
> OS install running in a ppc64le host, this is the error
> shown:
>
> -----
>
> ../configure --enable-trace-backend=simple --enable-debug
>     --target-list=ppc64-softmmu
>
> ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter
>
> -----
>
> This isn't true, ppc64le host CPU is supported.
>
> This patch adds 'ppc64le' to the list of supported host CPUs. After
> this patch, the next error when executing configure in the
> scenario mentioned is:
>
> -----
>
> ../configure --enable-trace-backend=simple --enable-debug
>     --target-list=ppc64-softmmu
>
> ERROR: "cc" either does not exist or does not work
>
> -----
>
> Indicating that now we need a valid compiler to proceed.
>
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> ---

I think this is either unnecessary or it should be a lot more
changes than this. The problem here is that how we determine
the host CPU type is by using the C compiler. So if you don't
have a C compiler then we're going to fail to autodetect,
and the (kind of bogus) fallback is via "uname -a". What
we ought to do is (a) detect "no C compiler" before we
try to use it and (b) not have that uname -a fallback.

I suggest you install a C compiler and then try again with
an unmodified configure to see how that does.

(I think that the correct value of the "cpu" variable for
ppc64le is "ppc64", same as for bigendian, which we'll
autodetect if we have a compiler to do it with. If that's
right, then you could argue for having our "normalise
CPU host name" code map ppc64le to ppc64. Certainly a
lot of places in configure assume "ppc64" is the only
kind...)

thanks
-- PMM
Daniel Henrique Barboza Nov. 1, 2017, 6:42 p.m. UTC | #2
On 11/01/2017 04:23 PM, Peter Maydell wrote:
> On 1 November 2017 at 17:53, Daniel Henrique Barboza
> <danielhb@linux.vnet.ibm.com> wrote:
>> When executing 'configure' in a fresh QEMU clone, in a fresh
>> OS install running in a ppc64le host, this is the error
>> shown:
>>
>> -----
>>
>> ../configure --enable-trace-backend=simple --enable-debug
>>      --target-list=ppc64-softmmu
>>
>> ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter
>>
>> -----
>>
>> This isn't true, ppc64le host CPU is supported.
>>
>> This patch adds 'ppc64le' to the list of supported host CPUs. After
>> this patch, the next error when executing configure in the
>> scenario mentioned is:
>>
>> -----
>>
>> ../configure --enable-trace-backend=simple --enable-debug
>>      --target-list=ppc64-softmmu
>>
>> ERROR: "cc" either does not exist or does not work
>>
>> -----
>>
>> Indicating that now we need a valid compiler to proceed.
>>
>> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
>> ---
> I think this is either unnecessary or it should be a lot more
> changes than this. The problem here is that how we determine
> the host CPU type is by using the C compiler. So if you don't
> have a C compiler then we're going to fail to autodetect,
> and the (kind of bogus) fallback is via "uname -a". What
> we ought to do is (a) detect "no C compiler" before we
> try to use it and (b) not have that uname -a fallback.

Now that you've said, if I install GCC before running configure for the
first time I don't see this error happening. Perhaps alternative
(a) is a good approach and avoid a lot of changes just for the
sake of getting rid of that error message.


Daniel

> I suggest you install a C compiler and then try again with
> an unmodified configure to see how that does.
>
> (I think that the correct value of the "cpu" variable for
> ppc64le is "ppc64", same as for bigendian, which we'll
> autodetect if we have a compiler to do it with. If that's
> right, then you could argue for having our "normalise
> CPU host name" code map ppc64le to ppc64. Certainly a
> lot of places in configure assume "ppc64" is the only
> kind...)
>
> thanks
> -- PMM
>
diff mbox

Patch

diff --git a/configure b/configure
index 285d123dbf..38c1003fb3 100755
--- a/configure
+++ b/configure
@@ -637,7 +637,7 @@  ARCH=
 # Normalise host CPU name and set ARCH.
 # Note that this case should only have supported host CPUs, not guests.
 case "$cpu" in
-  ppc|ppc64|s390|s390x|sparc64|x32)
+  ppc|ppc64|ppc64le|s390|s390x|sparc64|x32)
     cpu="$cpu"
     supported_cpu="yes"
   ;;