[fpc-pascal] Why can't 64bit FPC cross-compile 32bit

Graeme Geldenhuys graeme at mastermaths.co.za
Mon Nov 9 14:27:54 CET 2009


Jonas Maebe wrote:
>> Supported targets:
> [snip]
>> Linux for x64_6432
> 
> x64_6432 is not the same as x64_64. It means, afaik, a 32 bit binary
>  running on a 64 bit Linux system. It probably changes some default

Ah yes. Sorry, I did not notice the '32' at the end.


>  library search paths or so. The i386 compiler cannot generate x86_64
>  binaries. The appropriate code generator is simply not available.

Ummm... I'll go read the wiki and buildfaq again. I'm a bit confused
though. When I switched computers and moved from 32bit Linux to 64bit
Linux, I used my 32bit Linux FPC 2.2.5 and cross-compiled a "what I
thought was a 64bit FPC", and have been using that ever since as my
64bit FPC?

So how is what I am using now, not a 64bit FPC? Linux seems to report in
correctly as 64bit? Below is what I was left with after I did the
cross-compile from 32 -> 64 bit.

$ file /opt/fpc_2.2.5/bin/fpc
fpc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically
linked, for GNU/Linux 2.4.0, not stripped

$ file /opt/fpc_2.2.5/lib/fpc/2.2.5/ppcx64
/opt/fpc_2.2.5/lib/fpc/2.2.5/ppcx64: ELF 64-bit LSB executable, x86-64,
version 1 (SYSV), statically linked, for GNU/Linux 2.4.0, not stripped


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/




More information about the fpc-pascal mailing list