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>