[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] configure: Make AVX2 test robust to non-ELF
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] configure: Make AVX2 test robust to non-ELF systems |
Date: |
Sun, 19 Jun 2016 10:41:53 +0100 |
On 19 June 2016 at 06:53, Stefan Weil <address@hidden> wrote:
> Am 19.06.2016 um 00:05 schrieb Peter Maydell:
>> From: Peter Maydell <address@hidden>
>>
>> The AVX2 optimization test assumes that the object format
>> is ELF and the system has the readelf utility. If this isn't
>> true then configure might fail or emit a warning (since in
>> a pipe "foo | bar >/dev/null 2>&1" does not redirect the
>> stderr of foo, only of bar). Adjust the check so that if
>> we don't have readelf or don't have an ELF object then we
>> just don't enable the AVX2 optimization.
>>
>> Reported-by: Stefan Weil <address@hidden>
>> Signed-off-by: Peter Maydell <address@hidden>
>> ---
>> configure | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 7beefcd..30bca55 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1792,8 +1792,10 @@ int foo(void *a) __attribute__((ifunc("bar_ifunc")));
>> int main(int argc, char *argv[]) { return foo(argv[0]);}
>> EOF
>> if compile_object "" ; then
>> - if readelf --syms $TMPO |grep "IFUNC.*foo" >/dev/null 2>&1; then
>> - avx2_opt="yes"
>> + if has readelf; then
>> + if readelf --syms $TMPO 2>/dev/null |grep -q "IFUNC.*foo"; then
>> + avx2_opt="yes"
>> + fi
>> fi
>> fi
>>
>>
>
> You could check "has readelf" earlier and avoid the compile test
> if there is no readelf (saves a little time).
I guess so, though there's not much in it.
> The final I/O redirection is still needed (otherwise Linux users will
> see the grep output).
I added -q which should suppress that, no ?
thanks
-- PMM