Ludovic Drolez wrote: > Hi ! > > I've found a bug in Qemu x86_64 under a sles 64 10: conversion of floats > to strings fails in some cases. For example, Ganglia (cluster monitoring > software), shows random values and as well as PHP5 programs. > > Here is a simple test program to confirm that you have the same bug as me > (maybe also under another distribution). 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, but 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 ? > A bug in apr, maybe, no ?
Rgds, -- Michel Loiseleur