Bug 3308 - floor() function in libm (glibc-2.1) is broken on Alpha.
Summary: floor() function in libm (glibc-2.1) is broken on Alpha.
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc
Version: 6.0
Hardware: alpha
OS: Linux
Target Milestone: ---
Assignee: Cristian Gafton
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 1999-06-07 01:59 UTC by niles
Modified: 2008-05-01 15:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 1999-07-09 22:17:43 UTC

Attachments (Terms of Use)

Description niles 1999-06-07 01:59:19 UTC
I wish I could be more specific, but then I would be able to
fix it. Here's the simplest FORTRAN program that demos the

      WRITE(*,*) DNINT(0.0D0)

Reports 3.6028797E+16 instead of 0. Now, you may jump to the
conclusion that this is just a DNINT() function problem, but
in general, there's some very funky math problems on the
Alpha that all quickly go away (100%) if one compiles with
"-lcpml" the Compaq portable math library (including the
above example).  Hence, my guess it has something to do with
the GNU clib-2.1 libm.

Comment 1 niles 1999-06-07 02:58:59 UTC
Try this C program:
#include <stdio.h>
#include <math.h>

  return 0;

It returns with 36028797018963968.000000
This would explain 100% of the funny results I was seeing.
This would also explain why using the CMPL fixed the problem,
it had it's own implementation of the floor() function.

Comment 2 Cristian Gafton 1999-07-09 22:17:59 UTC
That program works for me; I can not reproduce the problems reported.
What are the compiler flags used  to compile the test code?

Comment 3 moof 2000-01-05 04:13:59 UTC
This same problems shows up on my machine.  I am running RedHat 6.1 on an
AlphaStation 4/200 (233Mhz EV4 21064).  This bug occurred in both the 6.0 and
6.1 releases.  This bug shows up for an upgrade and a clean install.

Comment 4 moof 2000-01-05 04:17:59 UTC
Please move this bug back to the active list.  I can't go and rework all of the
makefiles for all of the applications which depend on the broken glibc to use
cpml instead.

Note You need to log in before you can comment on or make changes to this bug.