[fpc-pascal] Cross compile from x86 to Pi

Chris Moody inquiry at greensnakedesign.com
Tue Aug 18 04:16:42 CEST 2015

On 08/15/2015 08:46 PM, Chris Moody wrote:
> On 08/15/2015 07:40 PM, Karoly Balogh (Charlie/SGR) wrote:
>> Hi,
>> On Sat, 15 Aug 2015, Chris Moody wrote:
>>>>> Is there a better guide on how to do this than:
>>>>> http://wiki.freepascal.org/fpcup#Linux_ARM_cross_compiler  ? specifically
>>>>> as far as this
>>>>> sentence is concerned:
>>>>>    *  Linux/Unix build or install the relevant crossbinutils (Linux, unix)
>>>> With Ubuntu/Debian:
>>>> - apt-get install binutils-arm-linux-gnueabihf
>>>> **snip**
>>> Thanks for that Charlie, I now have that installed. Do I have to do the
>>> compile with fpc? or can I do it via Lazarus?
>> I'm pretty sure it's possible with Lazarus, but I can't give exact
>> instructions, because I rarely use Lazarus, I prefer using the compiler
>> itself directly from the command line.
>> However, this page has some pointers:
>> http://wiki.lazarus.freepascal.org/Setup_Cross_Compile_For_ARM#Make_your_first_arm-linux_project_in_Lazarus
>> Charlie
>> _______________________________________________
> Looks like I need to recompile FPC (or make a special compile of it) 
> to be able to compile to ARM.
> That URL you gave me says how to compile it, but not sure about if I 
> need to have some special cross compile code for the 
> CROSSBINDIR=/home/user/lazarus/fpc/binutils/ portion of it, or do I 
> just point it to where Linux installed the items installed with 
> apt-get install binutils-arm-linux-gnueabihf ?
> Thanks once again!
> Chris

So I tried to compile a special version of FPC for arm, I installed: 

And I got as far as this:

/home/chris/Documents/fp/fpcbuild-2.6.4/binutils/bin/as  -o 
/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc/rtl/units/arm-linux/prt0.o arm/prt0.as
arm/prt0.as: Assembler messages:
arm/prt0.as:46: Error: unrecognized symbol type ""
arm/prt0.as:49: Error: expecting operand after ','; got nothing
arm/prt0.as:50: Error: no such instruction: `ldmia sp!,{a2}'
arm/prt0.as:53: Error: no such instruction: `ldr 
arm/prt0.as:54: Error: no such instruction: `ldr 
arm/prt0.as:55: Error: invalid char '[' beginning operand 2 `[ip]'
arm/prt0.as:58: Error: too many memory references for `add'
arm/prt0.as:59: Error: too many memory references for `add'
arm/prt0.as:60: Error: no such instruction: `ldr 
arm/prt0.as:62: Error: invalid char '[' beginning operand 2 `[a3]'
arm/prt0.as:63: Error: invalid char '[' beginning operand 2 `[ip]'
arm/prt0.as:66: Error: no such instruction: `ldr ip,=__stkptr'
arm/prt0.as:67: Error: invalid char '[' beginning operand 2 `[ip]'
arm/prt0.as:69: Error: too many memory references for `sub'
arm/prt0.as:72: Error: no such instruction: `bl PASCALMAIN'
arm/prt0.as:75: Error: unrecognized symbol type ""
arm/prt0.as:78: Error: no such instruction: `swi 0x900001'
arm/prt0.as:79: Error: no such instruction: `b _haltproc'
arm/prt0.as:82: Error: unrecognized symbol type ""
arm/prt0.as:84: Error: no such instruction: `ldr r0,=operatingsystem_result'
arm/prt0.as:85: Error: no such instruction: `ldrb r0,[r0]'
arm/prt0.as:86: Error: expecting operand after ','; got nothing
arm/prt0.as:87: Error: no such instruction: `swi 0x0'
arm/prt0.as:88: Error: no such instruction: `b _haltproc_eabi'
make[6]: *** [prt0.o] Error 1
make[6]: Leaving directory 
make[5]: *** [linux_all] Error 2
make[5]: Leaving directory 
make[4]: *** [rtl] Error 2
make[4]: Leaving directory 
make[3]: *** [cycle] Error 2
make[3]: Leaving directory 
make[2]: *** [compiler_cycle] Error 2
make[2]: Leaving directory `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc'
make[1]: *** [build-stamp.arm-linux] Error 2
make[1]: Leaving directory `/home/chris/Documents/fp/fpcbuild-2.6.4/fpcsrc'
make: *** [fpcsrc/build-stamp.arm-linux] Error 2

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150817/a8395cb5/attachment.html>

More information about the fpc-pascal mailing list