[fpc-pascal] Free Pascal Support for ARM Architecture

Marc Santhoff M.Santhoff at t-online.de
Tue Dec 9 16:40:08 CET 2008

Am Dienstag, den 09.12.2008, 09:53 +0100 schrieb Marco van de Voort:
> In our previous episode, Marc Santhoff said:
> > > some small THUMB things, but FPC doesn't generate THUMB code).
> > 
> > One possible difference coming to my mind (although only a speed issue,
> > not influencing nonetheless working code):
> > 
> > There are some ARM7 (and maybe ARM9, not sure) core variants having no
> > hardware multiplication unit. IIRC the M in TDMI stands for "hardware
> > multiplier unit". Experiences with gcc showed me that the 32x32=64 mult
> > commands are not used in that case.
> Wikipedia also calls ARM7 ARMV3 arch, and only ARM7TDMI ARMV4. This could be
> the reason why. (and maybe the D and the I)
> > It would be nice to have the chance of setting some extra command line
> > arguments to the call to the assembler - I think that is what Riley is
> > is asking for.
> The trick is that if you give FPC that info, it can check both code
> generated and the assembler reader, and do the same AND provide a valid
> source line. IOW, I don't see a good reason to do this in the backend
> assembler, if it can be better done in the frontend.

Since I've been enlighted that I'm mistakenly ignored the fact that fpc
does the code generation and since ARM v4 is only mentioned on ARMs web
site as an ancient architecture mostly faded away I'm strongly with you:

The compiler(s code generator) should take care of target cpu variants
and architectures.

> For the rare (e.g. FPC development related) cases, simply make a few
> scripts with systematic naming that call the assembler with the right
> params, and then select the desired one using -XP.
> IIRC the buildfaq has an example of this (for the -m params)

Or compile the assembler for the desired target cpu as default value if

But since the only ARM powered board I'm dealing with runs on FreeBSD
there is no fpc compiler yet. And no urgent need to have one.


More information about the fpc-pascal mailing list