diff options
Diffstat (limited to 'gdb/breakpoint.h')
-rw-r--r-- | gdb/breakpoint.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 1b711c0..6731e68 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -258,6 +258,10 @@ struct bp_location /* Data for specific breakpoint types. These could be a union, but simplicity is more important than memory usage for breakpoints. */ + /* Architecture associated with this location's address. May be + different from the breakpoint architecture. */ + struct gdbarch *gdbarch; + /* Note that zero is a perfectly valid code address on some platforms (for example, the mn10200 (OBSOLETE) and mn10300 simulators). NULL is not a special value for this field. Valid for all types except @@ -326,7 +330,7 @@ struct breakpoint_ops enum print_stop_action (*print_it) (struct breakpoint *); /* Display information about this breakpoint, for "info breakpoints". */ - void (*print_one) (struct breakpoint *, CORE_ADDR *); + void (*print_one) (struct breakpoint *, struct bp_location **); /* Display information about this breakpoint after setting it (roughly speaking; this is called from "mention"). */ @@ -394,6 +398,8 @@ struct breakpoint /* String we used to set the breakpoint (malloc'd). */ char *addr_string; + /* Architecture we used to set the breakpoint. */ + struct gdbarch *gdbarch; /* Language we used to set the breakpoint. */ enum language language; /* Input radix we used to set the breakpoint. */ @@ -698,10 +704,10 @@ extern void breakpoint_re_set (void); extern void breakpoint_re_set_thread (struct breakpoint *); extern struct breakpoint *set_momentary_breakpoint - (struct symtab_and_line, struct frame_id, enum bptype); + (struct gdbarch *, struct symtab_and_line, struct frame_id, enum bptype); extern struct breakpoint *set_momentary_breakpoint_at_pc - (CORE_ADDR pc, enum bptype type); + (struct gdbarch *, CORE_ADDR pc, enum bptype type); extern struct breakpoint *clone_momentary_breakpoint (struct breakpoint *bpkt); @@ -727,7 +733,8 @@ extern void awatch_command_wrapper (char *, int); extern void rwatch_command_wrapper (char *, int); extern void tbreak_command (char *, int); -extern void set_breakpoint (char *address, char *condition, +extern void set_breakpoint (struct gdbarch *gdbarch, + char *address, char *condition, int hardwareflag, int tempflag, int thread, int ignore_count, int pending, @@ -834,9 +841,11 @@ extern void mark_breakpoints_out (void); extern void make_breakpoint_permanent (struct breakpoint *); -extern struct breakpoint *create_solib_event_breakpoint (CORE_ADDR); +extern struct breakpoint *create_solib_event_breakpoint (struct gdbarch *, + CORE_ADDR); -extern struct breakpoint *create_thread_event_breakpoint (CORE_ADDR); +extern struct breakpoint *create_thread_event_breakpoint (struct gdbarch *, + CORE_ADDR); extern void remove_solib_event_breakpoints (void); @@ -857,14 +866,14 @@ extern int remove_hw_watchpoints (void); /* Manage a software single step breakpoint (or two). Insert may be called twice before remove is called. */ -extern void insert_single_step_breakpoint (CORE_ADDR); +extern void insert_single_step_breakpoint (struct gdbarch *, CORE_ADDR); extern void remove_single_step_breakpoints (void); /* Manage manual breakpoints, separate from the normal chain of breakpoints. These functions are used in murky target-specific ways. Please do not add more uses! */ -extern void *deprecated_insert_raw_breakpoint (CORE_ADDR); -extern int deprecated_remove_raw_breakpoint (void *); +extern void *deprecated_insert_raw_breakpoint (struct gdbarch *, CORE_ADDR); +extern int deprecated_remove_raw_breakpoint (struct gdbarch *, void *); /* Check if any hardware watchpoints have triggered, according to the target. */ |