[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: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] configure: Make AVX2 test robust to non-ELF systems |
Date: |
Sun, 19 Jun 2016 07:53:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0 |
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).
The final I/O redirection is still needed (otherwise Linux users will
see the grep output).
Regards
Stefan