-mfloat-abi=softfp

ng@piments.com ng@piments.com
Tue Apr 27 12:58:00 GMT 2010


On 04/27/10 13:07, Martin Guy wrote:
> On 4/27/10, ng@piments.com<ng@piments.com>  wrote:
>>   So now  I've put
>>    LIBC_GLIBC_EXTRA_CFLAGS= -mfpu=maverick -mfloat-abi=softfp  -mcpu=ep9312
>>
>>   It's throwing ICE in glibc.:
>>
>>   [ALL  ]    ibm420.c:1: warning: switch -mcpu=ep9312 conflicts with -march=
>> switch
>>   [ALL  ]    ../iconv/skeleton.c: In function 'gconv':
>>   [ERROR]    ../iconv/skeleton.c:801: internal compiler error: Segmentation
>> fault
>>   [ALL  ]    Please submit a full bug report,
>>   [ALL  ]    with preprocessed source if appropriate.
>
> ICE is a bug in the GCC that you are using to build the cross-compiler
> - the "core compiler" - in this case, the output of your stage1
> compilation. "Segmentation fault" is pretty severe :(
> To investigate further where it is segfaulting you can run the one
> specific command under gdb. I the core compiler is built using the
> system glibc, so it shouldn't be a bug in the glibc patches. For what
> it's worth, I've used the native gcc-4.3-crunch to build glibc again.
> natively).
>
> Another strategy you could use is to build gcc-4.2, which runs faster,
> uses less memory to compile things and produces smaller and faster
> code than gcc-4.3 (yes, really!)
>
>>    warning: switch -mcpu=ep9312 conflicts with -march= switch
>>   I have left -mcpu -mtune empty in menuconfig giving just -march=armv4t
>
> -march=ep9312 should be what you need, but I doubt that will fix the ICE.
>
>      M
>
Thanks Martin,

Uptil now I was using -march=armv4t , setting it ep9312 fails on 4.2.4


[ALL  ]    /back/ts/ct-ng/targets/src/gcc-4.2.4/gcc/crtstuff.c:1: 
warning: target CPU does not support interworking
[ALL  ]    Assembler messages:
[ALL  ]    Error: unknown architecture `ep9312'
[ALL  ]
[ALL  ]    Error: unrecognized option -march=ep9312

man gcc (4.3.4) says:

`-march=NAME'
      This specifies the name of the target ARM architecture.  GCC uses
      this name to determine what kind of instructions it can emit when
      generating assembly code.  This option can be used in conjunction
      with or instead of the `-mcpu=' option.  Permissible names are:
      `armv2', `armv2a', `armv3', `armv3m', `armv4', `armv4t', `armv5',
      `armv5t', `armv5te', `armv6', `armv6j', `armv6t2', `armv6z',
      `armv6zk', `armv7', `armv7-a', `armv7-r', `armv7-m', `iwmmxt',
      `ep9312'.

:?
I did not try this config with 4.3.4.

Could this relate to the -march= switch message I was getting before. Is 
some other stage deciding this is invalid and replacing it with a null 
string?

Now trying your suggestion of 4.2.4

thx

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list