[fpc-devel] Dwarf3 and the encoding of classes

Joost van der Sluis joost at cnoc.nl
Wed Jan 12 11:39:59 CET 2011

On Tue, 2011-01-11 at 22:12 +0000, Martin wrote:
> On 11/01/2011 21:39, Joost van der Sluis wrote:
> > On Tue, 2011-01-11 at 15:59 +0000, Martin wrote:
> >> On 11/01/2011 09:54, Joost van der Sluis wrote:
> >>> There's a new version at that location now. This one has a better
> >>> case-sensitivity patch and support for viewing class-constants. For
> >>> those interested...
> >>>
> >> The new one crashes, when my test application is run (dwarf and dwarf 3):
> > I coudn't reproduce, but I had some local changes. I reverted them and
> > now I also have some strange results. I have no time to invest this now
> > any further. But maybe you can try with my local changes. (Although in
> > principle this shoudn't make any difference)
> > +      ExecuteCommand('-gdb-set case-sensitive off', []);
> IT could be this line => but with it, all my other gdb versions start 
> failing => including the one I use to run the testcase (the one I have 
> configured in lazarus / 7.2-1)

That is bad news, because it seems like it that the
final-case-sensitivity solution will be that the case-sensitive flag is
used to control the behavior. But that will then break backwards
A solution could be that the default case-sensitivity setting is set to
'auto' by Lazarus, and that we set 'off' as the default for Pascal in
newer GDB versions, that do properly support it. I don't know if that
works, though. And I don't know what Pierre thinks of this.

> But it's the same line in the error msg => so seems there is something.

The underlying problem is that a symbol is found, and then somewhere
else in the code, gdb needs some more information about the symbol. It
tries to look up the symbol, but can't find it anymore. Then you get
this assertion-problem. So it has indeed to do with the symbol-search
routines. (Which are indeed broken when case-sensitivity is set off in
unpatched versions of gdb)


More information about the fpc-devel mailing list