Subject: Re: Softfloat and GCC
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Michael L. Riechers <mlr@rse.com>
List: tech-toolchain
Date: 09/16/2003 22:25:30
On Tue, 16 Sep 2003 10:31:33 -0700, Jason Thorpe
<thorpej@wasabisystems.com> averred

> I think we need to make sure that the libgcc never contains softfloat.  
> The softfloat in our libc is better than libgcc's (for one, it supports 
> the basic FP exception stuff).
> 

Ok, good's good.  If the softfloat in our libc superior stuff, let's
use it.

> .... but we should 
> probably make a sweep through all of the GCC configurations.
> 
>          -- Jason R. Thorpe <thorpej@wasabisystems.com>

Bless you for saying that, my son Jason.

Please. With vengeance on powerpc.

When I compiled a CSV'd GCC 3.3 BETA for the mpc823 (this is a flavor
of powerpc, if you will remember) with soft float last April, I had
lots of conflicts between the soft-float in our libc and the gcc
soft-float stuff.  Not knowing a whole lot better, I just proceeded to
delete stuff in the gcc libs until the gcc compiles ran out of
conflicts (libgcc2, and such, perhaps).  But it was annoying, and I
think that there are still a number of subtile conflicts (one I know
of for sure, and probably others left over from previous attempts).

The mpc823 works now, with X windows, with (almost all) soft float.
It's shipped, in storage, and been waiting for a customer install
since 15 April, so I'm not much inclined to greatly fool with our
in-house machine; just making small, incremental changes until the
customer's machine is actually installed, and I can insure that we
don't diverge too much from it, or until gcc 3.3.1 becomes mainline
compiler for powerpc, and soft-float works.

(It's slightly embarrassing that the mpc823 currently has no native
compiler on it.  2.95 wouldn't do, and I don't know how to install 3.3
as the mainline compiler.  c'est la vie.)

Interestingly, I down-loaded and compiled gcc 3.3 just after it was
released.  This time I had no trouble -- it squawked not about library
conflicts.  I used it a little on some small programs, which ran ok.
So, I thought that perhaps the soft float conflicts were over, but I'd
sure like to know!!!

Caveat on home use: I have never used gcc 3.3 (only 2.95) to compile a
kernel. Don't know what would happen if I tried.

My goal is to have a mainline installed gcc 3.3.x compiled with
machine==mpc823, which would produce soft float binaries by default,
along with the mpcore fix-ups.

On Wed, 17 Sep 2003 05:58:12 +1000, matthew green <mrg@eterna.com.au>:

> i'm leaning towards splitting up softfloat.c into multiple objects.
> (we can compile it multiple times like libgcc2.c or split the file
> into multiple files, it's really not an issue.)

Sounds all right.  Still go into libc or would parts go into libm? Or,
otherwise?

On Wed, 17 Sep 2003 00:34:24 +0400, "Valeriy E. Ushakov" <uwe@ptc.spbu.ru>:

 >$ shle--netbsdelf-nm libgcc.a | grep _fix | grep 'T '
 >00000000 T __fixsfdi
 >00000000 T __fixunssfdi
 >00000000 T __fixdfdi
 >00000000 T __fixunsdfdi
 >00000000 T __fixunssfsi
 >00000000 T __fixunsdfsi
 >
 >$ shle--netbsdelf-nm libc.so | grep _fix | grep 'T '
 >0002c7b8 T __fixdfdi
 >00083f3c T __fixdfsi
 >0002c718 T __fixsfdi
 >00083524 T __fixsfsi
 >00049c90 T __fixunsdfdi
 >00049b28 T __fixunssfdi
 >0005f23e T __rpc_fixup_addr

This pretty much resembles what I saw with the gcc 3.3 BETA
conflicts.  Only a lot more (10 or 15, I think).

Best regards,

-Mike