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

Re: X server (4.2.0) dying with signal 8



On Tue, Feb 12, 2002 at 11:38:34AM -0800, Robert M. Riches Jr. wrote:
> 
> A Google search shows I'm not the only one seeing X servers
> dying with signal 8.  Apparently, this is an FP exception
> caused by a cbrt() function passing a negative argument to
> pow().
> 
> For programs other than X, I have had very good luck using
> the -mieee compilation switch.  This would seem to be better
> than hacking up the sources to handle special numeric cases.
> 
> Is there some reason the -mieee compilation switch would not
> be appropriate when building an X server?

Well, it will cause some degradation in performance of those code paths
that involve FP instructions.

And that error is most likely happening in external math library code,
which wouldn't be helped by compiling X with the -mieee flag, anyway.

Apparently, from looking at the code, one can protect onesself from
this by setting:

	#define	HasCbrt NO

in host.def when building, in which case one gets a simple cbrt() that
tests its arg for sign and calls pow() appropriately (see mi/cbrt.c
for details).

--Jay++

-----------------------------------------------------------------------------
Jay A Estabrook                            Alpha Engineering - LINUX Project
Compaq Computer Corp. - MRO1-2/K15         (508) 467-2080
200 Forest Street, Marlboro MA 01752       Jay.Estabrook@compaq.com
-----------------------------------------------------------------------------





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