[fpc-pascal] Running FPC on a system that supports multiple architectures

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Fri Oct 5 11:34:20 CEST 2012

Marco van de Voort wrote:
> In our previous episode, Mark Morgan Lloyd said:
>> This is an "out of interest" question rather than being particularly 
>> important. I've managed to get my hands on an Itanium-based system for 
>> my collection, and find that it runs the x86 Linux variant of FPC fairly 
>> happily. However, GNU as and so on clearly don't know about x86 
>> assembler: they expect the monstrosity that is IA-64.
>> I could obviously build appropriate binutils with the conventional 
>> naming prexies, but what is the preferred way of telling FPC/PPC which 
>> binutils to use?
> http://www.stack.nl/~marcov/buildfaq/#toc-Subsection-1.6.3
>> Is that where the CPU_TARGET and OS_TARGET shell 
>> variables come itno it, or are they only for use in makefiles?
> http://www.stack.nl/~marcov/buildfaq/#toc-Section-1.6 point 5 in the list.
> IIRC there is also a CROSSBINUTILSPREFIX in case you only have to override
> it for the "cross" part.

Thanks Marco, I'd missed -XP since I was mistakenly looking at the -A 

For information, it works, but I'm getting an error when it calls the 
linker. If I link using a script it's fine:

~$ fpc -XPi486-linux- -sh test.pas
Free Pascal Compiler version 2.6.0 [2012/05/05] for i386
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling test.pas
Closing script ppas.sh
6 lines compiled, 0.8 sec
~$ ./ppas.sh
Linking test
/usr/local/bin/i486-linux-ld: warning: link.res contains output 
sections; did you forget -T?
~$ ./test
Hello, World!

Does x86-64 on Linux provide similar emulation, and does it also require 
a script for reliable operation?

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-pascal mailing list