From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20004 invoked by alias); 27 Apr 2010 10:13:25 -0000 Received: (qmail 19992 invoked by uid 22791); 27 Apr 2010 10:13:23 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from 30.mail-out.ovh.net (HELO 30.mail-out.ovh.net) (213.186.62.213) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Tue, 27 Apr 2010 10:13:18 +0000 Received: (qmail 16785 invoked by uid 503); 27 Apr 2010 10:10:49 -0000 Received: from b7.ovh.net (HELO mail637.ha.ovh.net) (213.186.33.57) by 30.mail-out.ovh.net with SMTP; 27 Apr 2010 10:10:49 -0000 Received: from b0.ovh.net (HELO queueout) (213.186.33.50) by b0.ovh.net with SMTP; 27 Apr 2010 10:13:44 -0000 Received: from unknown (HELO ?192.168.1.50?) (piments%piments.com@95.176.17.55) by ns0.ovh.net with SMTP; 27 Apr 2010 10:13:42 -0000 Message-ID: <4BD6B8E5.2020807@piments.com> Date: Tue, 27 Apr 2010 10:13:00 -0000 From: ng@piments.com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100131 Shredder/3.0.1 MIME-Version: 1.0 To: crossgcc@sourceware.org Subject: Re: -mfloat-abi=softfp References: <4BCB51C6.90504@piments.com> <4BCBB03F.2000100@piments.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Ovh-Tracer-Id: 13318832948956603054 X-Ovh-Remote: 95.176.17.55 () X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-IsSubscribed: yes Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org X-SW-Source: 2010-04/txt/msg00153.txt.bz2 On 04/19/10 11:51, Martin Guy wrote: > On 4/19/10, ng@piments.com wrote: >> On 04/18/10 20:58, Martin Guy wrote: >>> On 4/18/10, 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