[fpc-devel] On a port of Free Pascal to the IBM 370
Mark Morgan Lloyd
markMLl.fpc-devel at telemetry.co.uk
Wed Jan 18 11:20:19 CET 2012
Tomas Hajny wrote:
> ...except for the EBCDIC stuff, because the common parts of our RTL assume
> ASCII in many places (most of them probably not that difficult to fix by
> adding some platform specific constants changing the behaviour from ASCII
> only to consider EBCDIC too, but scattered around many places and thus
> difficult to find). That doesn't mean it shouldn't be doable, of course,
> it will just require debugging even parts which didn't have to be touched
> during ports to other operating systems.
I used a macro processor called Stage2 for years which was completely
character-set agnostic, assuming only that 1..9 were contiguous and in
sequence and putting them (plus a small number of other special
characters) on the first line of any file; I was looking at an APL
implementation a few weeks ago which did something similar. Thirty years
ago it might have been worth writing an RTL like that, but these days
ASCII and UTF-8 are so utterly dominant that I see little point.
> Still, starting with the Linux for S/390 (or are S/390 and S/370
> completely different animals?) as suggested by Mark would be probably a
The S/390 is an incremental change from the S/370, in the same way that
zSeries is an incremental change from S/390. However in any one of those
architectures there is a significant number of models, and- crucially-
there is a change at one model of the 390 which allows it to accept
inline literals rather than insisting that these be in a table which is
within 4K of the current PC. As I understand it, GCC doesn't support
models that predate that change, and frankly I don't see why FPC should
either; however I don't know the model's formal designation or how to
check for it in RTL code.
> 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.
In my experience, Linux running on an (emulated) S/390 looks almost
exactly like Linux running on any other CPU. There are no character set
issues, and no obvious issues relating to endianness or floating-point
format (I've had no need to examine FP binary representation, but I
think that these days the machines support IEEE).
I'd also point out that IBM have a developer relations program, which
makes a (Red Hat?) VM available to anybody who needs it. I'm sure this
project would qualify for that.
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