-mfloat-abi=softfp
ng@piments.com
ng@piments.com
Tue Apr 27 10:13:00 GMT 2010
On 04/19/10 11:51, Martin Guy wrote:
> On 4/19/10, ng@piments.com<ng@piments.com> wrote:
>> On 04/18/10 20:58, Martin Guy wrote:
>>> On 4/18/10, ng@piments.com<ng@piments.com> wrote:
>>>> I am experimenting with building a toolchain with maverick enabled
>> based on
>>>> patching gcc according to Martin Guy's patch set.
>>>> http://martinwguy.co.uk/martin/crunch/
>>>>
>>>> He suggests using -mfpu=maverick -mfloat-abi=softfp
>>> probably be called LIBCFLAGS or something like that;
>>
>> CT_LIBC_GLIBC_EXTRA_CFLAGS:
>> Extra target CFLAGS to use when building.
>>
>> I've added the following to the latter option only :
>> -mfpu=maverick -mfloat-abi=softfp
>>
>> Does that look like the correct place to put this?
>
> That sounds like the one. There must also be -mcpu=ep9312, otherwise
> the assembler fails to recognize the maverick asm instructions, even
> though it is told -mfpu=maverick.
>
> I tried building native glibc to get faster sin/cos etc but found that
> it went into an infinite loop on certain values of sin(). However,
> that was with an unmodified glibc source.
> There are patches to put Maverick hacks into glibc, to do with
> endianness, rounding modes, the FPU control word and more.
>
> One is large: martinwguy.co.uk/crunch/glibc-crunch.patch
> Another is very small and looks half-finished but may be worth investigating
> martinwguy.co.uk/crunch/glibc-crunch2.patch
>
> If you have any joy with these let me know.
>
> Good luck!
>
> M
>
Thanks Martin.
I'm having another stab at this . I've applied the two patches you
suggest on your site.
I have built a 2.6.32.3 , non-crunch config that will create a toolchain
capable of building a kernel .
So now I've put
LIBC_GLIBC_EXTRA_CFLAGS= -mfpu=maverick -mfloat-abi=softfp -mcpu=ep9312
and selected hardware FP instructions.
It's throwing ICE in glibc.:
ux-gnueabi/build/gcc-core-shared/lib/gcc/arm-maverick-linux-gnueabi/4.3.4/include
-isystem
/back/ts/ct-ng/targets/arm-maverick-linux-gnueabi/build/gcc-core-shared/lib/gcc/arm-maverick-linux-gnueabi/4.3.4/include-fixed
-isystem
/back/ts/ct-ng/x-tools/arm-maverick-linux-gnueabi/arm-maverick-linux-gnueabi//sys-root/usr/include
-D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED
-DNOT_IN_libc -o
/back/ts/ct-ng/targets/arm-maverick-linux-gnueabi/build/build-libc/iconvdata/ibm420.os
-MD -MP -MF
/back/ts/ct-ng/targets/arm-maverick-linux-gnueabi/build/build-libc/iconvdata/ibm420.os.dt
-MT
/back/ts/ct-ng/targets/arm-maverick-linux-gnueabi/build/build-libc/iconvdata/ibm420.os
[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.
I ran ct-ng libc and it failed at the same point so that seems to rule
out a hardware glitch.
I'm still uncertain about the -march warnings though Yann says to
"forget" it.
warning: switch -mcpu=ep9312 conflicts with -march= switch
I have left -mcpu -mtune empty in menuconfig giving just -march=armv4t
I was under the impression that maverick crunch issues were now resolved
(at least within the bounds of the c++ caveats). Where am I going wrong?
best regards.
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list