X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftarget.h;h=24c803c30afc8799e27e79809efa2b39a0d42d8a;hb=e17a4113357102b55cfa5b80557d590a46a43300;hp=89d99bba0298820639bc8bc89e21be71ac8dad29;hpb=c35b149212fc1bf4cf991e42354b0303682bcead;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target.h b/gdb/target.h index 89d99bba02..24c803c30a 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -305,7 +305,8 @@ extern char *target_read_stralloc (struct target_ops *ops, extern void get_target_memory (struct target_ops *ops, CORE_ADDR addr, gdb_byte *buf, LONGEST len); extern ULONGEST get_target_memory_unsigned (struct target_ops *ops, - CORE_ADDR addr, int len); + CORE_ADDR addr, int len, + enum bfd_endian byte_order); struct thread_info; /* fwd decl for parameter list below: */ @@ -367,11 +368,11 @@ struct target_ops struct target_ops *target); void (*to_files_info) (struct target_ops *); - int (*to_insert_breakpoint) (struct bp_target_info *); - int (*to_remove_breakpoint) (struct bp_target_info *); + int (*to_insert_breakpoint) (struct gdbarch *, struct bp_target_info *); + int (*to_remove_breakpoint) (struct gdbarch *, struct bp_target_info *); int (*to_can_use_hw_breakpoint) (int, int, int); - int (*to_insert_hw_breakpoint) (struct bp_target_info *); - int (*to_remove_hw_breakpoint) (struct bp_target_info *); + int (*to_insert_hw_breakpoint) (struct gdbarch *, struct bp_target_info *); + int (*to_remove_hw_breakpoint) (struct gdbarch *, struct bp_target_info *); int (*to_remove_watchpoint) (CORE_ADDR, int, int); int (*to_insert_watchpoint) (CORE_ADDR, int, int); int (*to_stopped_by_watchpoint) (void); @@ -542,6 +543,9 @@ struct target_ops simultaneously? */ int (*to_supports_multi_process) (void); + /* Determine current architecture of thread PTID. */ + struct gdbarch *(*to_thread_architecture) (struct target_ops *, ptid_t); + int to_magic; /* Need sub-structure for target machine related rather than comm related? */ @@ -736,14 +740,14 @@ extern int inferior_has_execd (ptid_t pid, char **execd_pathname); /* Insert a breakpoint at address BP_TGT->placed_address in the target machine. Result is 0 for success, or an errno value. */ -#define target_insert_breakpoint(bp_tgt) \ - (*current_target.to_insert_breakpoint) (bp_tgt) +#define target_insert_breakpoint(gdbarch, bp_tgt) \ + (*current_target.to_insert_breakpoint) (gdbarch, bp_tgt) /* Remove a breakpoint at address BP_TGT->placed_address in the target machine. Result is 0 for success, or an errno value. */ -#define target_remove_breakpoint(bp_tgt) \ - (*current_target.to_remove_breakpoint) (bp_tgt) +#define target_remove_breakpoint(gdbarch, bp_tgt) \ + (*current_target.to_remove_breakpoint) (gdbarch, bp_tgt) /* Initialize the terminal settings we record for the inferior, before we actually run the inferior. */ @@ -1039,6 +1043,11 @@ extern char *normal_pid_to_str (ptid_t ptid); #define target_pid_to_exec_file(pid) \ (current_target.to_pid_to_exec_file) (pid) +/* Determine current architecture of thread PTID. */ + +#define target_thread_architecture(ptid) \ + (current_target.to_thread_architecture (¤t_target, ptid)) + /* * Iterator function for target memory regions. * Calls a callback function once for each memory region 'mapped' @@ -1101,11 +1110,11 @@ extern char *normal_pid_to_str (ptid_t ptid); #define target_remove_watchpoint(addr, len, type) \ (*current_target.to_remove_watchpoint) (addr, len, type) -#define target_insert_hw_breakpoint(bp_tgt) \ - (*current_target.to_insert_hw_breakpoint) (bp_tgt) +#define target_insert_hw_breakpoint(gdbarch, bp_tgt) \ + (*current_target.to_insert_hw_breakpoint) (gdbarch, bp_tgt) -#define target_remove_hw_breakpoint(bp_tgt) \ - (*current_target.to_remove_hw_breakpoint) (bp_tgt) +#define target_remove_hw_breakpoint(gdbarch, bp_tgt) \ + (*current_target.to_remove_hw_breakpoint) (gdbarch, bp_tgt) #define target_stopped_data_address(target, x) \ (*target.to_stopped_data_address) (target, x) @@ -1221,9 +1230,9 @@ extern struct target_section_table *target_get_section_table /* From mem-break.c */ -extern int memory_remove_breakpoint (struct bp_target_info *); +extern int memory_remove_breakpoint (struct gdbarch *, struct bp_target_info *); -extern int memory_insert_breakpoint (struct bp_target_info *); +extern int memory_insert_breakpoint (struct gdbarch *, struct bp_target_info *); extern int default_memory_remove_breakpoint (struct gdbarch *, struct bp_target_info *);