Message ID | 1310389063-16382-1-git-send-email-wolfgang.mauerer@siemens.com |
---|---|
State | New |
Headers | show |
On Mon, Jul 11, 2011 at 1:57 PM, Wolfgang Mauerer <wolfgang.mauerer@siemens.com> wrote: > 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). Seems reasonable. I am happy to add it to the trivial-patches tree but will wait another day to let others who are better gcc wizards consider it. Stefan
On Mon, Jul 11, 2011 at 02:57:43PM +0200, Wolfgang Mauerer wrote: > 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> > --- > configure | 23 +++++++++++++++++++++++ > 1 files changed, 23 insertions(+), 0 deletions(-) Thanks, applied to the trivial patches tree: http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/trivial-patches Stefan
diff --git a/configure b/configure index 88159ac..3b6facb 100755 --- a/configure +++ b/configure @@ -2464,6 +2464,29 @@ if test "$trace_backend" = "dtrace"; then 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 # After here, no more $cc or $ld runs
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> --- configure | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-)