This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem in GCC 3.4 MIPS -march=mips1
- From: David Daney <ddaney at avtrex dot com>
- To: Paul Koning <pkoning at equallogic dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 25 Jun 2004 14:21:23 -0700
- Subject: Re: Problem in GCC 3.4 MIPS -march=mips1
- References: <16604.37723.744728.977649@gargle.gargle.HOWL>
Paul Koning wrote:
> We have code that is compiled -march=mips1 (because floating point is
> emulated and the emulator only understands mips1 float instructions).
>
> This works mostly correctly. But we run into trouble in one spot:
> libgcc2 has some float code in it that is compiled (apparently) with
> the default arch, which as of GCC 3.4 is mips64 (it used to be mips1).
>
> The consequence is that applications occasionally die with an illegal
> instruction fault. In the particular case I'm looking at, gcc
> generated a call to __fixunsdfdi, which is provided by libgcc2.
>
> Is there something we did wrong that caused libgcc2 not to be built
> correctly? Should libgcc2 be multilibbed? (Is it -- and we picked
> the wrong version when building the target system image?)
>
> If not, this suggests that libgcc2 should be built with an explicit
> -march=mips1, or alternatively the default arch should be reverted
> back to what it was.
>
I configure with:
../gcccvsw/gcc/configure --host=i686-pc-linux-gnu --target=mipsel-linux
--enable-languages=c,c++,java
--with-headers=/home/testcvs/mipsel-linux/include --with-arch=mips32
--with-float=soft --prefix=/home/testcvs
I am thinking that by supplying the proper --with-arch=????? you will
get what you want.
David Daney.