diff options
| author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-12-09 14:53:00 +0000 |
|---|---|---|
| committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-12-09 14:53:00 +0000 |
| commit | 556ecf15734d71bbfc3a16997987c56ccb43707a (patch) | |
| tree | aa456b2f376a7fb45040dddaa7b7f06d661ec92e /packages/gdbint | |
| parent | 98966d82cf21b3d006cbb120f1854d481433649d (diff) | |
| download | fpc-556ecf15734d71bbfc3a16997987c56ccb43707a.tar.gz | |
BP_LOCATION is used from 6.6
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@14377 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gdbint')
| -rw-r--r-- | packages/gdbint/src/gdbint.pp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/gdbint/src/gdbint.pp b/packages/gdbint/src/gdbint.pp index b0a072971b..c9c0bbc4c8 100644 --- a/packages/gdbint/src/gdbint.pp +++ b/packages/gdbint/src/gdbint.pp @@ -88,6 +88,7 @@ interface {$info using gdb 6.6.x} {$define GDB_V6} {$define GDB_HAS_DB_COMMANDS} + {$define GDB_USES_BP_LOCATION} {$define GDB_NEEDS_NO_ERROR_INIT} {$define GDB_USES_EXPAT_LIB} {$define GDB_HAS_DEBUG_FILE_DIRECTORY} @@ -98,6 +99,7 @@ interface {$info using gdb 6.7.x} {$define GDB_V6} {$define GDB_HAS_DB_COMMANDS} + {$define GDB_USES_BP_LOCATION} {$define GDB_NEEDS_NO_ERROR_INIT} {$define GDB_USES_EXPAT_LIB} {$define GDB_HAS_DEBUG_FILE_DIRECTORY} @@ -108,6 +110,7 @@ interface {$info using gdb 6.8.x} {$define GDB_V6} {$define GDB_HAS_DB_COMMANDS} + {$define GDB_USES_BP_LOCATION} {$define GDB_NEEDS_NO_ERROR_INIT} {$define GDB_USES_EXPAT_LIB} {$define GDB_HAS_DEBUG_FILE_DIRECTORY} @@ -126,6 +129,7 @@ interface {$ifdef GDB_V7} {$define GDB_V6} {$define GDB_HAS_DB_COMMANDS} + {$define GDB_USES_BP_LOCATION} {$define GDB_NEEDS_NO_ERROR_INIT} {$define GDB_USES_EXPAT_LIB} {$define GDB_USES_LIBDECNUMBER} @@ -2317,7 +2321,12 @@ var not restored correctly PM } procedure get_pc_line; begin + +{$ifdef GDB_USES_BP_LOCATION} + sym:=find_pc_line(b.loc^.address,0); +{$else not GDB_USES_BP_LOCATION} sym:=find_pc_line(b.address,0); +{$endif not GDB_USES_BP_LOCATION} end; begin get_pc_line; @@ -2327,7 +2336,11 @@ begin { function breakpoints have zero as file and as line !! but they are valid !! } invalid_breakpoint_line:=(b.line_number<>sym.line) and (b.line_number<>0); +{$ifdef GDB_USES_BP_LOCATION} + last_breakpoint_address:=b.loc^.address; +{$else not GDB_USES_BP_LOCATION} last_breakpoint_address:=b.address; +{$endif not GDB_USES_BP_LOCATION} last_breakpoint_line:=sym.line; if assigned(sym.symtab) then last_breakpoint_file:=sym.symtab^.filename |
