summaryrefslogtreecommitdiff
path: root/packages/gdbint
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-12-09 14:32:19 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-12-09 14:32:19 +0000
commit98966d82cf21b3d006cbb120f1854d481433649d (patch)
treeaf15b294155feaf71c14a6474dea685690507782 /packages/gdbint
parent8b1d081030c9e49e777f036ba49475ce84c1551b (diff)
downloadfpc-98966d82cf21b3d006cbb120f1854d481433649d.tar.gz
+ bp_location struct added
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@14376 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gdbint')
-rw-r--r--packages/gdbint/src/gdbint.pp44
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/gdbint/src/gdbint.pp b/packages/gdbint/src/gdbint.pp
index 371d842905..b0a072971b 100644
--- a/packages/gdbint/src/gdbint.pp
+++ b/packages/gdbint/src/gdbint.pp
@@ -798,6 +798,14 @@ type
bpdisp = (del,del_at_next_stop,disable,donttouch);
+ pbp_location = ^bp_location;
+
+ bp_loc_type = (bp_loc_software_breakpoint, bp_loc_hardware_breakpoint,
+ bp_loc_hardware_watchpoint, bp_loc_other);
+
+
+ target_hw_bp_type = (hw_write, hw_read, hw_access, hw_execute);
+
{$PACKRECORDS 4}
pbreakpoint = ^breakpoint;
breakpoint = record
@@ -806,14 +814,20 @@ type
enable : tenable;
disposition : bpdisp;
number : longint;
+{$ifdef GDB_USES_BP_LOCATION}
+ loc : pbp_location;
+{$else not GDB_USES_BP_LOCATION}
address : CORE_ADDR;
+{$endif not GDB_USES_BP_LOCATION}
line_number : longint;
source_file : pchar;
silent : byte;
ignore_count : longint;
+{$ifndef GDB_USES_BP_LOCATION}
shadow_contents : array[0..15] of char;
inserted : char;
duplicate : char;
+{$endif not GDB_USES_BP_LOCATION}
commands : pointer; {^command_line}
frame : CORE_ADDR;
cond : pointer; {^expression}
@@ -833,6 +847,36 @@ type
section : pointer; {^asection}
end;
+ bp_target_info = record
+ placed_address_space : pointer;{paddress_space;}
+ placed_address : CORE_ADDR;
+ shadow_contents : array[0..15] of char;
+ shadow_len : longint;
+ placed_size : longint;
+ end;
+
+ bp_location = record
+ next : pbp_location;
+ loc_type : bp_loc_type;
+ owner : pbreakpoint;
+ cond : pointer;{pexpression;}
+ shlib_disabled : byte;
+ enabled : byte;
+ inserted : byte;
+ duplicate : byte;
+ gdbarch : pointer;{pgdbarch;}
+ pspace : pointer;{pprogram_space;}
+ address : CORE_ADDR;
+ length : longint;
+ watchpoint_type : target_hw_bp_type;
+ section : pointer;{pobj_section;}
+ requested_address : CORE_ADDR;
+ function_name : ^char;
+ target_info : bp_target_info;
+ overlay_target_info : bp_target_info;
+ events_till_retirement : longint;
+ end;
+
tfreecode=(free_nothing,free_contents,free_linetable);
psymtab = ^symtab;