[fpc-pascal] Internal error 200312122
Peter Vreman
peter at freepascal.org
Sun Feb 5 20:56:37 CET 2006
> Martin Schreiber schreef:
>> On Sunday 05 February 2006 17.11, Koenraad Lelong wrote:
>>
>>>Just tried it, doesn't work :-(. Compiling with ppc386 for i386-linux
>>>works fine, compiling with ppcrossarm for arm-linux gives the error.
>>>Could this be a processor specific error ?
>>
>>
>> compiler/cgobj.pas:548:
>>
>> function
>> tcg.getintregister(list:Taasmoutput;size:Tcgsize):Tregister;
>> begin
>> if not assigned(rg[R_INTREGISTER]) then
>> internalerror(200312122);
>> result:=rg[R_INTREGISTER].getregister(list,cgsize2subreg(size));
>> end;
>>
>> Martin
>
> OK, now I know that I can search for such an error. I assumed they were
> put together in the source (somestring1+somestring2...).
> I'm going to look at that (although with little hope, I'm not into
> compilers ;-)).
Internalerror numbers are just unique numbers be using <date><seqnr>. They
don't have any meaning.
Quick intro for debugging this.
- Build compiler with debug info: 'make cycle OPT=-gl'
- Compile source with this new compiler in gdb:
- gdb --args <newcompiler> <args>
- (gdb) br INTERNALERROR
- (gdb) dir <pathtocompilersource>
- (gdb) r
- Hit breakpoint
- (gdb) bt
- The backtrace will give you more info. Use 'fr <framenr>' to jump to
a function in the callstack so you can watch the code and variables.
More information about the fpc-pascal
mailing list