From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16958 invoked by alias); 6 Apr 2013 10:23:35 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 16909 invoked by uid 89); 6 Apr 2013 10:23:34 -0000 X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_GD autolearn=ham version=3.3.1 Received: from mail-wg0-f54.google.com (HELO mail-wg0-f54.google.com) (74.125.82.54) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sat, 06 Apr 2013 10:23:31 +0000 Received: by mail-wg0-f54.google.com with SMTP id a12so4626210wgh.9 for ; Sat, 06 Apr 2013 03:23:29 -0700 (PDT) X-Received: by 10.194.157.42 with SMTP id wj10mr21832919wjb.12.1365243809563; Sat, 06 Apr 2013 03:23:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.57.1 with HTTP; Sat, 6 Apr 2013 03:23:09 -0700 (PDT) From: Davide Pippa Date: Sat, 06 Apr 2013 10:23:00 -0000 Message-ID: To: ecos-discuss@sourceware.org Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: [ECOS] GCC toolchain with HW floating-point enabled X-SW-Source: 2013-04/txt/msg00006.txt.bz2 Hi! I've recently updated my ecos CVS, and made a new rom using the new hw floating point support (I'm compiling for TWR-K70F120M). The rom builds fine, but the application I used to work with complains during compilation: make all Building file: ../main.cpp Invoking: ARM devkitPro Windows GCC C++ Compiler arm-eabi-g++ -I"H:/Works/Arm/PyIde/roms/01009_TWR-K70F120M/include" -O0 -Wall -Wa,-adhlns=3D"main.o.lst" -fno-exceptions -fno-rtti -c -fmessage-length=3D0 -MMD -MP -MF"main.d" -MT"main.d" -mcpu=3Dcortex-m4 -mthumb -mfloat-abi=3Dhard -mfpu=3Dvfpv4-d16 -g3 -gdwarf-2 -o "main.o" "../main.cpp" ../main.cpp: In function =E2=80=98void cyg_user_start()=E2=80=99: ../main.cpp:33:30: warning: deprecated conversion from string constant to =E2=80=98char*=E2=80=99 [-Wwrite-strings] ../main.cpp: In function =E2=80=98void main_thread_entry(cyg_addrword_t)=E2= =80=99: ../main.cpp:80:87: warning: deprecated conversion from string constant to =E2=80=98char*=E2=80=99 [-Wwrite-strings] ../main.cpp: In function =E2=80=98void udpecho_thread_entry(void*)=E2=80=99: ../main.cpp:107:20: warning: unused variable =E2=80=98port=E2=80=99 [-Wunus= ed-variable] ../main.cpp:110:9: warning: variable =E2=80=98j=E2=80=99 set but not used [-Wunused-but-set-variable] Finished building: ../main.cpp Building target: demo1.elf Invoking: ARM devkitPro Windows GCC C++ Linker arm-eabi-g++ -T"target.ld" -nostdlib -LH:/Works/Arm/PyIde/roms/01009_TWR-K70F120M/lib -Wl,-Map,demo1.map -mcpu=3Dcortex-m4 -mthumb -mfloat-abi=3Dhard -mfpu=3Dvfpv4-d16 -g3 -gdwarf-2 -o "demo1.elf" ./main.o /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: error: demo1.elf uses VFP register arguments, /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(bpabi.o) does not makefile:59: recipe for target `demo1.elf' failed /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: failed to merge target specific data of file /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(bpabi.o) /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: error: demo1.elf uses VFP register arguments, /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(_divdi3.o) does not /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: failed to merge target specific data of file /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(_divdi3.o) /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: error: demo1.elf uses VFP register arguments, /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(_udivdi3.o) does not /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/../../../../arm-eabi/bin/ld: failed to merge target specific data of file /cygdrive/h/Works/Arm/PyIde/tools/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi= /4.6.3/libgcc.a(_udivdi3.o) collect2: ld returned 1 exit status make: *** [demo1.elf] Error 1 The application is built with HW fpu enabled, but it seems that libgcc.a is not floating-point aware (sort-of?)... is there any new release of the 4.6.3 gcc toolchain built with floating point support? Or is there any guide to rebuild the 4.6.3 gcc toolchain myself? Thanks! Pyper. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss