[Top][All Lists]

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

[MIT-Scheme-devel] Ubuntu 11.04 and FE_DFL_ENV.

From: Matt Birkholz
Subject: [MIT-Scheme-devel] Ubuntu 11.04 and FE_DFL_ENV.
Date: Fri, 10 Jun 2011 23:43:38 -0700

I don't suppose anyone else has noticed this, but ye can't just
fesetenv(FE_DFL_ENV) to alienate the floating environment (normalize,
from a C library's perspective) in the new Ubuntu.  I eventually got
my Gtk demo working, but only with the help of Taylor's
feclearexcept() and fedisableexcept() (and fesetround())
implementations in microcode/cmpintmd/x86-fenv.c.

By the time I could implement and test a BORKED_FENV patch, the
problem disappeared on amd64 (due to recent Ubuntu package updates?)!
Now my microcode/ only needs to set BORKED_FENV for i386.  I
hope even this is temporary, so I have not patched master -- just my
Gtk branch.

If anyone else has had trouble using e.g. Pango (getting SIGFPE
Underflows) on Ubuntu 11.04, the attached patches might be helpful.
The first implements alienate_float_environment() and calls it before
every callout and after every callback.  The second patch implements

Attachment: patch.diff.bz2
Description: alienate_float_environment() and BORKED_FENV

reply via email to

[Prev in Thread] Current Thread [Next in Thread]