Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Oct 1995 21:50:34 +0100 (MET)
From:      Alain Kalker <alain@Wit401402.student.utwente.nl>
To:        current@freebsd.org
Subject:   Floating point exceptions
Message-ID:  <Pine.BSF.3.91.951013212322.266A-100000@Wit401402.student.utwente.nl>

next in thread | raw e-mail | index | archive | help
Hello.

After a long time I did another 'sup' and 'make world' (now -current at
10/12/95) and since I have some programs dumping core on floating point
exceptions. They all ran without problems before (well, I wonder why
Octave always exits with masked floating point exceptions, though). 

In the case of Csound I have found the offending instructions to be 
expressions involving comparisons or assignments.

An example of an assignment which caused an exception:

Wit401402:/usr/home/alain/src/csound/midifils$ gdb ../csound csound.core
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.13 (i386-unknown-freebsd), 
Copyright 1994 Free Software Foundation, Inc...
Core was generated by `csound'.
Program terminated with signal 8, Floating point exception.
#0  0x2a43b in shortran () at soundio.c:349
349			if ((longsmp = *sp) >= 0) {		/* +ive samp:	*/
(gdb) print longsmp
$1 = 495
(gdb) print *sp
$2 = -0.205639988
(gdb) whatis longsmp
type = long int
(gdb) whatis *sp
type = float
(gdb) quit

This case involves a type conversion, but I have also seen exceptions 
with comparisons of two (small) floats.

Can anyone tell me how to fix these? Are there any changes to libc / 
libm* which might explain this?

---
Alain




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.951013212322.266A-100000>