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


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to