X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftarget.h;h=b05a971e60093aa0674c5f66d80d1930958d7f39;hb=5018ce90c1205d79f29adf954b0fd5e613d08430;hp=9078a420018e6d72a882fd6c96a95ada3e64571f;hpb=3d6c62048d8408fbfb6c66830e0c650e36259637;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target.h b/gdb/target.h index 9078a42001..b05a971e60 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1,6 +1,6 @@ /* Interface between GDB and target environments, including files and processes - Copyright (C) 1990-2019 Free Software Foundation, Inc. + Copyright (C) 1990-2020 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by John Gilmore. @@ -42,7 +42,7 @@ struct inferior; #include "infrun.h" /* For enum exec_direction_kind. */ #include "breakpoint.h" /* For enum bptype. */ -#include "common/scoped_restore.h" +#include "gdbsupport/scoped_restore.h" /* This include file defines the interface between the main part of the debugger, and the part which is target-specific, or @@ -74,15 +74,14 @@ struct inferior; #include "bfd.h" #include "symtab.h" #include "memattr.h" -#include "common/vec.h" -#include "common/gdb_signals.h" +#include "gdbsupport/gdb_signals.h" #include "btrace.h" #include "record.h" #include "command.h" #include "disasm.h" #include "tracepoint.h" -#include "common/break-common.h" /* For enum target_hw_bp_type. */ +#include "gdbsupport/break-common.h" /* For enum target_hw_bp_type. */ enum strata { @@ -137,8 +136,6 @@ enum target_object { /* AVR target specific transfer. See "avr-tdep.c" and "remote.c". */ TARGET_OBJECT_AVR, - /* SPU target specific transfer. See "spu-tdep.c". */ - TARGET_OBJECT_SPU, /* Transfer up-to LEN bytes of memory starting at OFFSET. */ TARGET_OBJECT_MEMORY, /* Memory, avoiding GDB's data cache and trusting the executable. @@ -481,6 +478,13 @@ struct target_ops TARGET_DEFAULT_NORETURN (noprocess ()); virtual void commit_resume () TARGET_DEFAULT_IGNORE (); + /* See target_wait's description. Note that implementations of + this method must not assume that inferior_ptid on entry is + pointing at the thread or inferior that ends up reporting an + event. The reported event could be for some other thread in + the current inferior or even for a different process of the + current target. inferior_ptid may also be null_ptid on + entry. */ virtual ptid_t wait (ptid_t, struct target_waitstatus *, int TARGET_DEBUG_PRINTER (target_debug_print_options)) TARGET_DEFAULT_FUNC (default_target_wait); @@ -622,7 +626,7 @@ struct target_ops TARGET_DEFAULT_RETURN (1); virtual int remove_exec_catchpoint (int) TARGET_DEFAULT_RETURN (1); - virtual void follow_exec (struct inferior *, char *) + virtual void follow_exec (struct inferior *, const char *) TARGET_DEFAULT_IGNORE (); virtual int set_syscall_catchpoint (int, bool, int, gdb::array_view) @@ -682,7 +686,7 @@ struct target_ops virtual bool has_memory () { return false; } virtual bool has_stack () { return false; } virtual bool has_registers () { return false; } - virtual bool has_execution (ptid_t) { return false; } + virtual bool has_execution (inferior *inf) { return false; } /* Control thread execution. */ virtual thread_control_capabilities get_thread_control_capabilities () @@ -881,11 +885,10 @@ struct target_ops /* Determine current architecture of thread PTID. The target is supposed to determine the architecture of the code where - the target is currently stopped at (on Cell, if a target is in spu_run, - to_thread_architecture would return SPU, otherwise PPC32 or PPC64). - This is architecture used to perform decr_pc_after_break adjustment, - and also determines the frame architecture of the innermost frame. - ptrace operations need to operate according to target_gdbarch (). */ + the target is currently stopped at. The architecture information is + used to perform decr_pc_after_break adjustment, and also to determine + the frame architecture of the innermost frame. ptrace operations need to + operate according to target_gdbarch (). */ virtual struct gdbarch *thread_architecture (ptid_t) TARGET_DEFAULT_RETURN (NULL); @@ -1538,7 +1541,7 @@ enum flash_preserve_mode that supports writing to flash memory, and it should be used for all cases where access to flash memory is desirable. - REQUESTS is the vector (see vec.h) of memory_write_request. + REQUESTS is the vector of memory_write_request. PRESERVE_FLASH_P indicates what to do with blocks which must be erased, but not completely rewritten. PROGRESS_CB is a function that will be periodically called to provide @@ -1637,7 +1640,7 @@ int target_follow_fork (int follow_child, int detach_fork); /* Handle the target-specific bookkeeping required when the inferior makes an exec call. INF is the exec'd inferior. */ -void target_follow_exec (struct inferior *inf, char *execd_pathname); +void target_follow_exec (struct inferior *inf, const char *execd_pathname); /* On some targets, we can catch an inferior exec event when it occurs. These functions insert/remove an already-created @@ -1787,9 +1790,10 @@ extern int target_has_registers_1 (void); case this will become true after to_create_inferior or to_attach. */ -extern int target_has_execution_1 (ptid_t); +extern bool target_has_execution_1 (inferior *inf); -/* Like target_has_execution_1, but always passes inferior_ptid. */ +/* Like target_has_execution_1, but always passes + current_inferior(). */ extern int target_has_execution_current (void); @@ -1802,7 +1806,7 @@ extern int target_has_execution_current (void); (current_top_target ()->get_thread_control_capabilities () & tc_schedlock) /* Controls whether async mode is permitted. */ -extern int target_async_permitted; +extern bool target_async_permitted; /* Can the target support asynchronous execution? */ #define target_can_async_p() (current_top_target ()->can_async_p ()) @@ -2482,12 +2486,12 @@ extern int remote_timeout; extern scoped_restore_tmpl make_scoped_restore_show_memory_breakpoints (int show); -extern int may_write_registers; -extern int may_write_memory; -extern int may_insert_breakpoints; -extern int may_insert_tracepoints; -extern int may_insert_fast_tracepoints; -extern int may_stop; +extern bool may_write_registers; +extern bool may_write_memory; +extern bool may_insert_breakpoints; +extern bool may_insert_tracepoints; +extern bool may_insert_fast_tracepoints; +extern bool may_stop; extern void update_target_permissions (void);