diff options
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r-- | gdb/gdbarch.c | 1824 |
1 files changed, 977 insertions, 847 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 976ce59..87585dd 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -147,16 +147,13 @@ struct gdbarch int char_signed; gdbarch_read_pc_ftype *read_pc; gdbarch_write_pc_ftype *write_pc; - gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp; gdbarch_read_sp_ftype *read_sp; - gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp; gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer; gdbarch_pseudo_register_read_ftype *pseudo_register_read; gdbarch_pseudo_register_write_ftype *pseudo_register_write; int num_regs; int num_pseudo_regs; int sp_regnum; - int deprecated_fp_regnum; int pc_regnum; int ps_regnum; int fp0_regnum; @@ -167,44 +164,54 @@ struct gdbarch gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum; gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum; gdbarch_register_name_ftype *register_name; - int deprecated_register_size; + gdbarch_register_type_ftype *register_type; + gdbarch_deprecated_register_virtual_type_ftype *deprecated_register_virtual_type; int deprecated_register_bytes; - gdbarch_register_byte_ftype *register_byte; - gdbarch_register_raw_size_ftype *register_raw_size; + gdbarch_deprecated_register_byte_ftype *deprecated_register_byte; + gdbarch_deprecated_register_raw_size_ftype *deprecated_register_raw_size; + gdbarch_deprecated_register_virtual_size_ftype *deprecated_register_virtual_size; int deprecated_max_register_raw_size; - gdbarch_register_virtual_size_ftype *register_virtual_size; int deprecated_max_register_virtual_size; - gdbarch_register_virtual_type_ftype *register_virtual_type; - gdbarch_register_type_ftype *register_type; - gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info; - gdbarch_print_registers_info_ftype *print_registers_info; - gdbarch_print_float_info_ftype *print_float_info; - gdbarch_print_vector_info_ftype *print_vector_info; - gdbarch_register_sim_regno_ftype *register_sim_regno; - gdbarch_register_bytes_ok_ftype *register_bytes_ok; - gdbarch_cannot_fetch_register_ftype *cannot_fetch_register; - gdbarch_cannot_store_register_ftype *cannot_store_register; - gdbarch_get_longjmp_target_ftype *get_longjmp_target; + gdbarch_unwind_dummy_id_ftype *unwind_dummy_id; + gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos; + int deprecated_fp_regnum; + gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp; + gdbarch_push_dummy_call_ftype *push_dummy_call; + gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments; int deprecated_use_generic_dummy_frames; + gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address; + gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp; + int deprecated_register_size; int call_dummy_location; gdbarch_call_dummy_address_ftype *call_dummy_address; CORE_ADDR deprecated_call_dummy_start_offset; CORE_ADDR deprecated_call_dummy_breakpoint_offset; int deprecated_call_dummy_length; - gdbarch_deprecated_pc_in_call_dummy_ftype *deprecated_pc_in_call_dummy; LONGEST * deprecated_call_dummy_words; int deprecated_sizeof_call_dummy_words; int deprecated_call_dummy_stack_adjust; gdbarch_deprecated_fix_call_dummy_ftype *deprecated_fix_call_dummy; gdbarch_push_dummy_code_ftype *push_dummy_code; + gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame; + int deprecated_extra_stack_alignment_needed; + gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info; + gdbarch_print_registers_info_ftype *print_registers_info; + gdbarch_print_float_info_ftype *print_float_info; + gdbarch_print_vector_info_ftype *print_vector_info; + gdbarch_register_sim_regno_ftype *register_sim_regno; + gdbarch_register_bytes_ok_ftype *register_bytes_ok; + gdbarch_cannot_fetch_register_ftype *cannot_fetch_register; + gdbarch_cannot_store_register_ftype *cannot_store_register; + gdbarch_get_longjmp_target_ftype *get_longjmp_target; + gdbarch_deprecated_pc_in_call_dummy_ftype *deprecated_pc_in_call_dummy; gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first; gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc; int believe_pcc_promotion; int believe_pcc_promotion_type; gdbarch_deprecated_get_saved_register_ftype *deprecated_get_saved_register; - gdbarch_register_convertible_ftype *register_convertible; - gdbarch_register_convert_to_virtual_ftype *register_convert_to_virtual; - gdbarch_register_convert_to_raw_ftype *register_convert_to_raw; + gdbarch_deprecated_register_convertible_ftype *deprecated_register_convertible; + gdbarch_deprecated_register_convert_to_virtual_ftype *deprecated_register_convert_to_virtual; + gdbarch_deprecated_register_convert_to_raw_ftype *deprecated_register_convert_to_raw; gdbarch_convert_register_p_ftype *convert_register_p; gdbarch_register_to_value_ftype *register_to_value; gdbarch_value_to_register_ftype *value_to_register; @@ -212,10 +219,6 @@ struct gdbarch gdbarch_address_to_pointer_ftype *address_to_pointer; gdbarch_integer_to_address_ftype *integer_to_address; gdbarch_return_value_on_stack_ftype *return_value_on_stack; - gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments; - gdbarch_push_dummy_call_ftype *push_dummy_call; - gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame; - gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address; gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame; gdbarch_deprecated_store_struct_return_ftype *deprecated_store_struct_return; gdbarch_extract_return_value_ftype *extract_return_value; @@ -234,7 +237,6 @@ struct gdbarch gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint; gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint; CORE_ADDR decr_pc_after_break; - gdbarch_prepare_to_proceed_ftype *prepare_to_proceed; CORE_ADDR function_start_offset; gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address; CORE_ADDR frame_args_skip; @@ -243,16 +245,14 @@ struct gdbarch gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid; gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc; gdbarch_unwind_pc_ftype *unwind_pc; - gdbarch_frame_args_address_ftype *frame_args_address; - gdbarch_frame_locals_address_ftype *frame_locals_address; + gdbarch_unwind_sp_ftype *unwind_sp; + gdbarch_deprecated_frame_args_address_ftype *deprecated_frame_args_address; + gdbarch_deprecated_frame_locals_address_ftype *deprecated_frame_locals_address; gdbarch_deprecated_saved_pc_after_call_ftype *deprecated_saved_pc_after_call; gdbarch_frame_num_args_ftype *frame_num_args; gdbarch_stack_align_ftype *stack_align; gdbarch_frame_align_ftype *frame_align; - int deprecated_extra_stack_alignment_needed; gdbarch_reg_struct_has_addr_ftype *reg_struct_has_addr; - gdbarch_save_dummy_frame_tos_ftype *save_dummy_frame_tos; - gdbarch_unwind_dummy_id_ftype *unwind_dummy_id; int parm_boundary; const struct floatformat * float_format; const struct floatformat * double_format; @@ -280,6 +280,7 @@ struct gdbarch gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name; gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags; gdbarch_register_reggroup_p_ftype *register_reggroup_p; + gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument; }; @@ -292,160 +293,161 @@ struct gdbarch startup_gdbarch = { 1, /* Always initialized. */ /* basic architecture information */ - &bfd_default_arch_struct, - BFD_ENDIAN_BIG, - GDB_OSABI_UNKNOWN, + &bfd_default_arch_struct, /* bfd_arch_info */ + BFD_ENDIAN_BIG, /* byte_order */ + GDB_OSABI_UNKNOWN, /* osabi */ /* target specific vector and its dump routine */ NULL, NULL, /*per-architecture data-pointers and swap regions */ 0, NULL, NULL, /* Multi-arch values */ - 8 * sizeof (short), - 8 * sizeof (int), - 8 * sizeof (long), - 8 * sizeof (LONGEST), - 8 * sizeof (float), - 8 * sizeof (double), - 8 * sizeof (long double), - 8 * sizeof (void*), - 8 * sizeof (void*), - 8 * sizeof (void*), - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - -1, - -1, - -1, - -1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - generic_register_byte, - generic_register_size, - 0, - generic_register_size, - 0, - 0, - 0, - 0, - default_print_registers_info, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - generic_pc_in_call_dummy, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - generic_remote_translate_xfer_address, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - generic_in_function_epilogue_p, - construct_inferior_arguments, - 0, - 0, - 0, - "malloc", - 0, - 0, - 0, - 0, - 0, - default_register_reggroup_p, + 8 * sizeof (short), /* short_bit */ + 8 * sizeof (int), /* int_bit */ + 8 * sizeof (long), /* long_bit */ + 8 * sizeof (LONGEST), /* long_long_bit */ + 8 * sizeof (float), /* float_bit */ + 8 * sizeof (double), /* double_bit */ + 8 * sizeof (long double), /* long_double_bit */ + 8 * sizeof (void*), /* ptr_bit */ + 8 * sizeof (void*), /* addr_bit */ + 8 * sizeof (void*), /* bfd_vma_bit */ + 1, /* char_signed */ + 0, /* read_pc */ + 0, /* write_pc */ + 0, /* read_sp */ + 0, /* virtual_frame_pointer */ + 0, /* pseudo_register_read */ + 0, /* pseudo_register_write */ + 0, /* num_regs */ + 0, /* num_pseudo_regs */ + -1, /* sp_regnum */ + -1, /* pc_regnum */ + -1, /* ps_regnum */ + 0, /* fp0_regnum */ + 0, /* npc_regnum */ + 0, /* stab_reg_to_regnum */ + 0, /* ecoff_reg_to_regnum */ + 0, /* dwarf_reg_to_regnum */ + 0, /* sdb_reg_to_regnum */ + 0, /* dwarf2_reg_to_regnum */ + 0, /* register_name */ + 0, /* register_type */ + 0, /* deprecated_register_virtual_type */ + 0, /* deprecated_register_bytes */ + generic_register_byte, /* deprecated_register_byte */ + generic_register_size, /* deprecated_register_raw_size */ + generic_register_size, /* deprecated_register_virtual_size */ + 0, /* deprecated_max_register_raw_size */ + 0, /* deprecated_max_register_virtual_size */ + 0, /* unwind_dummy_id */ + 0, /* deprecated_save_dummy_frame_tos */ + -1, /* deprecated_fp_regnum */ + 0, /* deprecated_target_read_fp */ + 0, /* push_dummy_call */ + 0, /* deprecated_push_arguments */ + 0, /* deprecated_use_generic_dummy_frames */ + 0, /* deprecated_push_return_address */ + 0, /* deprecated_dummy_write_sp */ + 0, /* deprecated_register_size */ + 0, /* call_dummy_location */ + 0, /* call_dummy_address */ + 0, /* deprecated_call_dummy_start_offset */ + 0, /* deprecated_call_dummy_breakpoint_offset */ + 0, /* deprecated_call_dummy_length */ + 0, /* deprecated_call_dummy_words */ + 0, /* deprecated_sizeof_call_dummy_words */ + 0, /* deprecated_call_dummy_stack_adjust */ + 0, /* deprecated_fix_call_dummy */ + 0, /* push_dummy_code */ + 0, /* deprecated_push_dummy_frame */ + 0, /* deprecated_extra_stack_alignment_needed */ + 0, /* deprecated_do_registers_info */ + default_print_registers_info, /* print_registers_info */ + 0, /* print_float_info */ + 0, /* print_vector_info */ + 0, /* register_sim_regno */ + 0, /* register_bytes_ok */ + 0, /* cannot_fetch_register */ + 0, /* cannot_store_register */ + 0, /* get_longjmp_target */ + generic_pc_in_call_dummy, /* deprecated_pc_in_call_dummy */ + 0, /* deprecated_init_frame_pc_first */ + 0, /* deprecated_init_frame_pc */ + 0, /* believe_pcc_promotion */ + 0, /* believe_pcc_promotion_type */ + 0, /* deprecated_get_saved_register */ + 0, /* deprecated_register_convertible */ + 0, /* deprecated_register_convert_to_virtual */ + 0, /* deprecated_register_convert_to_raw */ + 0, /* convert_register_p */ + 0, /* register_to_value */ + 0, /* value_to_register */ + 0, /* pointer_to_address */ + 0, /* address_to_pointer */ + 0, /* integer_to_address */ + 0, /* return_value_on_stack */ + 0, /* deprecated_pop_frame */ + 0, /* deprecated_store_struct_return */ + 0, /* extract_return_value */ + 0, /* store_return_value */ + 0, /* deprecated_extract_return_value */ + 0, /* deprecated_store_return_value */ + 0, /* extract_struct_value_address */ + 0, /* deprecated_extract_struct_value_address */ + 0, /* use_struct_convention */ + 0, /* deprecated_frame_init_saved_regs */ + 0, /* deprecated_init_extra_frame_info */ + 0, /* skip_prologue */ + 0, /* prologue_frameless_p */ + 0, /* inner_than */ + 0, /* breakpoint_from_pc */ + 0, /* memory_insert_breakpoint */ + 0, /* memory_remove_breakpoint */ + 0, /* decr_pc_after_break */ + 0, /* function_start_offset */ + generic_remote_translate_xfer_address, /* remote_translate_xfer_address */ + 0, /* frame_args_skip */ + 0, /* frameless_function_invocation */ + 0, /* deprecated_frame_chain */ + 0, /* deprecated_frame_chain_valid */ + 0, /* deprecated_frame_saved_pc */ + 0, /* unwind_pc */ + 0, /* unwind_sp */ + get_frame_base, /* deprecated_frame_args_address */ + get_frame_base, /* deprecated_frame_locals_address */ + 0, /* deprecated_saved_pc_after_call */ + 0, /* frame_num_args */ + 0, /* stack_align */ + 0, /* frame_align */ + 0, /* reg_struct_has_addr */ + 0, /* parm_boundary */ + 0, /* float_format */ + 0, /* double_format */ + 0, /* long_double_format */ + 0, /* convert_from_func_ptr_addr */ + 0, /* addr_bits_remove */ + 0, /* smash_text_address */ + 0, /* software_single_step */ + 0, /* print_insn */ + 0, /* skip_trampoline_code */ + 0, /* in_solib_call_trampoline */ + 0, /* in_solib_return_trampoline */ + 0, /* pc_in_sigtramp */ + 0, /* sigtramp_start */ + 0, /* sigtramp_end */ + generic_in_function_epilogue_p, /* in_function_epilogue_p */ + construct_inferior_arguments, /* construct_inferior_arguments */ + 0, /* dwarf2_build_frame_info */ + 0, /* elf_make_msymbol_special */ + 0, /* coff_make_msymbol_special */ + "malloc", /* name_of_malloc */ + 0, /* cannot_step_breakpoint */ + 0, /* have_nonsteppable_watchpoint */ + 0, /* address_class_type_flags */ + 0, /* address_class_type_flags_to_name */ + 0, /* address_class_name_to_type_flags */ + default_register_reggroup_p, /* register_reggroup_p */ + 0, /* fetch_pointer_argument */ /* startup_gdbarch() */ }; @@ -499,13 +501,10 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->ptr_bit = TARGET_INT_BIT; current_gdbarch->bfd_vma_bit = TARGET_ARCHITECTURE->bits_per_address; current_gdbarch->char_signed = -1; - current_gdbarch->read_pc = generic_target_read_pc; current_gdbarch->write_pc = generic_target_write_pc; - current_gdbarch->read_sp = generic_target_read_sp; current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer; current_gdbarch->num_regs = -1; current_gdbarch->sp_regnum = -1; - current_gdbarch->deprecated_fp_regnum = -1; current_gdbarch->pc_regnum = -1; current_gdbarch->ps_regnum = -1; current_gdbarch->fp0_regnum = -1; @@ -516,20 +515,21 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum; current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum; current_gdbarch->register_name = legacy_register_name; - current_gdbarch->register_byte = generic_register_byte; - current_gdbarch->register_raw_size = generic_register_size; - current_gdbarch->register_virtual_size = generic_register_size; - current_gdbarch->print_registers_info = default_print_registers_info; - current_gdbarch->register_sim_regno = legacy_register_sim_regno; - current_gdbarch->cannot_fetch_register = cannot_register_not; - current_gdbarch->cannot_store_register = cannot_register_not; + current_gdbarch->deprecated_register_byte = generic_register_byte; + current_gdbarch->deprecated_register_raw_size = generic_register_size; + current_gdbarch->deprecated_register_virtual_size = generic_register_size; + current_gdbarch->deprecated_fp_regnum = -1; current_gdbarch->deprecated_use_generic_dummy_frames = 1; current_gdbarch->call_dummy_location = AT_ENTRY_POINT; current_gdbarch->call_dummy_address = entry_point_address; - current_gdbarch->deprecated_pc_in_call_dummy = generic_pc_in_call_dummy; current_gdbarch->deprecated_call_dummy_words = legacy_call_dummy_words; current_gdbarch->deprecated_sizeof_call_dummy_words = legacy_sizeof_call_dummy_words; - current_gdbarch->register_convertible = generic_register_convertible_not; + current_gdbarch->print_registers_info = default_print_registers_info; + current_gdbarch->register_sim_regno = legacy_register_sim_regno; + current_gdbarch->cannot_fetch_register = cannot_register_not; + current_gdbarch->cannot_store_register = cannot_register_not; + current_gdbarch->deprecated_pc_in_call_dummy = generic_pc_in_call_dummy; + current_gdbarch->deprecated_register_convertible = deprecated_register_convertible_not; current_gdbarch->convert_register_p = legacy_convert_register_p; current_gdbarch->register_to_value = legacy_register_to_value; current_gdbarch->value_to_register = legacy_value_to_register; @@ -543,13 +543,12 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint; current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint; current_gdbarch->decr_pc_after_break = -1; - current_gdbarch->prepare_to_proceed = default_prepare_to_proceed; current_gdbarch->function_start_offset = -1; current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address; current_gdbarch->frame_args_skip = -1; current_gdbarch->frameless_function_invocation = generic_frameless_function_invocation_not; - current_gdbarch->frame_args_address = get_frame_base; - current_gdbarch->frame_locals_address = get_frame_base; + current_gdbarch->deprecated_frame_args_address = get_frame_base; + current_gdbarch->deprecated_frame_locals_address = get_frame_base; 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; @@ -618,11 +617,9 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of bfd_vma_bit, invalid_p == 0 */ if (gdbarch->char_signed == -1) gdbarch->char_signed = 1; - /* Skip verify of read_pc, invalid_p == 0 */ + /* Skip verify of read_pc, has predicate */ /* Skip verify of write_pc, invalid_p == 0 */ - /* Skip verify of deprecated_target_read_fp, has predicate */ - /* Skip verify of read_sp, invalid_p == 0 */ - /* Skip verify of deprecated_dummy_write_sp, has predicate */ + /* Skip verify of read_sp, has predicate */ /* Skip verify of virtual_frame_pointer, invalid_p == 0 */ /* Skip verify of pseudo_register_read, has predicate */ /* Skip verify of pseudo_register_write, has predicate */ @@ -631,7 +628,6 @@ verify_gdbarch (struct gdbarch *gdbarch) fprintf_unfiltered (log, "\n\tnum_regs"); /* Skip verify of num_pseudo_regs, invalid_p == 0 */ /* Skip verify of sp_regnum, invalid_p == 0 */ - /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ /* Skip verify of pc_regnum, invalid_p == 0 */ /* Skip verify of ps_regnum, invalid_p == 0 */ /* Skip verify of fp0_regnum, invalid_p == 0 */ @@ -642,13 +638,31 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */ /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */ /* Skip verify of register_name, invalid_p == 0 */ - /* Skip verify of register_byte, has predicate */ - /* Skip verify of register_raw_size, invalid_p == 0 */ + /* Skip verify of register_type, has predicate */ + /* Skip verify of deprecated_register_virtual_type, has predicate */ + /* Skip verify of deprecated_register_byte, has predicate */ + /* Skip verify of deprecated_register_raw_size, invalid_p == 0 */ + /* Skip verify of deprecated_register_virtual_size, invalid_p == 0 */ /* Skip verify of deprecated_max_register_raw_size, has predicate */ - /* Skip verify of register_virtual_size, invalid_p == 0 */ /* Skip verify of deprecated_max_register_virtual_size, has predicate */ - /* Skip verify of register_virtual_type, has predicate */ - /* Skip verify of register_type, has predicate */ + /* Skip verify of unwind_dummy_id, has predicate */ + /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */ + /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ + /* Skip verify of deprecated_target_read_fp, has predicate */ + /* Skip verify of push_dummy_call, has predicate */ + /* Skip verify of deprecated_push_arguments, has predicate */ + /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */ + /* Skip verify of deprecated_push_return_address, has predicate */ + /* Skip verify of deprecated_dummy_write_sp, has predicate */ + /* Skip verify of call_dummy_location, invalid_p == 0 */ + /* Skip verify of call_dummy_address, invalid_p == 0 */ + /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */ + /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */ + /* Skip verify of deprecated_call_dummy_stack_adjust, has predicate */ + /* Skip verify of deprecated_fix_call_dummy, has predicate */ + /* Skip verify of push_dummy_code, has predicate */ + /* Skip verify of deprecated_push_dummy_frame, has predicate */ + /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */ /* Skip verify of deprecated_do_registers_info, has predicate */ /* Skip verify of print_registers_info, invalid_p == 0 */ /* Skip verify of print_float_info, has predicate */ @@ -658,21 +672,13 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of cannot_fetch_register, invalid_p == 0 */ /* Skip verify of cannot_store_register, invalid_p == 0 */ /* Skip verify of get_longjmp_target, has predicate */ - /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */ - /* Skip verify of call_dummy_location, invalid_p == 0 */ - /* Skip verify of call_dummy_address, invalid_p == 0 */ /* Skip verify of deprecated_pc_in_call_dummy, has predicate */ - /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */ - /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */ - /* Skip verify of deprecated_call_dummy_stack_adjust, has predicate */ - /* Skip verify of deprecated_fix_call_dummy, has predicate */ - /* Skip verify of push_dummy_code, has predicate */ /* Skip verify of deprecated_init_frame_pc_first, has predicate */ /* Skip verify of deprecated_init_frame_pc, has predicate */ /* Skip verify of deprecated_get_saved_register, has predicate */ - /* Skip verify of register_convertible, invalid_p == 0 */ - /* Skip verify of register_convert_to_virtual, invalid_p == 0 */ - /* Skip verify of register_convert_to_raw, invalid_p == 0 */ + /* Skip verify of deprecated_register_convertible, invalid_p == 0 */ + /* Skip verify of deprecated_register_convert_to_virtual, invalid_p == 0 */ + /* Skip verify of deprecated_register_convert_to_raw, invalid_p == 0 */ /* Skip verify of convert_register_p, invalid_p == 0 */ /* Skip verify of register_to_value, invalid_p == 0 */ /* Skip verify of value_to_register, invalid_p == 0 */ @@ -680,10 +686,6 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of address_to_pointer, invalid_p == 0 */ /* Skip verify of integer_to_address, has predicate */ /* Skip verify of return_value_on_stack, invalid_p == 0 */ - /* Skip verify of deprecated_push_arguments, has predicate */ - /* Skip verify of push_dummy_call, has predicate */ - /* Skip verify of deprecated_push_dummy_frame, has predicate */ - /* Skip verify of deprecated_push_return_address, has predicate */ /* Skip verify of deprecated_pop_frame, has predicate */ /* Skip verify of deprecated_store_struct_return, has predicate */ /* Skip verify of extract_return_value, invalid_p == 0 */ @@ -708,7 +710,6 @@ verify_gdbarch (struct gdbarch *gdbarch) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->decr_pc_after_break == -1)) fprintf_unfiltered (log, "\n\tdecr_pc_after_break"); - /* Skip verify of prepare_to_proceed, invalid_p == 0 */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->function_start_offset == -1)) fprintf_unfiltered (log, "\n\tfunction_start_offset"); @@ -721,18 +722,14 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of deprecated_frame_chain_valid, has predicate */ /* Skip verify of deprecated_frame_saved_pc, has predicate */ /* Skip verify of unwind_pc, has predicate */ - /* Skip verify of frame_args_address, invalid_p == 0 */ - /* Skip verify of frame_locals_address, invalid_p == 0 */ + /* Skip verify of unwind_sp, has predicate */ + /* Skip verify of deprecated_frame_args_address, has predicate */ + /* Skip verify of deprecated_frame_locals_address, has predicate */ /* Skip verify of deprecated_saved_pc_after_call, has predicate */ - if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->frame_num_args == 0)) - fprintf_unfiltered (log, "\n\tframe_num_args"); + /* Skip verify of frame_num_args, has predicate */ /* Skip verify of stack_align, has predicate */ /* Skip verify of frame_align, has predicate */ - /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */ /* Skip verify of reg_struct_has_addr, has predicate */ - /* Skip verify of save_dummy_frame_tos, has predicate */ - /* Skip verify of unwind_dummy_id, has predicate */ if (gdbarch->float_format == 0) gdbarch->float_format = default_float_format (gdbarch); if (gdbarch->double_format == 0) @@ -762,6 +759,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of address_class_type_flags_to_name, has predicate */ /* Skip verify of address_class_name_to_type_flags, has predicate */ /* Skip verify of register_reggroup_p, invalid_p == 0 */ + /* Skip verify of fetch_pointer_argument, has predicate */ buf = ui_file_xstrdup (log, &dummy); make_cleanup (xfree, buf); if (strlen (buf) > 0) @@ -987,8 +985,8 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) #ifdef CONVERT_REGISTER_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", - "CONVERT_REGISTER_P(regnum)", - XSTRING (CONVERT_REGISTER_P (regnum))); + "CONVERT_REGISTER_P(regnum, type)", + XSTRING (CONVERT_REGISTER_P (regnum, type))); if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: CONVERT_REGISTER_P = <0x%08lx>\n", @@ -1171,6 +1169,26 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: DEPRECATED_FP_REGNUM = %d\n", DEPRECATED_FP_REGNUM); #endif +#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_FRAME_ARGS_ADDRESS_P()", + XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS_P() = %d\n", + DEPRECATED_FRAME_ARGS_ADDRESS_P ()); +#endif +#ifdef DEPRECATED_FRAME_ARGS_ADDRESS + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_FRAME_ARGS_ADDRESS(fi)", + XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS (fi))); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS = <0x%08lx>\n", + (long) current_gdbarch->deprecated_frame_args_address + /*DEPRECATED_FRAME_ARGS_ADDRESS ()*/); +#endif #ifdef DEPRECATED_FRAME_CHAIN_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -1234,6 +1252,26 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->deprecated_frame_init_saved_regs /*DEPRECATED_FRAME_INIT_SAVED_REGS ()*/); #endif +#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_FRAME_LOCALS_ADDRESS_P()", + XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS_P() = %d\n", + DEPRECATED_FRAME_LOCALS_ADDRESS_P ()); +#endif +#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_FRAME_LOCALS_ADDRESS(fi)", + XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS (fi))); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS = <0x%08lx>\n", + (long) current_gdbarch->deprecated_frame_locals_address + /*DEPRECATED_FRAME_LOCALS_ADDRESS ()*/); +#endif #ifdef DEPRECATED_FRAME_SAVED_PC_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -1488,6 +1526,45 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: DEPRECATED_REGISTER_BYTES = %d\n", DEPRECATED_REGISTER_BYTES); #endif +#ifdef DEPRECATED_REGISTER_CONVERTIBLE + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_REGISTER_CONVERTIBLE(nr)", + XSTRING (DEPRECATED_REGISTER_CONVERTIBLE (nr))); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE = <0x%08lx>\n", + (long) current_gdbarch->deprecated_register_convertible + /*DEPRECATED_REGISTER_CONVERTIBLE ()*/); +#endif +#ifdef DEPRECATED_REGISTER_CONVERT_TO_RAW +#if GDB_MULTI_ARCH + /* Macro might contain `[{}]' when not multi-arch */ + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_REGISTER_CONVERT_TO_RAW(type, regnum, from, to)", + XSTRING (DEPRECATED_REGISTER_CONVERT_TO_RAW (type, regnum, from, to))); +#endif + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_RAW = <0x%08lx>\n", + (long) current_gdbarch->deprecated_register_convert_to_raw + /*DEPRECATED_REGISTER_CONVERT_TO_RAW ()*/); +#endif +#ifdef DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL +#if GDB_MULTI_ARCH + /* Macro might contain `[{}]' when not multi-arch */ + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL(regnum, type, from, to)", + XSTRING (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to))); +#endif + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL = <0x%08lx>\n", + (long) current_gdbarch->deprecated_register_convert_to_virtual + /*DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL ()*/); +#endif #ifdef DEPRECATED_REGISTER_SIZE fprintf_unfiltered (file, "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n", @@ -1516,6 +1593,29 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->deprecated_saved_pc_after_call /*DEPRECATED_SAVED_PC_AFTER_CALL ()*/); #endif +#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_SAVE_DUMMY_FRAME_TOS_P()", + XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() = %d\n", + DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ()); +#endif +#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS +#if GDB_MULTI_ARCH + /* Macro might contain `[{}]' when not multi-arch */ + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp)", + XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp))); +#endif + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n", + (long) current_gdbarch->deprecated_save_dummy_frame_tos + /*DEPRECATED_SAVE_DUMMY_FRAME_TOS ()*/); +#endif #ifdef DEPRECATED_SIZEOF_CALL_DUMMY_WORDS fprintf_unfiltered (file, "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # %s\n", @@ -1693,6 +1793,26 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->extract_struct_value_address /*EXTRACT_STRUCT_VALUE_ADDRESS ()*/); #endif +#ifdef FETCH_POINTER_ARGUMENT_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "FETCH_POINTER_ARGUMENT_P()", + XSTRING (FETCH_POINTER_ARGUMENT_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: FETCH_POINTER_ARGUMENT_P() = %d\n", + FETCH_POINTER_ARGUMENT_P ()); +#endif +#ifdef FETCH_POINTER_ARGUMENT + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "FETCH_POINTER_ARGUMENT(frame, argi, type)", + XSTRING (FETCH_POINTER_ARGUMENT (frame, argi, type))); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: FETCH_POINTER_ARGUMENT = <0x%08lx>\n", + (long) current_gdbarch->fetch_pointer_argument + /*FETCH_POINTER_ARGUMENT ()*/); +#endif #ifdef FP0_REGNUM fprintf_unfiltered (file, "gdbarch_dump: FP0_REGNUM # %s\n", @@ -1712,17 +1832,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->frameless_function_invocation /*FRAMELESS_FUNCTION_INVOCATION ()*/); #endif -#ifdef FRAME_ARGS_ADDRESS - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "FRAME_ARGS_ADDRESS(fi)", - XSTRING (FRAME_ARGS_ADDRESS (fi))); - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: FRAME_ARGS_ADDRESS = <0x%08lx>\n", - (long) current_gdbarch->frame_args_address - /*FRAME_ARGS_ADDRESS ()*/); -#endif #ifdef FRAME_ARGS_SKIP fprintf_unfiltered (file, "gdbarch_dump: FRAME_ARGS_SKIP # %s\n", @@ -1731,16 +1840,14 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: FRAME_ARGS_SKIP = %ld\n", (long) FRAME_ARGS_SKIP); #endif -#ifdef FRAME_LOCALS_ADDRESS +#ifdef FRAME_NUM_ARGS_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", - "FRAME_LOCALS_ADDRESS(fi)", - XSTRING (FRAME_LOCALS_ADDRESS (fi))); - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: FRAME_LOCALS_ADDRESS = <0x%08lx>\n", - (long) current_gdbarch->frame_locals_address - /*FRAME_LOCALS_ADDRESS ()*/); + "FRAME_NUM_ARGS_P()", + XSTRING (FRAME_NUM_ARGS_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: FRAME_NUM_ARGS_P() = %d\n", + FRAME_NUM_ARGS_P ()); #endif #ifdef FRAME_NUM_ARGS fprintf_unfiltered (file, @@ -1934,17 +2041,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->pointer_to_address /*POINTER_TO_ADDRESS ()*/); #endif -#ifdef PREPARE_TO_PROCEED - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "PREPARE_TO_PROCEED(select_it)", - XSTRING (PREPARE_TO_PROCEED (select_it))); - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: PREPARE_TO_PROCEED = <0x%08lx>\n", - (long) current_gdbarch->prepare_to_proceed - /*PREPARE_TO_PROCEED ()*/); -#endif if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: gdbarch_print_float_info_p() = %d\n", @@ -2017,7 +2113,7 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: REGISTER_BYTE = <0x%08lx>\n", - (long) current_gdbarch->register_byte + (long) current_gdbarch->deprecated_register_byte /*REGISTER_BYTE ()*/); #endif #ifdef REGISTER_BYTES_OK_P @@ -2040,45 +2136,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->register_bytes_ok /*REGISTER_BYTES_OK ()*/); #endif -#ifdef REGISTER_CONVERTIBLE - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "REGISTER_CONVERTIBLE(nr)", - XSTRING (REGISTER_CONVERTIBLE (nr))); - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: REGISTER_CONVERTIBLE = <0x%08lx>\n", - (long) current_gdbarch->register_convertible - /*REGISTER_CONVERTIBLE ()*/); -#endif -#ifdef REGISTER_CONVERT_TO_RAW -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "REGISTER_CONVERT_TO_RAW(type, regnum, from, to)", - XSTRING (REGISTER_CONVERT_TO_RAW (type, regnum, from, to))); -#endif - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: REGISTER_CONVERT_TO_RAW = <0x%08lx>\n", - (long) current_gdbarch->register_convert_to_raw - /*REGISTER_CONVERT_TO_RAW ()*/); -#endif -#ifdef REGISTER_CONVERT_TO_VIRTUAL -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "REGISTER_CONVERT_TO_VIRTUAL(regnum, type, from, to)", - XSTRING (REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to))); -#endif - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: REGISTER_CONVERT_TO_VIRTUAL = <0x%08lx>\n", - (long) current_gdbarch->register_convert_to_virtual - /*REGISTER_CONVERT_TO_VIRTUAL ()*/); -#endif #ifdef REGISTER_NAME fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -2098,7 +2155,7 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: REGISTER_RAW_SIZE = <0x%08lx>\n", - (long) current_gdbarch->register_raw_size + (long) current_gdbarch->deprecated_register_raw_size /*REGISTER_RAW_SIZE ()*/); #endif #ifdef REGISTER_SIM_REGNO @@ -2117,8 +2174,8 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) /* Macro might contain `[{}]' when not multi-arch */ fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", - "REGISTER_TO_VALUE(regnum, type, from, to)", - XSTRING (REGISTER_TO_VALUE (regnum, type, from, to))); + "REGISTER_TO_VALUE(frame, regnum, type, buf)", + XSTRING (REGISTER_TO_VALUE (frame, regnum, type, buf))); #endif if (GDB_MULTI_ARCH) fprintf_unfiltered (file, @@ -2142,7 +2199,7 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: REGISTER_VIRTUAL_SIZE = <0x%08lx>\n", - (long) current_gdbarch->register_virtual_size + (long) current_gdbarch->deprecated_register_virtual_size /*REGISTER_VIRTUAL_SIZE ()*/); #endif #ifdef REGISTER_VIRTUAL_TYPE_P @@ -2162,7 +2219,7 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) if (GDB_MULTI_ARCH) fprintf_unfiltered (file, "gdbarch_dump: REGISTER_VIRTUAL_TYPE = <0x%08lx>\n", - (long) current_gdbarch->register_virtual_type + (long) current_gdbarch->deprecated_register_virtual_type /*REGISTER_VIRTUAL_TYPE ()*/); #endif #ifdef REG_STRUCT_HAS_ADDR_P @@ -2200,29 +2257,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->return_value_on_stack /*RETURN_VALUE_ON_STACK ()*/); #endif -#ifdef SAVE_DUMMY_FRAME_TOS_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "SAVE_DUMMY_FRAME_TOS_P()", - XSTRING (SAVE_DUMMY_FRAME_TOS_P ())); - fprintf_unfiltered (file, - "gdbarch_dump: SAVE_DUMMY_FRAME_TOS_P() = %d\n", - SAVE_DUMMY_FRAME_TOS_P ()); -#endif -#ifdef SAVE_DUMMY_FRAME_TOS -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "SAVE_DUMMY_FRAME_TOS(sp)", - XSTRING (SAVE_DUMMY_FRAME_TOS (sp))); -#endif - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n", - (long) current_gdbarch->save_dummy_frame_tos - /*SAVE_DUMMY_FRAME_TOS ()*/); -#endif #ifdef SDB_REG_TO_REGNUM fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -2523,6 +2557,15 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: TARGET_PTR_BIT = %d\n", TARGET_PTR_BIT); #endif +#ifdef TARGET_READ_PC_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "TARGET_READ_PC_P()", + XSTRING (TARGET_READ_PC_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: TARGET_READ_PC_P() = %d\n", + TARGET_READ_PC_P ()); +#endif #ifdef TARGET_READ_PC fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -2534,6 +2577,15 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->read_pc /*TARGET_READ_PC ()*/); #endif +#ifdef TARGET_READ_SP_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "TARGET_READ_SP_P()", + XSTRING (TARGET_READ_SP_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: TARGET_READ_SP_P() = %d\n", + TARGET_READ_SP_P ()); +#endif #ifdef TARGET_READ_SP fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -2597,6 +2649,14 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) fprintf_unfiltered (file, "gdbarch_dump: unwind_pc = 0x%08lx\n", (long) current_gdbarch->unwind_pc); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: gdbarch_unwind_sp_p() = %d\n", + gdbarch_unwind_sp_p (current_gdbarch)); + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: unwind_sp = 0x%08lx\n", + (long) current_gdbarch->unwind_sp); #ifdef USE_STRUCT_CONVENTION fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -2613,8 +2673,8 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) /* Macro might contain `[{}]' when not multi-arch */ fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", - "VALUE_TO_REGISTER(type, regnum, from, to)", - XSTRING (VALUE_TO_REGISTER (type, regnum, from, to))); + "VALUE_TO_REGISTER(frame, regnum, type, buf)", + XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf))); #endif if (GDB_MULTI_ARCH) fprintf_unfiltered (file, @@ -2853,6 +2913,13 @@ set_gdbarch_char_signed (struct gdbarch *gdbarch, gdbarch->char_signed = char_signed; } +int +gdbarch_read_pc_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->read_pc != 0; +} + CORE_ADDR gdbarch_read_pc (struct gdbarch *gdbarch, ptid_t ptid) { @@ -2892,29 +2959,10 @@ set_gdbarch_write_pc (struct gdbarch *gdbarch, } int -gdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_target_read_fp != 0; -} - -CORE_ADDR -gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch) +gdbarch_read_sp_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_target_read_fp == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_target_read_fp invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n"); - return gdbarch->deprecated_target_read_fp (); -} - -void -set_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch, - gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp) -{ - gdbarch->deprecated_target_read_fp = deprecated_target_read_fp; + return gdbarch->read_sp != 0; } CORE_ADDR @@ -2936,32 +2984,6 @@ set_gdbarch_read_sp (struct gdbarch *gdbarch, gdbarch->read_sp = read_sp; } -int -gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_dummy_write_sp != 0; -} - -void -gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_dummy_write_sp == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_dummy_write_sp invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n"); - gdbarch->deprecated_dummy_write_sp (val); -} - -void -set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, - gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp) -{ - gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp; -} - void gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset) { @@ -3087,23 +3109,6 @@ set_gdbarch_sp_regnum (struct gdbarch *gdbarch, } int -gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n"); - return gdbarch->deprecated_fp_regnum; -} - -void -set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch, - int deprecated_fp_regnum) -{ - gdbarch->deprecated_fp_regnum = deprecated_fp_regnum; -} - -int gdbarch_pc_regnum (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -3286,19 +3291,55 @@ set_gdbarch_register_name (struct gdbarch *gdbarch, } int -gdbarch_deprecated_register_size (struct gdbarch *gdbarch) +gdbarch_register_type_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->register_type != 0; +} + +struct type * +gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr) { gdb_assert (gdbarch != NULL); + if (gdbarch->register_type == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_register_type invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n"); - return gdbarch->deprecated_register_size; + fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n"); + return gdbarch->register_type (gdbarch, reg_nr); } void -set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch, - int deprecated_register_size) +set_gdbarch_register_type (struct gdbarch *gdbarch, + gdbarch_register_type_ftype register_type) { - gdbarch->deprecated_register_size = deprecated_register_size; + gdbarch->register_type = register_type; +} + +int +gdbarch_deprecated_register_virtual_type_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_register_virtual_type != 0; +} + +struct type * +gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, int reg_nr) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->deprecated_register_virtual_type == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_register_virtual_type invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_type called\n"); + return gdbarch->deprecated_register_virtual_type (reg_nr); +} + +void +set_gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, + gdbarch_deprecated_register_virtual_type_ftype deprecated_register_virtual_type) +{ + gdbarch->deprecated_register_virtual_type = deprecated_register_virtual_type; } int @@ -3318,49 +3359,68 @@ set_gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch, } int -gdbarch_register_byte_p (struct gdbarch *gdbarch) +gdbarch_deprecated_register_byte_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_register_byte != generic_register_byte; +} + +int +gdbarch_deprecated_register_byte (struct gdbarch *gdbarch, int reg_nr) { gdb_assert (gdbarch != NULL); - return gdbarch->register_byte != generic_register_byte; + if (gdbarch->deprecated_register_byte == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_register_byte invalid"); + /* Ignore predicate (gdbarch->deprecated_register_byte != generic_register_byte). */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_byte called\n"); + return gdbarch->deprecated_register_byte (reg_nr); +} + +void +set_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch, + gdbarch_deprecated_register_byte_ftype deprecated_register_byte) +{ + gdbarch->deprecated_register_byte = deprecated_register_byte; } int -gdbarch_register_byte (struct gdbarch *gdbarch, int reg_nr) +gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, int reg_nr) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_byte == 0) + if (gdbarch->deprecated_register_raw_size == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_byte invalid"); - /* Ignore predicate (gdbarch->register_byte != generic_register_byte). */ + "gdbarch: gdbarch_deprecated_register_raw_size invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_byte called\n"); - return gdbarch->register_byte (reg_nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_raw_size called\n"); + return gdbarch->deprecated_register_raw_size (reg_nr); } void -set_gdbarch_register_byte (struct gdbarch *gdbarch, - gdbarch_register_byte_ftype register_byte) +set_gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, + gdbarch_deprecated_register_raw_size_ftype deprecated_register_raw_size) { - gdbarch->register_byte = register_byte; + gdbarch->deprecated_register_raw_size = deprecated_register_raw_size; } int -gdbarch_register_raw_size (struct gdbarch *gdbarch, int reg_nr) +gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, int reg_nr) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_raw_size == 0) + if (gdbarch->deprecated_register_virtual_size == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_raw_size invalid"); + "gdbarch: gdbarch_deprecated_register_virtual_size invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_raw_size called\n"); - return gdbarch->register_raw_size (reg_nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_size called\n"); + return gdbarch->deprecated_register_virtual_size (reg_nr); } void -set_gdbarch_register_raw_size (struct gdbarch *gdbarch, - gdbarch_register_raw_size_ftype register_raw_size) +set_gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, + gdbarch_deprecated_register_virtual_size_ftype deprecated_register_virtual_size) { - gdbarch->register_raw_size = register_raw_size; + gdbarch->deprecated_register_virtual_size = deprecated_register_virtual_size; } int @@ -3387,25 +3447,6 @@ set_gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch, } int -gdbarch_register_virtual_size (struct gdbarch *gdbarch, int reg_nr) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->register_virtual_size == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_virtual_size invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_virtual_size called\n"); - return gdbarch->register_virtual_size (reg_nr); -} - -void -set_gdbarch_register_virtual_size (struct gdbarch *gdbarch, - gdbarch_register_virtual_size_ftype register_virtual_size) -{ - gdbarch->register_virtual_size = register_virtual_size; -} - -int gdbarch_deprecated_max_register_virtual_size_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -3429,278 +3470,235 @@ set_gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch, } int -gdbarch_register_virtual_type_p (struct gdbarch *gdbarch) +gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->register_virtual_type != 0; + return gdbarch->unwind_dummy_id != 0; } -struct type * -gdbarch_register_virtual_type (struct gdbarch *gdbarch, int reg_nr) +struct frame_id +gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_virtual_type == 0) + if (gdbarch->unwind_dummy_id == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_virtual_type invalid"); + "gdbarch: gdbarch_unwind_dummy_id invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_virtual_type called\n"); - return gdbarch->register_virtual_type (reg_nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n"); + return gdbarch->unwind_dummy_id (gdbarch, info); } void -set_gdbarch_register_virtual_type (struct gdbarch *gdbarch, - gdbarch_register_virtual_type_ftype register_virtual_type) +set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, + gdbarch_unwind_dummy_id_ftype unwind_dummy_id) { - gdbarch->register_virtual_type = register_virtual_type; + gdbarch->unwind_dummy_id = unwind_dummy_id; } int -gdbarch_register_type_p (struct gdbarch *gdbarch) +gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->register_type != 0; + return gdbarch->deprecated_save_dummy_frame_tos != 0; } -struct type * -gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr) +void +gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_type == 0) + if (gdbarch->deprecated_save_dummy_frame_tos == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_type invalid"); + "gdbarch: gdbarch_deprecated_save_dummy_frame_tos invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n"); - return gdbarch->register_type (gdbarch, reg_nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n"); + gdbarch->deprecated_save_dummy_frame_tos (sp); } void -set_gdbarch_register_type (struct gdbarch *gdbarch, - gdbarch_register_type_ftype register_type) +set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, + gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos) { - gdbarch->register_type = register_type; + gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos; } int -gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch) +gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_do_registers_info != 0; + /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n"); + return gdbarch->deprecated_fp_regnum; } void -gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs) +set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch, + int deprecated_fp_regnum) { - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_do_registers_info == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_do_registers_info invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n"); - gdbarch->deprecated_do_registers_info (reg_nr, fpregs); + gdbarch->deprecated_fp_regnum = deprecated_fp_regnum; } -void -set_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, - gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info) +int +gdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch) { - gdbarch->deprecated_do_registers_info = deprecated_do_registers_info; + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_target_read_fp != 0; } -void -gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all) +CORE_ADDR +gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->print_registers_info == 0) + if (gdbarch->deprecated_target_read_fp == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_print_registers_info invalid"); + "gdbarch: gdbarch_deprecated_target_read_fp invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_print_registers_info called\n"); - gdbarch->print_registers_info (gdbarch, file, frame, regnum, all); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n"); + return gdbarch->deprecated_target_read_fp (); } void -set_gdbarch_print_registers_info (struct gdbarch *gdbarch, - gdbarch_print_registers_info_ftype print_registers_info) +set_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch, + gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp) { - gdbarch->print_registers_info = print_registers_info; + gdbarch->deprecated_target_read_fp = deprecated_target_read_fp; } int -gdbarch_print_float_info_p (struct gdbarch *gdbarch) +gdbarch_push_dummy_call_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->print_float_info != 0; + return gdbarch->push_dummy_call != 0; } -void -gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +CORE_ADDR +gdbarch_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) { gdb_assert (gdbarch != NULL); - if (gdbarch->print_float_info == 0) + if (gdbarch->push_dummy_call == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_print_float_info invalid"); + "gdbarch: gdbarch_push_dummy_call invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n"); - gdbarch->print_float_info (gdbarch, file, frame, args); + fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n"); + return gdbarch->push_dummy_call (gdbarch, func_addr, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr); } void -set_gdbarch_print_float_info (struct gdbarch *gdbarch, - gdbarch_print_float_info_ftype print_float_info) +set_gdbarch_push_dummy_call (struct gdbarch *gdbarch, + gdbarch_push_dummy_call_ftype push_dummy_call) { - gdbarch->print_float_info = print_float_info; + gdbarch->push_dummy_call = push_dummy_call; } int -gdbarch_print_vector_info_p (struct gdbarch *gdbarch) +gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->print_vector_info != 0; + return gdbarch->deprecated_push_arguments != 0; } -void -gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +CORE_ADDR +gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) { gdb_assert (gdbarch != NULL); - if (gdbarch->print_vector_info == 0) + if (gdbarch->deprecated_push_arguments == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_print_vector_info invalid"); + "gdbarch: gdbarch_deprecated_push_arguments invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_print_vector_info called\n"); - gdbarch->print_vector_info (gdbarch, file, frame, args); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n"); + return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr); } void -set_gdbarch_print_vector_info (struct gdbarch *gdbarch, - gdbarch_print_vector_info_ftype print_vector_info) +set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, + gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments) { - gdbarch->print_vector_info = print_vector_info; + gdbarch->deprecated_push_arguments = deprecated_push_arguments; } int -gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr) +gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_sim_regno == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_sim_regno invalid"); + /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */ if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n"); - return gdbarch->register_sim_regno (reg_nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_use_generic_dummy_frames called\n"); + return gdbarch->deprecated_use_generic_dummy_frames; } void -set_gdbarch_register_sim_regno (struct gdbarch *gdbarch, - gdbarch_register_sim_regno_ftype register_sim_regno) -{ - gdbarch->register_sim_regno = register_sim_regno; -} - -int -gdbarch_register_bytes_ok_p (struct gdbarch *gdbarch) +set_gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch, + int deprecated_use_generic_dummy_frames) { - gdb_assert (gdbarch != NULL); - return gdbarch->register_bytes_ok != 0; + gdbarch->deprecated_use_generic_dummy_frames = deprecated_use_generic_dummy_frames; } int -gdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes) +gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_bytes_ok == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_bytes_ok invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n"); - return gdbarch->register_bytes_ok (nr_bytes); -} - -void -set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch, - gdbarch_register_bytes_ok_ftype register_bytes_ok) -{ - gdbarch->register_bytes_ok = register_bytes_ok; + return gdbarch->deprecated_push_return_address != 0; } -int -gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum) +CORE_ADDR +gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp) { gdb_assert (gdbarch != NULL); - if (gdbarch->cannot_fetch_register == 0) + if (gdbarch->deprecated_push_return_address == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_cannot_fetch_register invalid"); + "gdbarch: gdbarch_deprecated_push_return_address invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n"); - return gdbarch->cannot_fetch_register (regnum); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n"); + return gdbarch->deprecated_push_return_address (pc, sp); } void -set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, - gdbarch_cannot_fetch_register_ftype cannot_fetch_register) +set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, + gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address) { - gdbarch->cannot_fetch_register = cannot_fetch_register; + gdbarch->deprecated_push_return_address = deprecated_push_return_address; } int -gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum) +gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->cannot_store_register == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_cannot_store_register invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n"); - return gdbarch->cannot_store_register (regnum); + return gdbarch->deprecated_dummy_write_sp != 0; } void -set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, - gdbarch_cannot_store_register_ftype cannot_store_register) -{ - gdbarch->cannot_store_register = cannot_store_register; -} - -int -gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->get_longjmp_target != 0; -} - -int -gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc) +gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val) { gdb_assert (gdbarch != NULL); - if (gdbarch->get_longjmp_target == 0) + if (gdbarch->deprecated_dummy_write_sp == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_get_longjmp_target invalid"); + "gdbarch: gdbarch_deprecated_dummy_write_sp invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n"); - return gdbarch->get_longjmp_target (pc); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n"); + gdbarch->deprecated_dummy_write_sp (val); } void -set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, - gdbarch_get_longjmp_target_ftype get_longjmp_target) +set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, + gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp) { - gdbarch->get_longjmp_target = get_longjmp_target; + gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp; } int -gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch) +gdbarch_deprecated_register_size (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */ if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_use_generic_dummy_frames called\n"); - return gdbarch->deprecated_use_generic_dummy_frames; + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n"); + return gdbarch->deprecated_register_size; } void -set_gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch, - int deprecated_use_generic_dummy_frames) +set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch, + int deprecated_register_size) { - gdbarch->deprecated_use_generic_dummy_frames = deprecated_use_generic_dummy_frames; + gdbarch->deprecated_register_size = deprecated_register_size; } int @@ -3787,33 +3785,6 @@ set_gdbarch_deprecated_call_dummy_length (struct gdbarch *gdbarch, gdbarch->deprecated_call_dummy_length = deprecated_call_dummy_length; } -int -gdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy; -} - -int -gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_pc_in_call_dummy == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_pc_in_call_dummy invalid"); - /* Ignore predicate (gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy). */ - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n"); - return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address); -} - -void -set_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, - gdbarch_deprecated_pc_in_call_dummy_ftype deprecated_pc_in_call_dummy) -{ - gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy; -} - LONGEST * gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch) { @@ -3924,6 +3895,282 @@ set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, } int +gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_push_dummy_frame != 0; +} + +void +gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->deprecated_push_dummy_frame == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_push_dummy_frame invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n"); + gdbarch->deprecated_push_dummy_frame (); +} + +void +set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch, + gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame) +{ + gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame; +} + +int +gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extra_stack_alignment_needed called\n"); + return gdbarch->deprecated_extra_stack_alignment_needed; +} + +void +set_gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch, + int deprecated_extra_stack_alignment_needed) +{ + gdbarch->deprecated_extra_stack_alignment_needed = deprecated_extra_stack_alignment_needed; +} + +int +gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_do_registers_info != 0; +} + +void +gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->deprecated_do_registers_info == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_do_registers_info invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n"); + gdbarch->deprecated_do_registers_info (reg_nr, fpregs); +} + +void +set_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, + gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info) +{ + gdbarch->deprecated_do_registers_info = deprecated_do_registers_info; +} + +void +gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->print_registers_info == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_print_registers_info invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_print_registers_info called\n"); + gdbarch->print_registers_info (gdbarch, file, frame, regnum, all); +} + +void +set_gdbarch_print_registers_info (struct gdbarch *gdbarch, + gdbarch_print_registers_info_ftype print_registers_info) +{ + gdbarch->print_registers_info = print_registers_info; +} + +int +gdbarch_print_float_info_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->print_float_info != 0; +} + +void +gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->print_float_info == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_print_float_info invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n"); + gdbarch->print_float_info (gdbarch, file, frame, args); +} + +void +set_gdbarch_print_float_info (struct gdbarch *gdbarch, + gdbarch_print_float_info_ftype print_float_info) +{ + gdbarch->print_float_info = print_float_info; +} + +int +gdbarch_print_vector_info_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->print_vector_info != 0; +} + +void +gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->print_vector_info == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_print_vector_info invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_print_vector_info called\n"); + gdbarch->print_vector_info (gdbarch, file, frame, args); +} + +void +set_gdbarch_print_vector_info (struct gdbarch *gdbarch, + gdbarch_print_vector_info_ftype print_vector_info) +{ + gdbarch->print_vector_info = print_vector_info; +} + +int +gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->register_sim_regno == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_register_sim_regno invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n"); + return gdbarch->register_sim_regno (reg_nr); +} + +void +set_gdbarch_register_sim_regno (struct gdbarch *gdbarch, + gdbarch_register_sim_regno_ftype register_sim_regno) +{ + gdbarch->register_sim_regno = register_sim_regno; +} + +int +gdbarch_register_bytes_ok_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->register_bytes_ok != 0; +} + +int +gdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->register_bytes_ok == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_register_bytes_ok invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n"); + return gdbarch->register_bytes_ok (nr_bytes); +} + +void +set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch, + gdbarch_register_bytes_ok_ftype register_bytes_ok) +{ + gdbarch->register_bytes_ok = register_bytes_ok; +} + +int +gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->cannot_fetch_register == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_cannot_fetch_register invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n"); + return gdbarch->cannot_fetch_register (regnum); +} + +void +set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, + gdbarch_cannot_fetch_register_ftype cannot_fetch_register) +{ + gdbarch->cannot_fetch_register = cannot_fetch_register; +} + +int +gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->cannot_store_register == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_cannot_store_register invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n"); + return gdbarch->cannot_store_register (regnum); +} + +void +set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, + gdbarch_cannot_store_register_ftype cannot_store_register) +{ + gdbarch->cannot_store_register = cannot_store_register; +} + +int +gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->get_longjmp_target != 0; +} + +int +gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->get_longjmp_target == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_get_longjmp_target invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n"); + return gdbarch->get_longjmp_target (pc); +} + +void +set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, + gdbarch_get_longjmp_target_ftype get_longjmp_target) +{ + gdbarch->get_longjmp_target = get_longjmp_target; +} + +int +gdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy; +} + +int +gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->deprecated_pc_in_call_dummy == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_pc_in_call_dummy invalid"); + /* Ignore predicate (gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy). */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n"); + return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address); +} + +void +set_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, + gdbarch_deprecated_pc_in_call_dummy_ftype deprecated_pc_in_call_dummy) +{ + gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy; +} + +int gdbarch_deprecated_init_frame_pc_first_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -4034,64 +4281,64 @@ set_gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch, } int -gdbarch_register_convertible (struct gdbarch *gdbarch, int nr) +gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch, int nr) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_convertible == 0) + if (gdbarch->deprecated_register_convertible == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_convertible invalid"); + "gdbarch: gdbarch_deprecated_register_convertible invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_convertible called\n"); - return gdbarch->register_convertible (nr); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convertible called\n"); + return gdbarch->deprecated_register_convertible (nr); } void -set_gdbarch_register_convertible (struct gdbarch *gdbarch, - gdbarch_register_convertible_ftype register_convertible) +set_gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch, + gdbarch_deprecated_register_convertible_ftype deprecated_register_convertible) { - gdbarch->register_convertible = register_convertible; + gdbarch->deprecated_register_convertible = deprecated_register_convertible; } void -gdbarch_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to) +gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_convert_to_virtual == 0) + if (gdbarch->deprecated_register_convert_to_virtual == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_convert_to_virtual invalid"); + "gdbarch: gdbarch_deprecated_register_convert_to_virtual invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_convert_to_virtual called\n"); - gdbarch->register_convert_to_virtual (regnum, type, from, to); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_virtual called\n"); + gdbarch->deprecated_register_convert_to_virtual (regnum, type, from, to); } void -set_gdbarch_register_convert_to_virtual (struct gdbarch *gdbarch, - gdbarch_register_convert_to_virtual_ftype register_convert_to_virtual) +set_gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch, + gdbarch_deprecated_register_convert_to_virtual_ftype deprecated_register_convert_to_virtual) { - gdbarch->register_convert_to_virtual = register_convert_to_virtual; + gdbarch->deprecated_register_convert_to_virtual = deprecated_register_convert_to_virtual; } void -gdbarch_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, char *from, char *to) +gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, const char *from, char *to) { gdb_assert (gdbarch != NULL); - if (gdbarch->register_convert_to_raw == 0) + if (gdbarch->deprecated_register_convert_to_raw == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_register_convert_to_raw invalid"); + "gdbarch: gdbarch_deprecated_register_convert_to_raw invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_register_convert_to_raw called\n"); - gdbarch->register_convert_to_raw (type, regnum, from, to); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_raw called\n"); + gdbarch->deprecated_register_convert_to_raw (type, regnum, from, to); } void -set_gdbarch_register_convert_to_raw (struct gdbarch *gdbarch, - gdbarch_register_convert_to_raw_ftype register_convert_to_raw) +set_gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch, + gdbarch_deprecated_register_convert_to_raw_ftype deprecated_register_convert_to_raw) { - gdbarch->register_convert_to_raw = register_convert_to_raw; + gdbarch->deprecated_register_convert_to_raw = deprecated_register_convert_to_raw; } int -gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum) +gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) { gdb_assert (gdbarch != NULL); if (gdbarch->convert_register_p == 0) @@ -4099,7 +4346,7 @@ gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum) "gdbarch: gdbarch_convert_register_p invalid"); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_register_p called\n"); - return gdbarch->convert_register_p (regnum); + return gdbarch->convert_register_p (regnum, type); } void @@ -4110,7 +4357,7 @@ set_gdbarch_convert_register_p (struct gdbarch *gdbarch, } void -gdbarch_register_to_value (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to) +gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, void *buf) { gdb_assert (gdbarch != NULL); if (gdbarch->register_to_value == 0) @@ -4118,7 +4365,7 @@ gdbarch_register_to_value (struct gdbarch *gdbarch, int regnum, struct type *typ "gdbarch: gdbarch_register_to_value invalid"); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_register_to_value called\n"); - gdbarch->register_to_value (regnum, type, from, to); + gdbarch->register_to_value (frame, regnum, type, buf); } void @@ -4129,7 +4376,7 @@ set_gdbarch_register_to_value (struct gdbarch *gdbarch, } void -gdbarch_value_to_register (struct gdbarch *gdbarch, struct type *type, int regnum, char *from, char *to) +gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const void *buf) { gdb_assert (gdbarch != NULL); if (gdbarch->value_to_register == 0) @@ -4137,7 +4384,7 @@ gdbarch_value_to_register (struct gdbarch *gdbarch, struct type *type, int regnu "gdbarch: gdbarch_value_to_register invalid"); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_value_to_register called\n"); - gdbarch->value_to_register (type, regnum, from, to); + gdbarch->value_to_register (frame, regnum, type, buf); } void @@ -4231,110 +4478,6 @@ set_gdbarch_return_value_on_stack (struct gdbarch *gdbarch, } int -gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_push_arguments != 0; -} - -CORE_ADDR -gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_push_arguments == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_push_arguments invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n"); - return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr); -} - -void -set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, - gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments) -{ - gdbarch->deprecated_push_arguments = deprecated_push_arguments; -} - -int -gdbarch_push_dummy_call_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->push_dummy_call != 0; -} - -CORE_ADDR -gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR dummy_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->push_dummy_call == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_push_dummy_call invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n"); - return gdbarch->push_dummy_call (gdbarch, regcache, dummy_addr, nargs, args, sp, struct_return, struct_addr); -} - -void -set_gdbarch_push_dummy_call (struct gdbarch *gdbarch, - gdbarch_push_dummy_call_ftype push_dummy_call) -{ - gdbarch->push_dummy_call = push_dummy_call; -} - -int -gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_push_dummy_frame != 0; -} - -void -gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_push_dummy_frame == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_push_dummy_frame invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n"); - gdbarch->deprecated_push_dummy_frame (); -} - -void -set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch, - gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame) -{ - gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame; -} - -int -gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_push_return_address != 0; -} - -CORE_ADDR -gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->deprecated_push_return_address == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_deprecated_push_return_address invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n"); - return gdbarch->deprecated_push_return_address (pc, sp); -} - -void -set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, - gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address) -{ - gdbarch->deprecated_push_return_address = deprecated_push_return_address; -} - -int gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -4718,25 +4861,6 @@ set_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch, gdbarch->decr_pc_after_break = decr_pc_after_break; } -int -gdbarch_prepare_to_proceed (struct gdbarch *gdbarch, int select_it) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->prepare_to_proceed == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_prepare_to_proceed invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_prepare_to_proceed called\n"); - return gdbarch->prepare_to_proceed (select_it); -} - -void -set_gdbarch_prepare_to_proceed (struct gdbarch *gdbarch, - gdbarch_prepare_to_proceed_ftype prepare_to_proceed) -{ - gdbarch->prepare_to_proceed = prepare_to_proceed; -} - CORE_ADDR gdbarch_function_start_offset (struct gdbarch *gdbarch) { @@ -4917,42 +5041,84 @@ set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch->unwind_pc = unwind_pc; } +int +gdbarch_unwind_sp_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->unwind_sp != 0; +} + CORE_ADDR -gdbarch_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi) +gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) { gdb_assert (gdbarch != NULL); - if (gdbarch->frame_args_address == 0) + if (gdbarch->unwind_sp == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_frame_args_address invalid"); + "gdbarch: gdbarch_unwind_sp invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_address called\n"); - return gdbarch->frame_args_address (fi); + fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_sp called\n"); + return gdbarch->unwind_sp (gdbarch, next_frame); } void -set_gdbarch_frame_args_address (struct gdbarch *gdbarch, - gdbarch_frame_args_address_ftype frame_args_address) +set_gdbarch_unwind_sp (struct gdbarch *gdbarch, + gdbarch_unwind_sp_ftype unwind_sp) { - gdbarch->frame_args_address = frame_args_address; + gdbarch->unwind_sp = unwind_sp; +} + +int +gdbarch_deprecated_frame_args_address_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_frame_args_address != get_frame_base; } CORE_ADDR -gdbarch_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi) +gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi) { gdb_assert (gdbarch != NULL); - if (gdbarch->frame_locals_address == 0) + if (gdbarch->deprecated_frame_args_address == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_frame_locals_address invalid"); + "gdbarch: gdbarch_deprecated_frame_args_address invalid"); + /* Ignore predicate (gdbarch->deprecated_frame_args_address != get_frame_base). */ if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_locals_address called\n"); - return gdbarch->frame_locals_address (fi); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_args_address called\n"); + return gdbarch->deprecated_frame_args_address (fi); } void -set_gdbarch_frame_locals_address (struct gdbarch *gdbarch, - gdbarch_frame_locals_address_ftype frame_locals_address) +set_gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, + gdbarch_deprecated_frame_args_address_ftype deprecated_frame_args_address) { - gdbarch->frame_locals_address = frame_locals_address; + gdbarch->deprecated_frame_args_address = deprecated_frame_args_address; +} + +int +gdbarch_deprecated_frame_locals_address_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_frame_locals_address != get_frame_base; +} + +CORE_ADDR +gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->deprecated_frame_locals_address == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_deprecated_frame_locals_address invalid"); + /* Ignore predicate (gdbarch->deprecated_frame_locals_address != get_frame_base). */ + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_locals_address called\n"); + return gdbarch->deprecated_frame_locals_address (fi); +} + +void +set_gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, + gdbarch_deprecated_frame_locals_address_ftype deprecated_frame_locals_address) +{ + gdbarch->deprecated_frame_locals_address = deprecated_frame_locals_address; } int @@ -4982,6 +5148,13 @@ set_gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch, } int +gdbarch_frame_num_args_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->frame_num_args != 0; +} + +int gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame) { gdb_assert (gdbarch != NULL); @@ -5053,23 +5226,6 @@ set_gdbarch_frame_align (struct gdbarch *gdbarch, } int -gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */ - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extra_stack_alignment_needed called\n"); - return gdbarch->deprecated_extra_stack_alignment_needed; -} - -void -set_gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch, - int deprecated_extra_stack_alignment_needed) -{ - gdbarch->deprecated_extra_stack_alignment_needed = deprecated_extra_stack_alignment_needed; -} - -int gdbarch_reg_struct_has_addr_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -5096,58 +5252,6 @@ set_gdbarch_reg_struct_has_addr (struct gdbarch *gdbarch, } int -gdbarch_save_dummy_frame_tos_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->save_dummy_frame_tos != 0; -} - -void -gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->save_dummy_frame_tos == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_save_dummy_frame_tos invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_save_dummy_frame_tos called\n"); - gdbarch->save_dummy_frame_tos (sp); -} - -void -set_gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch, - gdbarch_save_dummy_frame_tos_ftype save_dummy_frame_tos) -{ - gdbarch->save_dummy_frame_tos = save_dummy_frame_tos; -} - -int -gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->unwind_dummy_id != 0; -} - -struct frame_id -gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info) -{ - gdb_assert (gdbarch != NULL); - if (gdbarch->unwind_dummy_id == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_unwind_dummy_id invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n"); - return gdbarch->unwind_dummy_id (gdbarch, info); -} - -void -set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, - gdbarch_unwind_dummy_id_ftype unwind_dummy_id) -{ - gdbarch->unwind_dummy_id = unwind_dummy_id; -} - -int gdbarch_parm_boundary (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); @@ -5691,6 +5795,32 @@ set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch->register_reggroup_p = register_reggroup_p; } +int +gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->fetch_pointer_argument != 0; +} + +CORE_ADDR +gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type) +{ + gdb_assert (gdbarch != NULL); + if (gdbarch->fetch_pointer_argument == 0) + internal_error (__FILE__, __LINE__, + "gdbarch: gdbarch_fetch_pointer_argument invalid"); + if (gdbarch_debug >= 2) + fprintf_unfiltered (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n"); + return gdbarch->fetch_pointer_argument (frame, argi, type); +} + +void +set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, + gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument) +{ + gdbarch->fetch_pointer_argument = fetch_pointer_argument; +} + /* Keep a registry of per-architecture data-pointers required by GDB modules. */ |