> From: Taylor R Campbell <[email protected]>
> Date: Sun, 12 Jun 2011 04:33:50 +0000
> 
>    Date: Sat, 11 Jun 2011 13:05:18 -0700
>    From: Matt Birkholz <[email protected]>
> 
>    Let me sing it for you, Brother.  [...]
> 
> Gee, OK.  My only worry is that the userland libc might disagree with
> Scheme's fenv cruft (e.g., maybe libc wants to store its own cache of
> trapped or raised exceptions or something).

Yes, I worried about that (esp. with other threads running), and about
the mere presence of a SIGFPE handler (instead of SIG_IGN/DFL) which
might miscue the libc.  But the Source I am looking at is much simpler
than that.

>    Of course!  Can't we all?  :-)
> 
> Well, I don't have any systems running Ubuntu handy, so...  If I
> remember when I have some time, I'll try this out on NetBSD and maybe
> Fedora and Debian.

It's Unity, isn't it?  You can't stand Unity?  I gave it up after a
couple weeks -- went back to Ubuntu Classic.  Maybe I should go back
to Debian!

Anyway, these SIGFPEs are a fascinating problem, as Spock might say.
I finally wrote my own fegetexcept (using __asm__ -- what fun! :-) NOW
I see the naughty bit: FE_DENORM.  MIT-Scheme is unmasking this
exception, and there is nothing I can do with libc to re-mask it.
Glibc (eglibc 2.13) pretends, all too well, that this bit doesn't
exist.

I can't really blame glibc (anymore).

It is weird that Pango did not produce any tiny floats in Ubuntu
10.10, but can't get through pango_layout_get_pixel_extents without
some in 11.04 *i386*.

So obviously a less borked fix would be to adjust FP_CONTROL_WORD for
glibc on i386 and x86-64.  But doesn't our shiny new floenv.scm takes
care of all this, withOUT going behind libc's back?  Can we punt the
ancient fpu inits in microcode/cmpauxmd/i386.m4 and x86-64.m4?  (Dare
me to try it?)

_______________________________________________
MIT-Scheme-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/mit-scheme-devel

Reply via email to