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="main.o.lst" -fno-exceptions -fno-rtti -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=vfpv4-d16 -g3 -gdwarf-2 -o "main.o" "../main.cpp" ../main.cpp: In function ‘void cyg_user_start()’: ../main.cpp:33:30: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] ../main.cpp: In function ‘void main_thread_entry(cyg_addrword_t)’: ../main.cpp:80:87: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] ../main.cpp: In function ‘void udpecho_thread_entry(void*)’: ../main.cpp:107:20: warning: unused variable ‘port’ [-Wunused-variable] ../main.cpp:110:9: warning: variable ‘j’ 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=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=vfpv4-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