summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorPeter Maydell2016-06-19 00:05:02 +0200
committerPeter Maydell2016-06-28 16:40:40 +0200
commit7dd929dfdc5c52ce79b21bf557ff506e89acbf63 (patch)
treedb5a4e4b256ec3b4b580ef6fa9af5fe3d95da822 /configure
parentconfigure: Improve usermode relocation linker option probe (diff)
downloadqemu-7dd929dfdc5c52ce79b21bf557ff506e89acbf63.tar.gz
qemu-7dd929dfdc5c52ce79b21bf557ff506e89acbf63.tar.xz
qemu-7dd929dfdc5c52ce79b21bf557ff506e89acbf63.zip
configure: Make AVX2 test robust to non-ELF systems
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 <sw@weilnetz.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Stefan Weil <sw@weilnetz.de> Message-id: 1466287502-18730-3-git-send-email-pmaydell@chiark.greenend.org.uk
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure6
1 files changed, 4 insertions, 2 deletions
diff --git a/configure b/configure
index 395057bff8..8ead9754e9 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