public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Davide Pippa <thepyper@gmail.com>
To: ecos-discuss@sourceware.org
Subject: [ECOS] GCC toolchain with HW floating-point enabled
Date: Sat, 06 Apr 2013 10:23:00 -0000	[thread overview]
Message-ID: <CAJuNW1Oo29REYCA_RX99yugAFojqT-ByLROBys3x1E8guq44aA@mail.gmail.com> (raw)

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

             reply	other threads:[~2013-04-06 10:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-06 10:23 Davide Pippa [this message]
2013-04-06 10:41 ` Ilija Kocho
2013-06-04 10:41   ` Davide Pippa
2013-06-04 11:24     ` Ilija Kocho
2013-06-04 11:35     ` Ilija Kocho
2013-06-04 12:22       ` Davide Pippa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJuNW1Oo29REYCA_RX99yugAFojqT-ByLROBys3x1E8guq44aA@mail.gmail.com \
    --to=thepyper@gmail.com \
    --cc=ecos-discuss@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).