* arch-utils.h (legacy_print_insn): Delete declaration.
* arch-utils.c (legacy_print_insn): Delete function.
* disasm.c (deprecated_tm_print_insn_info): Delete.
(_initialize_disasm): Delete function, contained code initializing
deprecated_tm_print_insn_info.
* gdbarch.sh (deprecated_tm_print_insn): Delete.
(deprecated_tm_print_insn_info): Delete.
(TARGET_PRINT_INSN): Do not provide a default.
* gdbarch.h, gdbarch.c: Re-generate.
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * arch-utils.h (legacy_print_insn): Delete declaration.
+ * arch-utils.c (legacy_print_insn): Delete function.
+ * disasm.c (deprecated_tm_print_insn_info): Delete.
+ (_initialize_disasm): Delete function, contained code initializing
+ deprecated_tm_print_insn_info.
+ * gdbarch.sh (deprecated_tm_print_insn): Delete.
+ (deprecated_tm_print_insn_info): Delete.
+ (TARGET_PRINT_INSN): Do not provide a default.
+ * gdbarch.h, gdbarch.c: Re-generate.
+
2003-09-03 Andrew Cagney <cagney@redhat.com>
* disasm.c (fprintf_disasm): New function.
return ip == SKIP_PROLOGUE (ip);
}
-/* New/multi-arched targets should use the correct gdbarch field
- instead of using this global pointer. */
-int
-legacy_print_insn (bfd_vma vma, disassemble_info *info)
-{
- return (*deprecated_tm_print_insn) (vma, info);
-}
-
/* Helper functions for INNER_THAN */
int
language family, so that case is irrelevant for C. */
extern gdbarch_return_value_on_stack_ftype generic_return_value_on_stack_not;
-/* Accessor for old global function pointer for disassembly. */
-extern int legacy_print_insn (bfd_vma vma, disassemble_info *info);
-
/* Backward compatible call_dummy_words. */
extern LONGEST legacy_call_dummy_words[];
extern int legacy_sizeof_call_dummy_words;
disassemble_info di = gdb_disassemble_info (current_gdbarch, stream);
return TARGET_PRINT_INSN (memaddr, &di);
}
-
-\f
-/* FIXME: cagney/2003-04-28: This global deprecated_tm_print_insn_info
- is going away. */
-disassemble_info deprecated_tm_print_insn_info;
-
-extern void _initialize_disasm (void);
-
-void
-_initialize_disasm (void)
-{
- init_disassemble_info (&deprecated_tm_print_insn_info, gdb_stdout,
- fprintf_disasm);
- deprecated_tm_print_insn_info.flavour = bfd_target_unknown_flavour;
- deprecated_tm_print_insn_info.read_memory_func = dis_asm_read_memory;
- deprecated_tm_print_insn_info.memory_error_func = dis_asm_memory_error;
- deprecated_tm_print_insn_info.print_address_func = dis_asm_print_address;
-}
current_gdbarch->convert_from_func_ptr_addr = core_addr_identity;
current_gdbarch->addr_bits_remove = core_addr_identity;
current_gdbarch->smash_text_address = core_addr_identity;
- current_gdbarch->print_insn = legacy_print_insn;
current_gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
struct cleanup *cleanups;
long dummy;
char *buf;
- /* Only perform sanity checks on a multi-arch target. */
log = mem_fileopen ();
cleanups = make_cleanup_ui_file_delete (log);
/* fundamental */
/* Skip verify of addr_bits_remove, invalid_p == 0 */
/* Skip verify of smash_text_address, invalid_p == 0 */
/* Skip verify of software_single_step, has predicate */
- /* Skip verify of print_insn, invalid_p == 0 */
+ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
+ && (gdbarch->print_insn == 0))
+ fprintf_unfiltered (log, "\n\tprint_insn");
/* Skip verify of skip_trampoline_code, invalid_p == 0 */
/* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
/* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
}
-/* Disassembler */
-
-/* Pointer to the target-dependent disassembly function. */
-int (*deprecated_tm_print_insn) (bfd_vma, disassemble_info *);
-
extern void _initialize_gdbarch (void);
void
#define SOFTWARE_SINGLE_STEP(sig, insert_breakpoints_p) (gdbarch_software_single_step (current_gdbarch, sig, insert_breakpoints_p))
#endif
+/* FIXME: cagney/2003-08-28: Need to find a better way of selecting the
+ disassembler. Perhaphs objdump can handle it? */
+
typedef int (gdbarch_print_insn_ftype) (bfd_vma vma, disassemble_info *info);
extern int gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, disassemble_info *info);
extern void set_gdbarch_print_insn (struct gdbarch *gdbarch, gdbarch_print_insn_ftype *print_insn);
#endif
-/* The target-system-dependent disassembler is semi-dynamic */
-
-/* Use gdb_disassemble, and gdbarch_print_insn instead. */
-extern int (*deprecated_tm_print_insn) (bfd_vma, disassemble_info*);
-
-/* Use set_gdbarch_print_insn instead. */
-extern disassemble_info deprecated_tm_print_insn_info;
-
/* Set the dynamic target-system-dependent parameters (architecture,
byte-order, ...) using information found in the BFD */
# FIXME/cagney/2001-01-18: The logic is backwards. It should be asking if the target can
# single step. If not, then implement single step using breakpoints.
F:2:SOFTWARE_SINGLE_STEP:void:software_single_step:enum target_signal sig, int insert_breakpoints_p:sig, insert_breakpoints_p
-f:2:TARGET_PRINT_INSN:int:print_insn:bfd_vma vma, disassemble_info *info:vma, info:::legacy_print_insn::0
+# FIXME: cagney/2003-08-28: Need to find a better way of selecting the
+# disassembler. Perhaphs objdump can handle it?
+f::TARGET_PRINT_INSN:int:print_insn:bfd_vma vma, disassemble_info *info:vma, info:::0:
f:2:SKIP_TRAMPOLINE_CODE:CORE_ADDR:skip_trampoline_code:CORE_ADDR pc:pc:::generic_skip_trampoline_code::0
#endif
-/* The target-system-dependent disassembler is semi-dynamic */
-
-/* Use gdb_disassemble, and gdbarch_print_insn instead. */
-extern int (*deprecated_tm_print_insn) (bfd_vma, disassemble_info*);
-
-/* Use set_gdbarch_print_insn instead. */
-extern disassemble_info deprecated_tm_print_insn_info;
-
/* Set the dynamic target-system-dependent parameters (architecture,
byte-order, ...) using information found in the BFD */
}
-/* Disassembler */
-
-/* Pointer to the target-dependent disassembly function. */
-int (*deprecated_tm_print_insn) (bfd_vma, disassemble_info *);
-
extern void _initialize_gdbarch (void);
void