This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: FPA vs VFP?



Forgive my confusion but I haven't been working with these tools for very long.

It appears from the output (included in my original email) that the components that are causing the problem are those that were distributed with gnuarm 4.1.1.  I built eCos and my application using that very same arm-elf-gcc.  It's not completely clear to me why all these things are being linked in (e.g. _udivsi3.o, _umodsi3.o, etc.) but I did not build the arm-elf-gcc compiler.  So, it appears that after going to some effort to get things compiling with this version of arm-elf-gcc so that I can build for the armv5te instruction set I am unable to link my application because of components apparently built with FPA that are distributed with the compiler.  Is this accurate or am I missing something?

It just seems odd that I needed to get this newer version of the compiler in order to compile for VFP but I can't link my application becuase of components that came with the compiler that were built with FPA.


> Subject: Re: [ECOS] FPA vs VFP?
> From: brian.austin@cirrus.com
> To: csb_80@hotmail.com
> CC: ecos-discuss@ecos.sourceware.org
> Date: Wed, 28 Nov 2007 07:54:23 -0600
>
> This usually means that you built some stuff with a compiler that uses
> FPA and you are trying to link in objects that were built with a
> compiler that uses VFP.
>
> I see this alot with hard-float and soft-float merging.
>
> ie. people try to use a gcc built with hard-float and try to pass
> soft-float to an app.
>
> Your toolchain is built with FPA, whereas your app is trying to be built
> with VFP
>
> On Wed, 2007-11-28 at 08:23 -0500, C B wrote:
>>
>> I think I've very close to finally getting my eCos application in working order. I seemed to have stumbled over one last issue related to the incompatibility of FPA and VFP. I'm trying to build for a target using the armv5te instruction set and have eCos building fine with arm-elf-gcc 4.1.1 using VFP. I'm also compiling my application using VFP but when I try and link everything I get error messages that indicate that several of the arm-elf libs use FPA and therefore I'm unable to build my target executable. Do I need to rebuild my gcc installation or is there something more simple that I can do to avoid this?
>>
>> Linker output:
>>
>> Building target: eCos_Test.exe
>> Invoking: Cygwin C Linker
>> arm-elf-gcc -nostartfiles -nodefaultlibs -nostdlib -static -L"C:\cygwin\opt\ecos\ecos-cvs\cb5\cb5_install\lib" -Ttarget.ld -g -march=armv5te -Wl,-Map,mapfile.txt -mcpu=xscale -o"eCos_Test.exe" ./hello.o
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivsi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivsi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divsi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divsi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_umodsi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_umodsi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_modsi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_modsi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_dvmd_tls.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_dvmd_tls.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_addsubdf3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_addsubdf3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_muldivdf3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_muldivdf3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_cmpdf2.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_cmpdf2.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_unorddf2.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_unorddf2.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_fixdfsi.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_fixdfsi.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_truncdfsf2.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_truncdfsf2.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divdi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divdi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivdi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_udivdi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_umoddi3.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_umoddi3.o)
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: ERROR: /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_clz.o) uses FPA instructions, whereas eCos_Test.exe does not
>> /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file /ecos-c/Program Files/GNUARM/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_clz.o)
>> collect2: ld returned 1 exit status
>> make: *** [eCos_Test.exe] Error 1
>>
>> _________________________________________________________________
>> Put your friends on the big screen with Windows Vista® + Windows Live™.
>> http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007
>>
>
>

_________________________________________________________________
You keep typing, we keep giving. Download Messenger and join the i’m Initiative now.
http://im.live.com/messenger/im/home/?source=TAGLM

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]