summaryrefslogtreecommitdiff
path: root/packages/gdbint
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-08-24 13:17:37 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-08-24 13:17:37 +0000
commit1b2eec8e156c7b91fed53cf2feb72db404ea28d1 (patch)
tree5aa30a209517d7dd8b02deaec1b189fec7c9665b /packages/gdbint
parenta16f44838d12c860ff9fd0adc42e01947dc129d6 (diff)
downloadfpc-1b2eec8e156c7b91fed53cf2feb72db404ea28d1.tar.gz
* fix current_address type
* add python_libdir global cvar to avoid linking main.o from libgdb.a git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15889 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gdbint')
-rw-r--r--packages/gdbint/src/gdbint.pp17
1 files changed, 13 insertions, 4 deletions
diff --git a/packages/gdbint/src/gdbint.pp b/packages/gdbint/src/gdbint.pp
index 11168f5cb2..6068a15ffa 100644
--- a/packages/gdbint/src/gdbint.pp
+++ b/packages/gdbint/src/gdbint.pp
@@ -630,7 +630,6 @@ type
frame_level,
command_level,
stop_breakpoint_number,
- current_address,
current_line_number,
signal_start,
signal_end,
@@ -648,6 +647,7 @@ type
line_end : longint;
signal_name,
signal_string : pchar;
+ current_address,
current_pc : CORE_ADDR;
{ breakpoint }
last_breakpoint_number,
@@ -2360,10 +2360,14 @@ var
begin
{$ifdef GDB_USES_BP_LOCATION}
- sym:=find_pc_line(b.loc^.address,0);
+ if assigned (b.loc) then
+ sym:=find_pc_line(b.loc^.address,0)
{$else not GDB_USES_BP_LOCATION}
- sym:=find_pc_line(b.address,0);
+ if (b.address <> 0) then
+ sym:=find_pc_line(b.address,0)
{$endif not GDB_USES_BP_LOCATION}
+ else
+ fillchar (sym, sizeof(sym), #0);
end;
begin
get_pc_line;
@@ -2374,7 +2378,10 @@ begin
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;
+ if assigned (b.loc) then
+ last_breakpoint_address:=b.loc^.address
+ else
+ last_breakpoint_address:=0;
{$else not GDB_USES_BP_LOCATION}
last_breakpoint_address:=b.address;
{$endif not GDB_USES_BP_LOCATION}
@@ -2983,6 +2990,7 @@ end;
{$ifdef GDB_HAS_SYSROOT}
var gdb_sysroot : pchar; cvar;public;
gdb_datadir : pchar; cvar;public;
+ python_libdir : pchar;cvar;public;
gdb_sysrootc : char;
return_child_result : longbool;cvar;public;
return_child_result_value : longint;cvar;public;
@@ -2999,6 +3007,7 @@ begin
gdb_sysrootc := #0;
gdb_sysroot := @gdb_sysrootc;
gdb_datadir := @gdb_sysrootc;
+ python_libdir := @gdb_sysrootc;
{$endif}
{$ifdef GDB_HAS_DEBUG_FILE_DIRECTORY}
debug_file_directory := '/usr/local/lib';