[fpc-devel] Re. z370 Cross Compilation, Pass 2 of ....

Jonas Maebe jonas.maebe at elis.ugent.be
Sun Sep 1 16:02:08 CEST 2013


On 01 Sep 2013, at 15:00, Mark Morgan Lloyd wrote:

> Sven Barth wrote:
> 
>> - for each used unit:
>>    - parse the unit and generate a node tree for each procedure/function/method (basically platform independant)
>>    - generate a CPU specific linear assembler representation of each node tree (this representation is independant of the specific assembler used)
>>    - if an external assembler (e.g. GNU as) is used: convert the assembler lists to assembler files
>>    - call the assembler (internal assemblers work on the assembler lists directly) to generate the object file
>> - for external linkers (e.g. GNU ld): write a linkscript to instrument the external linker
>> - call the linker (internal linkers work directly on the in memory information the compiler has gathered)
> 
> Presumably that implies that it's not feasible to have an internal assembler followed by a standard platform-specific linker.

The Linux and *BSD x86 platforms by default all use an internal assembler and an external linker. Even an internal linker combined with an external assembler works. The internal linker can load external object files (otherwise it would not be able to link in static libraries).


Jonas




More information about the fpc-devel mailing list