Date: Fri, 13 Jul 2001 20:19:19 -0700 From: Jim Pirzyk <Jim.Pirzyk@disney.com> To: freebsd-emulation@freebsd.org Subject: math library difference between linux emulation and native freebsd (and native linux) Message-ID: <01071320191905.28908@snoopy>
next in thread | raw e-mail | index | archive | help
So I have stumbled across a linux emulation bug in freebsd. Below
is the program that returns different results based on FreeBSD,
Linux or Linux emulation under FreeBSD.
Running natively under FreeBSD:
x = 53.27850000
exp(x) = 137581029243568449912832.00000000
Running natively under Linux:
x = 53.278500
exp(x) = 137581029243568449912832.000000
Running under FreeBSD in Linux emulation mode:
x = 53.27850000
exp(x) = 137581029243567812378624.00000000
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main (int argc, char **argv) {
double x = 53.278500;
printf ("x = %8lf\n", x);
printf ("exp(x) = %8lf\n", exp(x));
exit (0);
}
There are only two shared libaries in common (libc and libm) and
both are the same on FreeBSD (in /compat/linux) and Linux.
So any ideas on where the program is going wrong?
- JimP
--
--- @(#) $Id: dot.signature,v 1.10 2001/05/17 23:38:49 Jim.Pirzyk Exp $
__o Jim.Pirzyk@disney.com ------------- pirzyk@freebsd.org
_'\<,_ Senior Systems Engineer, Walt Disney Feature Animation
(*)/ (*)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01071320191905.28908>
