Show quoted text 15 lines
On 01/05/07, josepascual (almudi) wrote:
>
> I have done it, I'm going to svn/fpc/ directory and I run fpcmake
> -Tarm-linux.
>
> question:
> a) should I run fpcmake -pw -Tarm-linux?
> b) or should I run fpcmake -rpw -Tarm-linux? (recursive)
> c) or only fpcmake -Tarm-linux
>
fpcmake -rTall
you shouldn't have to do this if you haven't modified Makefile.fpc in
any of the directories. it doesn't hurt, though.
I have downloaded SVN version for 2.1.3. I have no patch anything as other times before,
I'm compiling with -CfSOFT (I want to generate a ppcrossarm eabi)
make clean crossall CPU_TARGET=arm OS_TARGET=linux CROSSBINDIR=/usr/local/arm/gcc-4.1.1-glibc-2.5-gnueabi/bin/ BINUTILSPREFIX=armv4t-crosstool-linux-gnueabi-
PP=/usr/local/lib/fpc/2.1.1/ppc386 OPT="-CfSOFT"
.
.
.
/trabajo/x86/freepascal/svn/fpc/rtl/units/arm-linux/system.s: Assembler messages:
/trabajo/x86/freepascal/svn/fpc/rtl/units/arm-linux/system.s:12610: Error: selected processor does not support `rfs r0'
/trabajo/x86/freepascal/svn/fpc/rtl/units/arm-linux/system.s:12613: Error: selected processor does not support `wfs r0'
system.pp(335) Error: Error while assembling exitcode 1 system.pp(335) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted
.
.
.
I resolved it other times removing assembler code in rtl/arm/mathu.inc and rtl/arm/arm.inc for rfs and wfs arm instruction,
but Is it correct?
extracted from rtl/arm/mathu.inc
.
.
{$if not(defined(gba)) and not(defined(nds))}
const
_FPU_MASK_IM = $00010000; { invalid operation } _FPU_MASK_ZM = $00020000; { divide by zero } _FPU_MASK_OM = $00040000; { overflow } _FPU_MASK_UM = $00080000; { underflow } _FPU_MASK_PM = $00100000; { inexact } _FPU_MASK_DM = $00000000; { denormalized operation } _FPU_MASK_ALL = $001f0000; { mask for all flags }
function FPU_GetCW : dword; nostackframe; assembler;
asm
rfs r0
end;
procedure FPU_SetCW(cw : dword); nostackframe; assembler; asm
wfs r0
end;
{$endif}
.
.
.
What is gba and nds?
extracted from rtl/arm/arm.inc
procedure fpc_cpuinit;
begin
{$if not(defined(wince)) and not(defined(gba)) and not(defined(nds))}
asm
rfs r0
and r0,r0,#0xffe0ffff
orr r0,r0,#0x00020000
wfs r0
end;
{$endif}
end;