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