Bug 8765 - -msoft-float does not work for mipsel-linux, and probably others
Summary: -msoft-float does not work for mipsel-linux, and probably others
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 3.2.1
: P3 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-30 07:36 UTC by bart
Modified: 2005-11-28 05:18 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2004-01-02 05:55:20


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bart 2002-11-30 07:36:00 UTC
When I build a cross compiler for mipsel-linux, the libgcc.a is not built with -msoft-float. This leads to an ABI mismatch (arguments passed in FP regs) between the FP emulation in libgcc, and the code compiled with -msoft-float that tries to use the FP emulation.

From what I can see, this problem is not limited to just the mipsel-linux target

Release:
gcc-3.2.1

Environment:
mipsel-linux
Comment 1 bart 2002-11-30 07:36:00 UTC
Fix:
compile libgcc.a with -msoft-float.
I modified config/t-linux, but that's probably not the only file that should be changed.
Comment 2 Andrew Pinski 2003-05-23 21:24:51 UTC
Does this still happen with 3.3?
Comment 3 Andrew Pinski 2003-08-06 05:47:39 UTC
I can confirm that mipsel-linux is not multi-libed for msoft-float.
Comment 4 Chris Demetriou 2003-08-06 05:55:05 UTC
Subject: Re:  -msoft-float does not work for
 mipsel-linux, and probably others

At Wed, 6 Aug 2003 05:47:54 +0000 (UTC), "pinskia at physics dot uc dot edu" wrote:
> I can confirm that mipsel-linux is not multi-libed for msoft-float.

At least to my mind, it shouldn't be, either.

If you're building a soft-float system, you should build a compiler
and build glibc that uses soft-float.  There's no well-defined place
for soft-float multilibs to go.

(compare with n32/n64, which have well-defined places in the file
system to live when installed together with o32.  There's no such
place for soft-float.)



cgd

Comment 5 Nathanael C. Nerode 2003-08-06 07:06:30 UTC
There should, however be an easy way to build a cross to a non-multilibbed soft-float system.  I'm not clear from this report whether *that* is a 
problem.
Comment 6 Richard Sandiford 2003-08-07 18:09:47 UTC
Subject: Re:  -msoft-float does not work for mipsel-linux, and probably others

"neroden at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> There should, however be an easy way to build a cross to a
> non-multilibbed soft-float system.  I'm not clear from this report
> whether *that* is a problem.

Well, as far as I know, we don't support a -msoft-float version of
mips-linux-gnu.

Richard
Comment 7 Andrew Pinski 2003-08-11 17:31:04 UTC
Sounds like mipsel-uClibc uses soft-floats.
Comment 8 Daniel Jacobowitz 2003-08-19 21:19:53 UTC
Subject: Re:  -msoft-float does not work for mipsel-linux, and probably others

On Thu, Aug 07, 2003 at 06:09:48PM -0000, rsandifo at redhat dot com wrote:
> Well, as far as I know, we don't support a -msoft-float version of
> mips-linux-gnu.

It works, though.  Try --with-float=soft.
Comment 9 Jeffrey Baitis 2003-10-03 02:40:27 UTC
Subject: Re: Daniel Jacobowitz  2003-08-19 21:19

I've tried building GCC 3.3.1 with --with-float=soft. I receive NAN's as output
in the binaries, too. Modifying config/t-linux seems to fix the problems.
Comment 10 Daniel Jacobowitz 2003-10-03 02:44:44 UTC
GCC 3.3.1 doesn't support --with-float=soft.  Try CVS HEAD.
Comment 11 Andrew Pinski 2005-09-25 22:25:47 UTC
So does --with-float=soft works on 3.4.0 and above?
Comment 12 Andrew Pinski 2005-11-28 05:18:36 UTC
No feedback in over two years now.