qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] QEMU x86_64: bug with floats (with test program)


From: Ludovic Drolez
Subject: [Qemu-devel] QEMU x86_64: bug with floats (with test program)
Date: Thu, 21 Dec 2006 17:52:22 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20060628 Debian/1.7.8-1sarge7.1

Hi !

I've found a bug in Qemu: conversion of floats to strings fails
in some cases. For example, Ganglia (cluster monitoring software), shows
random values and as well as PHP5 programs.

Compile this and link with libapr-1:

======================test.c===============
#include <stdio.h>
#include <math.h>
#include <apr.h>
#include <apr_strings.h>

void main(void)
{
    char buf[60];
    double d = M_PI;

    snprintf(buf, 60, "%f\n", d);
    printf(buf);
    apr_snprintf(buf, 60, "%f\n", d);
    printf(buf);

}
============================================

Under a SLES 10/64 bits, you'll see something like:
3.141593
3.OjuƧ_

I tested with Qemu 0.8.2 and the CVS, and of course, it works on a real
system (a Dell PE1950).

So it's a QEMU bug. Is it triggered by weird code produced by gcc 4.1.0 ? Or a FPU emulation bug ? Any ideas ?

--
Ludovic DROLEZ                              Linbox / Free&ALter Soft
http://lrs.linbox.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]