[fpc-devel] ARM: problem with uses VFP instructions

Dariusz Mazur darekm at emadar.com
Wed Dec 2 00:23:13 CET 2009


HI
I try to crosscompile for arm (uclibc and eabi). Source and listing 
error below.
But when I remove dynlibs form uses section, all goes OK
When I check link.res only few things are changed in section input
prt0->cprt0.o
->crti.o

What I should looking for.


program hello;
uses
  dynlibs,
  sysconst,
  rtlconsts,
  sysutils,
  classes;
var
  i : double;
begin

 i:=int(1.1);
 writeln('hello world ',i);
end.


and receive error:

darek2008 at darek2008-desktop:~/fpcarm/lib/fpc/2.5.1$ ./ppcrossarm 
hello.pas >rr
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
/home/darek2008/fpcarm/praca/arm-linux/hello.o uses VFP instructions, 
whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file /home/darek2008/fpcarm/praca/arm-linux/hello.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/system.o uses VFP instructions, whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/system.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/objpas.o uses VFP instructions, whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/objpas.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/dynlibs.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/dynlibs.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/sysutils.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/sysutils.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/rtlconsts.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/rtlconsts.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/sysconst.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/sysconst.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/unix.o uses VFP instructions, whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/unix.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/errors.o uses VFP instructions, whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/errors.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/unixtype.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/unixtype.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/baseunix.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/baseunix.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/unixutil.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/unixutil.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/syscall.o uses VFP instructions, whereas hello 
does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/syscall.o
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: ERROR: 
./units/arm-linux/rtl/dl.o uses VFP instructions, whereas hello does not
/home/darek2008/fpcarm/arm-linux-uclibc/bin/ld: failed to merge target 
specific data of file ./units/arm-linux/rtl/dl.o
./units/arm-linux/rtl/cprt0.o: In function `_start':
(.text+0x4c): undefined reference to `__libc_start_main'

-- 
  Darek







More information about the fpc-devel mailing list