diff options
| author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-08-24 13:17:37 +0000 |
|---|---|---|
| committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-08-24 13:17:37 +0000 |
| commit | 1b2eec8e156c7b91fed53cf2feb72db404ea28d1 (patch) | |
| tree | 5aa30a209517d7dd8b02deaec1b189fec7c9665b /packages/gdbint | |
| parent | a16f44838d12c860ff9fd0adc42e01947dc129d6 (diff) | |
| download | fpc-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.pp | 17 |
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'; |
