[fpc-pascal] Which gdb version to use?

Martin Schreiber mse00000 at gmail.com
Fri Dec 19 08:57:06 CET 2014


On Thursday 18 December 2014 18:19:06 Martin Schreiber wrote:
> On Thursday 18 December 2014 14:43:42 Pierre Free Pascal wrote:
> > Did you try to use 7.7 or later release?
>
> gdb compiled from git gdb-7.8-branch
> 84aa7422f440868fea3359fde953c8375ca3409c works, thanks.

No, it is not OK. FPC fixes_2_6 i386-linux -gl -O-:

With the MSEgui demo program
https://gitorious.org/mseide-msegui/mseide-msegui/source/apps/demo

gdb-7.8-branch (7.8.1):
"
[...]
Reading symbols from ./demo...done.
(gdb) break main.pas:25
Breakpoint 1 at 0x8099a5f: file main.pas, line 25.
(gdb) run
Starting program: /home/mse/packs/standard/git/mseide-msegui/apps/demo/demo
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Breakpoint 1, TMAINFO__EXITONEXECUTE (SENDER=0xb7a6a000, this=<error reading 
variable>) at main.pas:25
25       application.terminated:= true;
(gdb) print ftag
Type TMAINFO has no component named ftag.
(gdb) print self.ftag
warning: can't find linker symbol for virtual table for `TMAINFO' value
$1 = 0
(gdb)
"

gdb-7.7-branch (7.7.1):
"
Reading symbols from ./demo...done.
(gdb) break main.pas:25
Breakpoint 1 at 0x8099a5f: file main.pas, line 25.
(gdb) run
Starting program: /home/mse/packs/standard/git/mseide-msegui/apps/demo/demo
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Breakpoint 1, TMAINFO__EXITONEXECUTE (SENDER=0xb7a6a000, this=<error reading 
variable>) at main.pas:25
25       application.terminated:= true;
(gdb) print ftag
Type TMAINFO has no component named ftag.
(gdb) print self.ftag
warning: can't find linker symbol for virtual table for `TMAINFO' value
$1 = 0
(gdb)          
"

gdb_7_6-branch (7.6.2):
"
Reading symbols 
from /home/mse/packs/standard/git/mseide-msegui/apps/demo/demo...done.
(gdb) break main.pas:25
Breakpoint 1 at 0x8099a5f: file main.pas, line 25.
(gdb) run
Starting program: /home/mse/packs/standard/git/mseide-msegui/apps/demo/./demo
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no 
attribute 'name':
Breakpoint 1, TMAINFO__EXITONEXECUTE (SENDER=0xb7a6a000, this=<error reading 
variable>) at main.pas:25
25       application.terminated:= true;
(gdb) print ftag
warning: can't find linker symbol for virtual table for `TMAINFO' value
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no 
attribute 'name':
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no 
attribute 'name':
$1 = 0
(gdb) print self.ftag
warning: can't find linker symbol for virtual table for `TMAINFO' value
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no 
attribute 'name':
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no 
attribute 'name':
$2 = 0
(gdb)
"

gdb_7_5-branch (7.5.1):
"
Reading symbols 
from /home/mse/packs/standard/git/mseide-msegui/apps/demo/demo...done.
(gdb) break main.pas:25
Breakpoint 1 at 0x8099a5f: file main.pas, line 25.
(gdb) run
Starting program: /home/mse/packs/standard/git/mseide-msegui/apps/demo/demo
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Breakpoint 1, TMAINFO__EXITONEXECUTE (SENDER=0xb7a6a000, this=<error reading 
variable>) at main.pas:25
25       application.terminated:= true;
(gdb) print ftag
$1 = 0
(gdb) print self.ftag
$2 = 0
(gdb)
"

With the "assertion crash" program
https://gitorious.org/mseuniverse/mseuniverse/source/testcase/gdb/assertioncrash/invalidvar.pas

gdb-7.8-branch (7.8.1):
"
Reading symbols from ./invalidvar...Reading symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar.dbg...done.
done.
(gdb) print po1^.c
Type RECTY has no component named c.
(gdb)
"

gdb-7.7-branch (7.7.1):
"
Reading symbols from ./invalidvar...Reading symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar.dbg...done.
done.
(gdb) print po1^.c
Type RECTY has no component named c.
(gdb)
"

gdb_7_6-branch (7.6.2):
"
Reading symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar...Reading 
symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar.dbg...done.
done.
(gdb) print po1^.c
parse.c:588: internal-error: mark_struct_expression: Assertion 
`parse_completion && expout_tag_completion_type == TYPE_CODE_UNDEF' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
"

gdb_7_5-branch (7.5.1):
"
Reading symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar...Reading 
symbols 
from /home/mse/packs/standard/git/mseuniverse/testcase/gdb/assertioncrash/invalidvar.dbg...done.
done.
(gdb) print po1^.c
Type RECTY has no component named c.
(gdb) 
"

So the last working gdb with FPC is 7.5.1.

Martin



More information about the fpc-pascal mailing list