X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftarget.h;h=34539c16ca55bd30d217ddf979d7f58715a3c3c0;hb=2117c711ae07700adb57ea5b5ca61e4c32d7e3d2;hp=71062c90d4d76df2f19e5f79ba73d01689acd3cd;hpb=3679abfabcafc0bd855c30b264d9260d7b77da53;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target.h b/gdb/target.h index 71062c90d4..34539c16ca 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -409,7 +409,8 @@ struct target_ops TARGET_DEFAULT_IGNORE (); void (*to_detach) (struct target_ops *ops, const char *, int) TARGET_DEFAULT_IGNORE (); - void (*to_disconnect) (struct target_ops *, char *, int); + void (*to_disconnect) (struct target_ops *, char *, int) + TARGET_DEFAULT_NORETURN (tcomplain ()); void (*to_resume) (struct target_ops *, ptid_t, int, enum gdb_signal) TARGET_DEFAULT_NORETURN (noprocess ()); ptid_t (*to_wait) (struct target_ops *, @@ -546,7 +547,8 @@ struct target_ops TARGET_DEFAULT_RETURN (0); void (*to_mourn_inferior) (struct target_ops *) TARGET_DEFAULT_FUNC (default_mourn_inferior); - int (*to_can_run) (struct target_ops *); + int (*to_can_run) (struct target_ops *) + TARGET_DEFAULT_RETURN (0); /* Documentation of this routine is provided with the corresponding target_* macro. */ @@ -558,7 +560,8 @@ struct target_ops void (*to_program_signals) (struct target_ops *, int, unsigned char *) TARGET_DEFAULT_IGNORE (); - int (*to_thread_alive) (struct target_ops *, ptid_t ptid); + int (*to_thread_alive) (struct target_ops *, ptid_t ptid) + TARGET_DEFAULT_RETURN (0); void (*to_find_new_threads) (struct target_ops *) TARGET_DEFAULT_IGNORE (); char *(*to_pid_to_str) (struct target_ops *, ptid_t) @@ -668,7 +671,8 @@ struct target_ops This method should not cache data; if the memory map could change unexpectedly, it should be invalidated, and higher layers will re-fetch it. */ - VEC(mem_region_s) *(*to_memory_map) (struct target_ops *); + VEC(mem_region_s) *(*to_memory_map) (struct target_ops *) + TARGET_DEFAULT_RETURN (0); /* Erases the region of flash memory starting at ADDRESS, of length LENGTH. @@ -686,10 +690,12 @@ struct target_ops void (*to_flash_done) (struct target_ops *) TARGET_DEFAULT_NORETURN (tcomplain ()); - /* Describe the architecture-specific features of this target. - Returns the description found, or NULL if no description - was available. */ - const struct target_desc *(*to_read_description) (struct target_ops *ops); + /* Describe the architecture-specific features of this target. If + OPS doesn't have a description, this should delegate to the + "beneath" target. Returns the description found, or NULL if no + description was available. */ + const struct target_desc *(*to_read_description) (struct target_ops *ops) + TARGET_DEFAULT_RETURN (0); /* Build the PTID of the thread on which a given task is running, based on LWP and THREAD. These values are extracted from the @@ -704,7 +710,8 @@ struct target_ops Return -1 if there is insufficient buffer for a whole entry. Return 1 if an entry was read into *TYPEP and *VALP. */ int (*to_auxv_parse) (struct target_ops *ops, gdb_byte **readptr, - gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp); + gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) + TARGET_DEFAULT_FUNC (default_auxv_parse); /* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the sequence of bytes in PATTERN with length PATTERN_LEN. @@ -715,7 +722,8 @@ struct target_ops int (*to_search_memory) (struct target_ops *ops, CORE_ADDR start_addr, ULONGEST search_space_len, const gdb_byte *pattern, ULONGEST pattern_len, - CORE_ADDR *found_addrp); + CORE_ADDR *found_addrp) + TARGET_DEFAULT_FUNC (default_search_memory); /* Can target execute in reverse? */ int (*to_can_execute_reverse) (struct target_ops *) @@ -997,18 +1005,21 @@ struct target_ops /* Enable branch tracing for PTID and allocate a branch trace target information struct for reading and for disabling branch trace. */ struct btrace_target_info *(*to_enable_btrace) (struct target_ops *, - ptid_t ptid); + ptid_t ptid) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Disable branch tracing and deallocate TINFO. */ void (*to_disable_btrace) (struct target_ops *, - struct btrace_target_info *tinfo); + struct btrace_target_info *tinfo) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Disable branch tracing and deallocate TINFO. This function is similar to to_disable_btrace, except that it is called during teardown and is only allowed to perform actions that are safe. A counter-example would be attempting to talk to a remote target. */ void (*to_teardown_btrace) (struct target_ops *, - struct btrace_target_info *tinfo); + struct btrace_target_info *tinfo) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Read branch trace data for the thread indicated by BTINFO into DATA. DATA is cleared before new trace is added. @@ -1017,31 +1028,39 @@ struct target_ops enum btrace_error (*to_read_btrace) (struct target_ops *self, VEC (btrace_block_s) **data, struct btrace_target_info *btinfo, - enum btrace_read_type type); + enum btrace_read_type type) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Stop trace recording. */ - void (*to_stop_recording) (struct target_ops *); + void (*to_stop_recording) (struct target_ops *) + TARGET_DEFAULT_IGNORE (); /* Print information about the recording. */ void (*to_info_record) (struct target_ops *); /* Save the recorded execution trace into a file. */ - void (*to_save_record) (struct target_ops *, const char *filename); + void (*to_save_record) (struct target_ops *, const char *filename) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Delete the recorded execution trace from the current position onwards. */ - void (*to_delete_record) (struct target_ops *); + void (*to_delete_record) (struct target_ops *) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Query if the record target is currently replaying. */ - int (*to_record_is_replaying) (struct target_ops *); + int (*to_record_is_replaying) (struct target_ops *) + TARGET_DEFAULT_RETURN (0); /* Go to the begin of the execution trace. */ - void (*to_goto_record_begin) (struct target_ops *); + void (*to_goto_record_begin) (struct target_ops *) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Go to the end of the execution trace. */ - void (*to_goto_record_end) (struct target_ops *); + void (*to_goto_record_end) (struct target_ops *) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Go to a specific location in the recorded execution trace. */ - void (*to_goto_record) (struct target_ops *, ULONGEST insn); + void (*to_goto_record) (struct target_ops *, ULONGEST insn) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Disassemble SIZE instructions in the recorded execution trace from the current position.