[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SIGFPE and -mieee



Several KDE apps (Konqueor, KSpread, KPresenter, etc) and others (mpg123, 
xine, etc) crash with SIGFPE on the Alpha boxes in our lab.  I've discovered 
that this is caused by the GNU math library (and other programs) generating 
floating point numbers that use parts of the mieee standard (such as 
denormalization) that the Alpha floating point unit does not support.

In order to allow the Linux kernel to emulate the instructions, code has to be 
complied with -mieee (if you want to see this on your Alpha box, write some C 
code that sets a double equal to DBL_MIN/2 and then performs some elementry 
floating point operation on it).

To do this, all one has to do is add

ifeq ($(DEB_BUILD_GNU_TYPE),alpha-linux)
  export CFLAGS+=-mieee
  export CXXFLAGS+=-mieee
endif

to the debian/rules file in the source package (right after the 
DEB_BUILD_GNU_TYPE ?= ... line at the start of the file) .  So far I've 
recompiled the kdelibs and the kdebase packages.  This is enough to get 
Konqueor and the KOffice suite running in our lab.

I would really like to see this made the default for all debian/rules files 
(unless we know the code uses the FPU and can never generate any 
denormalized, etc numbers).  The lack of it makes several programs not run at 
all, and others that appear to be operating okay all of a sudden crash (when 
clicking on the property box for an EPS file inserted into KPresenter for 
example -- kind of a nasty suprise).

Any comments?  Is this okay with the majority of you?  Is there a way I can 
email all the maintainers to get them to add the above four lines to their 
debian/rules files?

Thanks & Later!
-T

-- 
 Tyson Whitehead  (-twhitehe@uwo.ca -- WSC-)
 Computer Engineer                          Dept. of Applied Mathematics,
 Graduate Student- Applied Mathematics      University of Western Ontario,
 GnuPG Key ID# 0x8A2AB5D8                   London, Ontario, Canada



Reply to: