[fpc-devel] help with softfloat for arm big endian crosscompiler
Terry Kemp
tkemp at klc.net.nz
Wed Dec 13 03:45:21 CET 2006
Hi,
questions...
Is -CfSOFT supported on arm 2.0.5?
Do I need to add/define something when I build the crosscompiler to get
softfloat support?
Is changing system_arm_linux_info.endian to endian_big in
fpc/compiler/systems/i_linux.pas enough? I see in
references to {$if defined(CPUARM) and defined(FPUFPA)} and {$ifdef
FPC_LITTLE_ENDIAN} but no FPUSOFT or FPC_BIG_ENDIAN.
I have successfully made a crosscompiler for big endian arm and it
(ppcarm) compiles without problems and the resultant elf executes on the
arm.
But if I use any floating point it crashes out with...
$ ppcarm -XParm-linux- -Xs -XX -CpARMV5 -CfSOFT -n -B -vewhli \
-Fu~/arm-linux-fpc.i386-linux/lib/fpc/2.0.5/units/arm-linux/rtl \
floattest
Target OS: Linux for ARM
Compiling floattest.pp
2 67/864 Kb Used
floattest.pp(8,9) Fatal: Internal error 200308252
floattest.pp(8,9) Fatal: Compilation aborted
This is with...
program floattest;
Var
a, b, c: single;
begin
a := 1.5;
b := 2.5;
c := a * b;
writeln(c);
end.
$ ppcarm -i
Free Pascal Compiler version 2.0.5
Compiler Date : 2006/10/24
Compiler CPU Target: arm
Supported targets:
Linux for ARM
Supported CPU instruction sets:
ARMV3
ARMV4
ARMV5
Supported FPU instruction sets:
SOFT
LIBGCC
FPA
FPA10
FPA11
VFP
Thanks for any help here.
Terry
More information about the fpc-devel
mailing list