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]
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to