Am 19.06.2016 um 00:05 schrieb Peter Maydell: > From: Peter Maydell <peter.mayd...@linaro.org> > > 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 <s...@weilnetz.de> > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > 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