[fpc-devel] dwarf for "array [ 0..191] of "

Sven Barth pascaldragon at googlemail.com
Sat Jan 19 15:25:34 CET 2013


On 19.01.2013 15:17, Martin wrote:
> Since I don't know the fpc cdoebase, I can not check this myself.
>
> I suspect it is a gdb issue. But if it is not to much work, maybe
> someone who does know fpc dwarf generation can check that it is not fpc?
>
> I got the following source:
>      type  TFoo = array [0..191] of integer;
>
> and in gdb
>    ptype TFoo
>
> Using dwarf, up to gdb 7.2 (inclusive) the result is ok.
>
> but 7.3 up reports
>      array [0..-65] of LONGINT
>
> SO definitely something changed in GDB.
> But I do not know if the old or new gdb is right.
>
> ---------
> So my guess is fpc declares the index as byte sized type.
>
> If someone can confirm this, and that fpc declares it as unsigned in the
> dwarf info, then it is a gdb issue.

I don't know the dwarf format good enough, but the generation of debug 
information is (mostly?) located in the compiler/dbg*.pas files. Namely 
for dwarf you should look at dbgdwarf.pas and there at the class 
TDebugInfoDwarf of which probably the method appenddef_array is of 
interest for you.

Regards,
Sven




More information about the fpc-devel mailing list