mirror of https://gitee.com/openkylin/qemu.git
vhost build fix for i386
vhost.c uses __sync_fetch_and_and(), which is only available for -march=i486 and above (see https://bugzilla.redhat.com/show_bug.cgi?id=624279). Signed-off-by: Wolfgang Mauerer <wolfgang.mauerer@siemens.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
parent
c886edfb85
commit
023367e6cd
|
@ -2509,6 +2509,29 @@ if test "$trace_backend" = "dtrace"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# __sync_fetch_and_and requires at least -march=i486. Many toolchains
|
||||||
|
# use i686 as default anyway, but for those that don't, an explicit
|
||||||
|
# specification is necessary
|
||||||
|
if test $vhost_net = "yes" && test $cpu = "i386"; then
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
int sfaa(unsigned *ptr)
|
||||||
|
{
|
||||||
|
return __sync_fetch_and_and(ptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int val = 42;
|
||||||
|
sfaa(&val);
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if ! compile_prog "" "" ; then
|
||||||
|
CFLAGS+="-march=i486"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# End of CC checks
|
# End of CC checks
|
||||||
# After here, no more $cc or $ld runs
|
# After here, no more $cc or $ld runs
|
||||||
|
|
Loading…
Reference in New Issue