Date: Sat, 14 Jul 2001 11:09:22 -0700 (PDT) From: Jim.Pirzyk@disney.com To: freebsd-hackers@freebsd.org Subject: math library difference between linux emulation and native freebsd (and native linux) Message-ID: <200107141809.f6EI9M809946@snoopy.fan.fa.disney.com>
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-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107141809.f6EI9M809946>