Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Apr 2002 10:14:52 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        rittle@labs.mot.com
Cc:        freebsd-alpha@FreeBSD.ORG
Subject:   Re: alpha/36327: trap within cvt() while attempting to printf() an FP number
Message-ID:  <15529.51948.89157.959573@grasshopper.cs.duke.edu>
In-Reply-To: <15529.48345.376711.770341@grasshopper.cs.duke.edu>
References:  <200203260906.g2Q962l84742@freefall.freebsd.org> <15520.33765.216885.639741@grasshopper.cs.duke.edu> <200204020813.g328DLq66977@latour.rsch.comm.mot.com> <15529.48345.376711.770341@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

Andrew Gallatin writes:
 > 
 > Loren James Rittle writes:
 >  > 
 >  > In any event, it is not the code for d/10 that traps.  It is code
 >  > inside cvt() which is called from vfprintf().  Two issues: Should a
 >  > library routine ever internally trap; no matter what the mask setting?
 >  > Shouldn't there be some way to disable the trap?
 > 
 > There is currently no way to disable the trap for routines which are
 > not compiled with -mieee.  The library is not compiled with -mieee, so
 > even if you don't get the trap in your code, you may get the trap in a
 > library.  (I compile my libm with -mieee so that Konqueror doesn't crash with
 > FPE's on poorly written javascript code, its worth the slowdown.  Patch appended.)

Do'h! Here's that patch..

Drew


Index: Makefile
===================================================================
RCS file: /home/ncvs/src/lib/msun/Makefile,v
retrieving revision 1.23.2.2
diff -u -r1.23.2.2 Makefile
--- Makefile	17 Dec 2001 10:09:20 -0000	1.23.2.2
+++ Makefile	29 Mar 2002 15:06:16 -0000
@@ -45,11 +45,7 @@
 .PATH:	${.CURDIR)/alpha
 ARCH=	alpha
 ARCH_SRCS = s_copysign.S s_copysignf.S
-# XXX Comment from NetBSD/Alpha:
-# XXX LINT SIGFPEs in e_exp.c's strtod().  FP underflow/denorm software
-# handling is broken (doesn't exist!) on the Alpha port.
-# Stock gcc 2.7.2.1 doesn't understand these options.
-#CFLAGS += -mtrap-precision=i -mfp-trap-mode=su
+CFLAGS += -mieee
 .elif ${MACHINE_ARCH} == "i386"
 ARCH=	i387
 ARCH_PREFIX= ${ARCH}_

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15529.51948.89157.959573>