[fpc-devel] Re: On a port of Free Pascal to the IBM 370

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Fri Jan 20 11:46:21 CET 2012

Mr Paul Robinson wrote:

 >> Still, starting with the Linux for S/390 (or are S/390 and S/370
 >> completely different animals?)
 > Similar to the differences between Pentium and IAS-64, the 390 is a
 > 64-bit version of the 370.

I think you mean x86-64 there, but if you really do mean the IA-64, then 
that's... not entirely correct. The IA-64, AKA Itanium or in some 
quarters Itanic, is profoundly different from the Pentium at all levels.

As I understand it the 390 and later the zSeries are evolutionary steps 
from the 370 and earlier 360. The correct analogy there is that x86-64 
(x64) is an evolutionary step from the Pentium, and from the earlier 
'486 and '386.

More to the point, post-'92 390s are an evolutionary step from the 370, 
plus they have facilities for inline literals that older machines lack. 
Insisting on using /only/ 370 facilities when there are one or two 
things in 390s that make life much easier is comparable to insisting on 
writing a compiler for the original 8086 when the '186 and all successor 
chips had the pusha/popa opcodes that made life much easier.

 >> probably a very good idea to avoid having to tackle both a different
 >> HW platform and a different OS at the same time (the Linux port to
 >> S/390 apparently uses ASCII according to what I found on Internet).
 >> Obviously, the OS may follow once the new HW platform is in working
 >> state.
 > I may take a look at it, but I figured getting a Linux port was a
 > substantial amount of work I didn't want to do right now; I have code
 > I can use for the OS target I am using, I can know if it works or know
 > why it doesn't.  Not so for the 390 or for Linux.   I can, conceivably
 > include it as an option with it stubbed for the moment, then as I
 > figure out how to implement the interface to it I can.

Start off with Linux, using the existing RTL as a starting point. There 
isn't that much in it that's written in assembler, and trying to redo 
swathes of it based on your existing code is going to make life 
difficult for everybody- both future maintainers and people who are 
trying to help you in the initial port.

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-devel mailing list