first reported here: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/429113 The pow() function in the standard C library does not report a floating point underflow exception like it is supposed to. Compile the attached program with '-O0 -fno-bultin-pow -lm'. Then run it. some people report correct behavior on x86 but not on x86_64
Created attachment 4319 [details] test.c
Confirmed with current sources on x86_64.
Appears to be caused by a GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52907
Now fixed, presumably by: commit bd7b0e561f7f684cedfc4adb964569fe9ab16209 Author: Andreas Jaeger <aj@suse.de> Date: Sun May 6 09:14:15 2012 +0200 Build glibc with -frounding-math * Makeconfig (+math-flags): New, set to -frounding-math. (+cflags): Add +math-flags so that all of glibc gets compiled with it. Should be closed as fixed once libm-test.inc supports testing underflow exceptions and an appropriate test has been added.
Testcase added by: commit 7a25eb06bfa838900bef78b975c38aa7e012b587 Author: Joseph Myers <joseph@codesourcery.com> Date: Thu May 24 15:36:54 2012 +0000 Add tests for underflow exception bugs 10846, 14036.