linux-mips
[Top] [All Lists]

Re: SoftFloat implementation for MIPS in GCC

To: Jun Sun <jsun@mvista.com>
Subject: Re: SoftFloat implementation for MIPS in GCC
From: David Daney <ddaney@avtrex.com>
Date: Wed, 28 Jan 2004 11:57:47 -0800
Cc: Daniel Jacobowitz <dan@debian.org>, Rajesh Palani <rpalani2@yahoo.com>, linux-mips@linux-mips.org
In-reply-to: <20040128115312.B6210@mvista.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20040128192636.32578.qmail@web21603.mail.yahoo.com> <20040128193355.GA14318@nevyn.them.org> <20040128115312.B6210@mvista.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031030
Jun Sun wrote:

On Wed, Jan 28, 2004 at 02:33:55PM -0500, Daniel Jacobowitz wrote:
On Wed, Jan 28, 2004 at 11:26:36AM -0800, Rajesh Palani wrote:
Hi,

  We are using a gcc 2.96 20000731 (Red Hat Linux 7.1 2.96-99.1) GCC 
cross-compiler with -msoftfloat to use software floating point routines.

  When we profied an application using the Linux Trace Toolkit, we observed 
that  there were a lot of CpU (Co-processor unusable) exceptions.  Some of the 
floating point routines ( eg. __floatdidf) expect values to be passed in 
floating point registers and take FP exceptions even though the application has 
been built with -msoftfloat.  Is this a general MIPS/GCC issue?  What is the 
status of softfloat  for MIPS in GCC?
Try a more recent compiler, that one is ancient.  If you configure
correctly, you should get no references to the floating point registers
at all.


If glibc is not compiled with -msoftfloat, I think you will get a few
FPU exceptions from glibc no matter how apps are compiled.
Actually, will it be a problem if glibc and apps are compiled differently
(such as in longjump, sig handling area)?
I have found that some versions of glibc (2.2.5 for example) have hard coded floating point code (in longjump handling IIRC) so no matter what you do you get the exceptions.

David Daney.


<Prev in Thread] Current Thread [Next in Thread>