[fpc-devel] Revisiting MacOS for PPC (and possibly 68K)

Mark Morgan Lloyd markMLl.fpc-devel at telemetry.co.uk
Mon Dec 10 19:45:38 CET 2012


Mark Morgan Lloyd wrote:

>>>> Not necessarily. It seems to be related to something "external".

OK, I get that now that I'm looking at the functions etc.

>>>> You could try the following by adjusting the compiler source: before 
>>>> the internalerror (in compiler/powerpc/agppcmpw.pas)

Noting that this is the writer for the MPW-format assembler, rather than 
the GNU-format which is presumably tested more often.

>> Couldn't you use Lazarus for that? Open the "ppcppc.lpi" project, 
>> adjust the command line arguments, compile and run... at least that's 
>> how I do my compiler development ;)
> 
> OK, I've done a bit of that when I was starting to look at the MIPS 
> compiler a year or so ago. I'll see how far I can get.

Narrowing it down a bit with the help of Lazarus to WriteExternals 
calling WriteExternal:

 >>> In TAsmData.RefAsmSymbol(), param is "U_$SYSTEM_$$_READWRITESTRTEXT"
 >>> In TAsmData.RefAsmSymbol(), param is "THREADVARLIST_$SYSTEM"
 >>> In TPPCMPWAssembler.WriteExternals, count is 23832
ZZZ PBGetCatInfoSync TAsmSymbol 0
 >>> At index 1387
AT_NONE
PBGetCatInfoSync
system.pp(571) Fatal: Internal error 2003090901
Fatal: Compilation aborted
make[2]: *** [system.ppu] Error 1
make[2]: Leaving directory `/usr/local/src/fpc/fpc-trunk/rtl/macos'

Those >>> are debugging insertions: I'd better change that since they 
look like message quoting.

Bearing in mind that I don't entirely understand what I'm looking at, 
but I think it's significant that the index is neither right at the 
start nor right at the end.

So I suppose that the next thing to do is to (use Lazarus to) look at 
the conditions earlier in the compiler where AT_NONE is being inserted 
in the list.

> [Apropos MIPS: Pierre, any comment on my last mipseb run reported on 
> 29th November?]

-- 
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