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