]>
Commit | Line | Data |
---|---|---|
810fbe39 | 1 | /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */ |
c4bfde41 | 2 | /* vi:set ro: */ |
59233f88 | 3 | |
adf40b2e | 4 | /* Dynamic architecture support for GDB, the GNU debugger. |
79d45cd4 | 5 | |
213516ef | 6 | Copyright (C) 1998-2023 Free Software Foundation, Inc. |
c906108c | 7 | |
96baa820 JM |
8 | This file is part of GDB. |
9 | ||
10 | This program is free software; you can redistribute it and/or modify | |
11 | it under the terms of the GNU General Public License as published by | |
a9762ec7 | 12 | the Free Software Foundation; either version 3 of the License, or |
96baa820 | 13 | (at your option) any later version. |
618f726f | 14 | |
96baa820 JM |
15 | This program is distributed in the hope that it will be useful, |
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | GNU General Public License for more details. | |
618f726f | 19 | |
96baa820 | 20 | You should have received a copy of the GNU General Public License |
a9762ec7 | 21 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
adf40b2e | 22 | |
a8ab094a TT |
23 | /* To regenerate this file, run: |
24 | ./gdbarch.py | |
25 | */ | |
c906108c | 26 | |
c906108c | 27 | |
0963b4bd | 28 | /* Maintain the struct gdbarch object. */ |
0f71a2f6 JM |
29 | |
30 | struct gdbarch | |
adf40b2e | 31 | { |
76860b5f | 32 | /* Has this architecture been fully initialized? */ |
b987c79a | 33 | bool initialized_p = false; |
aebd7893 AC |
34 | |
35 | /* An obstack bound to the lifetime of the architecture. */ | |
b987c79a | 36 | auto_obstack obstack; |
cb275538 TT |
37 | /* Registry. */ |
38 | registry<gdbarch> registry_fields; | |
aebd7893 | 39 | |
0963b4bd | 40 | /* basic architectural information. */ |
adf40b2e | 41 | const struct bfd_arch_info * bfd_arch_info; |
94123b4f YQ |
42 | enum bfd_endian byte_order; |
43 | enum bfd_endian byte_order_for_code; | |
4be87837 | 44 | enum gdb_osabi osabi; |
424163ea | 45 | const struct target_desc * target_desc; |
0f71a2f6 | 46 | |
0963b4bd | 47 | /* target specific vector. */ |
2b16913c | 48 | gdbarch_tdep_up tdep; |
b987c79a | 49 | gdbarch_dump_tdep_ftype *dump_tdep = nullptr; |
0f71a2f6 | 50 | |
6c8912c6 TT |
51 | int short_bit = 2*TARGET_CHAR_BIT; |
52 | int int_bit = 4*TARGET_CHAR_BIT; | |
53 | int long_bit = 4*TARGET_CHAR_BIT; | |
54 | int long_long_bit = 2*4*TARGET_CHAR_BIT; | |
55 | int bfloat16_bit = 2*TARGET_CHAR_BIT; | |
35079684 | 56 | const struct floatformat ** bfloat16_format = floatformats_bfloat16; |
6c8912c6 | 57 | int half_bit = 2*TARGET_CHAR_BIT; |
35079684 | 58 | const struct floatformat ** half_format = floatformats_ieee_half; |
6c8912c6 | 59 | int float_bit = 4*TARGET_CHAR_BIT; |
35079684 | 60 | const struct floatformat ** float_format = floatformats_ieee_single; |
6c8912c6 | 61 | int double_bit = 8*TARGET_CHAR_BIT; |
35079684 | 62 | const struct floatformat ** double_format = floatformats_ieee_double; |
6c8912c6 | 63 | int long_double_bit = 8*TARGET_CHAR_BIT; |
35079684 | 64 | const struct floatformat ** long_double_format = floatformats_ieee_double; |
6c8912c6 TT |
65 | int wchar_bit = 4*TARGET_CHAR_BIT; |
66 | int wchar_signed = -1; | |
67 | gdbarch_floatformat_for_type_ftype *floatformat_for_type = default_floatformat_for_type; | |
68 | int ptr_bit = 4*TARGET_CHAR_BIT; | |
b987c79a TT |
69 | int addr_bit = 0; |
70 | int dwarf2_addr_size = 0; | |
6c8912c6 | 71 | int char_signed = -1; |
b987c79a TT |
72 | gdbarch_read_pc_ftype *read_pc = nullptr; |
73 | gdbarch_write_pc_ftype *write_pc = nullptr; | |
6c8912c6 | 74 | gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer = legacy_virtual_frame_pointer; |
b987c79a TT |
75 | gdbarch_pseudo_register_read_ftype *pseudo_register_read = nullptr; |
76 | gdbarch_pseudo_register_read_value_ftype *pseudo_register_read_value = nullptr; | |
77 | gdbarch_pseudo_register_write_ftype *pseudo_register_write = nullptr; | |
6c8912c6 | 78 | int num_regs = -1; |
b987c79a TT |
79 | int num_pseudo_regs = 0; |
80 | gdbarch_ax_pseudo_register_collect_ftype *ax_pseudo_register_collect = nullptr; | |
81 | gdbarch_ax_pseudo_register_push_stack_ftype *ax_pseudo_register_push_stack = nullptr; | |
82 | gdbarch_report_signal_info_ftype *report_signal_info = nullptr; | |
6c8912c6 TT |
83 | int sp_regnum = -1; |
84 | int pc_regnum = -1; | |
85 | int ps_regnum = -1; | |
86 | int fp0_regnum = -1; | |
87 | gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum = no_op_reg_to_regnum; | |
88 | gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum = no_op_reg_to_regnum; | |
89 | gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum = no_op_reg_to_regnum; | |
90 | gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum = no_op_reg_to_regnum; | |
a3e200ef | 91 | gdbarch_register_name_ftype *register_name = nullptr; |
b987c79a | 92 | gdbarch_register_type_ftype *register_type = nullptr; |
6c8912c6 TT |
93 | gdbarch_dummy_id_ftype *dummy_id = default_dummy_id; |
94 | int deprecated_fp_regnum = -1; | |
b987c79a | 95 | gdbarch_push_dummy_call_ftype *push_dummy_call = nullptr; |
7807dfae | 96 | enum call_dummy_location_type call_dummy_location = AT_ENTRY_POINT; |
b987c79a | 97 | gdbarch_push_dummy_code_ftype *push_dummy_code = nullptr; |
6c8912c6 TT |
98 | gdbarch_code_of_frame_writable_ftype *code_of_frame_writable = default_code_of_frame_writable; |
99 | gdbarch_print_registers_info_ftype *print_registers_info = default_print_registers_info; | |
100 | gdbarch_print_float_info_ftype *print_float_info = default_print_float_info; | |
b987c79a | 101 | gdbarch_print_vector_info_ftype *print_vector_info = nullptr; |
6c8912c6 TT |
102 | gdbarch_register_sim_regno_ftype *register_sim_regno = legacy_register_sim_regno; |
103 | gdbarch_cannot_fetch_register_ftype *cannot_fetch_register = cannot_register_not; | |
104 | gdbarch_cannot_store_register_ftype *cannot_store_register = cannot_register_not; | |
b987c79a TT |
105 | gdbarch_get_longjmp_target_ftype *get_longjmp_target = nullptr; |
106 | int believe_pcc_promotion = 0; | |
6c8912c6 | 107 | gdbarch_convert_register_p_ftype *convert_register_p = generic_convert_register_p; |
b987c79a TT |
108 | gdbarch_register_to_value_ftype *register_to_value = nullptr; |
109 | gdbarch_value_to_register_ftype *value_to_register = nullptr; | |
6c8912c6 TT |
110 | gdbarch_value_from_register_ftype *value_from_register = default_value_from_register; |
111 | gdbarch_pointer_to_address_ftype *pointer_to_address = unsigned_pointer_to_address; | |
112 | gdbarch_address_to_pointer_ftype *address_to_pointer = unsigned_address_to_pointer; | |
b987c79a TT |
113 | gdbarch_integer_to_address_ftype *integer_to_address = nullptr; |
114 | gdbarch_return_value_ftype *return_value = nullptr; | |
4e1d2f58 | 115 | gdbarch_return_value_as_value_ftype *return_value_as_value = default_gdbarch_return_value; |
a0eda3df | 116 | gdbarch_get_return_buf_addr_ftype *get_return_buf_addr = default_get_return_buf_addr; |
c1a398a3 | 117 | gdbarch_dwarf2_omit_typedef_p_ftype *dwarf2_omit_typedef_p = default_dwarf2_omit_typedef_p; |
9df25c34 | 118 | gdbarch_update_call_site_pc_ftype *update_call_site_pc = default_update_call_site_pc; |
6c8912c6 | 119 | gdbarch_return_in_first_hidden_param_p_ftype *return_in_first_hidden_param_p = default_return_in_first_hidden_param_p; |
a3e200ef | 120 | gdbarch_skip_prologue_ftype *skip_prologue = nullptr; |
b987c79a TT |
121 | gdbarch_skip_main_prologue_ftype *skip_main_prologue = nullptr; |
122 | gdbarch_skip_entrypoint_ftype *skip_entrypoint = nullptr; | |
a3e200ef | 123 | gdbarch_inner_than_ftype *inner_than = nullptr; |
6c8912c6 | 124 | gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc = default_breakpoint_from_pc; |
a3e200ef | 125 | gdbarch_breakpoint_kind_from_pc_ftype *breakpoint_kind_from_pc = nullptr; |
6c8912c6 TT |
126 | gdbarch_sw_breakpoint_from_kind_ftype *sw_breakpoint_from_kind = NULL; |
127 | gdbarch_breakpoint_kind_from_current_state_ftype *breakpoint_kind_from_current_state = default_breakpoint_kind_from_current_state; | |
b987c79a | 128 | gdbarch_adjust_breakpoint_address_ftype *adjust_breakpoint_address = nullptr; |
6c8912c6 TT |
129 | gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint = default_memory_insert_breakpoint; |
130 | gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint = default_memory_remove_breakpoint; | |
b987c79a TT |
131 | CORE_ADDR decr_pc_after_break = 0; |
132 | CORE_ADDR deprecated_function_start_offset = 0; | |
6c8912c6 | 133 | gdbarch_remote_register_number_ftype *remote_register_number = default_remote_register_number; |
b987c79a TT |
134 | gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address = nullptr; |
135 | gdbarch_get_thread_local_address_ftype *get_thread_local_address = nullptr; | |
136 | CORE_ADDR frame_args_skip = 0; | |
6c8912c6 TT |
137 | gdbarch_unwind_pc_ftype *unwind_pc = default_unwind_pc; |
138 | gdbarch_unwind_sp_ftype *unwind_sp = default_unwind_sp; | |
b987c79a TT |
139 | gdbarch_frame_num_args_ftype *frame_num_args = nullptr; |
140 | gdbarch_frame_align_ftype *frame_align = nullptr; | |
6c8912c6 | 141 | gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr = default_stabs_argument_has_addr; |
b987c79a | 142 | int frame_red_zone_size = 0; |
6c8912c6 TT |
143 | gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity; |
144 | gdbarch_addr_bits_remove_ftype *addr_bits_remove = core_addr_identity; | |
d88cb738 | 145 | gdbarch_remove_non_address_bits_ftype *remove_non_address_bits = default_remove_non_address_bits; |
6c8912c6 TT |
146 | gdbarch_memtag_to_string_ftype *memtag_to_string = default_memtag_to_string; |
147 | gdbarch_tagged_address_p_ftype *tagged_address_p = default_tagged_address_p; | |
148 | gdbarch_memtag_matches_p_ftype *memtag_matches_p = default_memtag_matches_p; | |
149 | gdbarch_set_memtags_ftype *set_memtags = default_set_memtags; | |
150 | gdbarch_get_memtag_ftype *get_memtag = default_get_memtag; | |
b987c79a TT |
151 | CORE_ADDR memtag_granule_size = 0; |
152 | gdbarch_software_single_step_ftype *software_single_step = nullptr; | |
153 | gdbarch_single_step_through_delay_ftype *single_step_through_delay = nullptr; | |
6c8912c6 TT |
154 | gdbarch_print_insn_ftype *print_insn = default_print_insn; |
155 | gdbarch_skip_trampoline_code_ftype *skip_trampoline_code = generic_skip_trampoline_code; | |
35079684 | 156 | const struct target_so_ops * so_ops = &solib_target_so_ops; |
6c8912c6 TT |
157 | gdbarch_skip_solib_resolver_ftype *skip_solib_resolver = generic_skip_solib_resolver; |
158 | gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline = generic_in_solib_return_trampoline; | |
159 | gdbarch_in_indirect_branch_thunk_ftype *in_indirect_branch_thunk = default_in_indirect_branch_thunk; | |
160 | gdbarch_stack_frame_destroyed_p_ftype *stack_frame_destroyed_p = generic_stack_frame_destroyed_p; | |
b987c79a | 161 | gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special = nullptr; |
6c8912c6 TT |
162 | gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special = default_coff_make_msymbol_special; |
163 | gdbarch_make_symbol_special_ftype *make_symbol_special = default_make_symbol_special; | |
164 | gdbarch_adjust_dwarf2_addr_ftype *adjust_dwarf2_addr = default_adjust_dwarf2_addr; | |
165 | gdbarch_adjust_dwarf2_line_ftype *adjust_dwarf2_line = default_adjust_dwarf2_line; | |
b987c79a TT |
166 | int cannot_step_breakpoint = 0; |
167 | int have_nonsteppable_watchpoint = 0; | |
168 | gdbarch_address_class_type_flags_ftype *address_class_type_flags = nullptr; | |
169 | gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name = nullptr; | |
6c8912c6 | 170 | gdbarch_execute_dwarf_cfa_vendor_op_ftype *execute_dwarf_cfa_vendor_op = default_execute_dwarf_cfa_vendor_op; |
b987c79a | 171 | gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags = nullptr; |
6c8912c6 | 172 | gdbarch_register_reggroup_p_ftype *register_reggroup_p = default_register_reggroup_p; |
b987c79a TT |
173 | gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument = nullptr; |
174 | gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections = nullptr; | |
175 | gdbarch_make_corefile_notes_ftype *make_corefile_notes = nullptr; | |
176 | gdbarch_find_memory_regions_ftype *find_memory_regions = nullptr; | |
177 | gdbarch_create_memtag_section_ftype *create_memtag_section = nullptr; | |
178 | gdbarch_fill_memtag_section_ftype *fill_memtag_section = nullptr; | |
179 | gdbarch_decode_memtag_section_ftype *decode_memtag_section = nullptr; | |
180 | gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries = nullptr; | |
181 | gdbarch_core_xfer_shared_libraries_aix_ftype *core_xfer_shared_libraries_aix = nullptr; | |
182 | gdbarch_core_pid_to_str_ftype *core_pid_to_str = nullptr; | |
183 | gdbarch_core_thread_name_ftype *core_thread_name = nullptr; | |
184 | gdbarch_core_xfer_siginfo_ftype *core_xfer_siginfo = nullptr; | |
c689d1fe | 185 | gdbarch_core_read_x86_xsave_layout_ftype *core_read_x86_xsave_layout = nullptr; |
b987c79a TT |
186 | const char * gcore_bfd_target = 0; |
187 | int vtable_function_descriptors = 0; | |
188 | int vbit_in_delta = 0; | |
6c8912c6 | 189 | gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint = default_skip_permanent_breakpoint; |
b987c79a TT |
190 | ULONGEST max_insn_length = 0; |
191 | gdbarch_displaced_step_copy_insn_ftype *displaced_step_copy_insn = nullptr; | |
6c8912c6 TT |
192 | gdbarch_displaced_step_hw_singlestep_ftype *displaced_step_hw_singlestep = default_displaced_step_hw_singlestep; |
193 | gdbarch_displaced_step_fixup_ftype *displaced_step_fixup = NULL; | |
b987c79a | 194 | gdbarch_displaced_step_prepare_ftype *displaced_step_prepare = nullptr; |
6c8912c6 | 195 | gdbarch_displaced_step_finish_ftype *displaced_step_finish = NULL; |
b987c79a TT |
196 | gdbarch_displaced_step_copy_insn_closure_by_addr_ftype *displaced_step_copy_insn_closure_by_addr = nullptr; |
197 | gdbarch_displaced_step_restore_all_in_ptid_ftype *displaced_step_restore_all_in_ptid = nullptr; | |
deb65a3c | 198 | ULONGEST displaced_step_buffer_length = 0; |
6c8912c6 | 199 | gdbarch_relocate_instruction_ftype *relocate_instruction = NULL; |
b987c79a TT |
200 | gdbarch_overlay_update_ftype *overlay_update = nullptr; |
201 | gdbarch_core_read_description_ftype *core_read_description = nullptr; | |
202 | int sofun_address_maybe_missing = 0; | |
203 | gdbarch_process_record_ftype *process_record = nullptr; | |
204 | gdbarch_process_record_signal_ftype *process_record_signal = nullptr; | |
205 | gdbarch_gdb_signal_from_target_ftype *gdb_signal_from_target = nullptr; | |
206 | gdbarch_gdb_signal_to_target_ftype *gdb_signal_to_target = nullptr; | |
207 | gdbarch_get_siginfo_type_ftype *get_siginfo_type = nullptr; | |
208 | gdbarch_record_special_symbol_ftype *record_special_symbol = nullptr; | |
209 | gdbarch_get_syscall_number_ftype *get_syscall_number = nullptr; | |
210 | const char * xml_syscall_file = 0; | |
211 | struct syscalls_info * syscalls_info = 0; | |
212 | const char *const * stap_integer_prefixes = 0; | |
213 | const char *const * stap_integer_suffixes = 0; | |
214 | const char *const * stap_register_prefixes = 0; | |
215 | const char *const * stap_register_suffixes = 0; | |
216 | const char *const * stap_register_indirection_prefixes = 0; | |
217 | const char *const * stap_register_indirection_suffixes = 0; | |
218 | const char * stap_gdb_register_prefix = 0; | |
219 | const char * stap_gdb_register_suffix = 0; | |
220 | gdbarch_stap_is_single_operand_ftype *stap_is_single_operand = nullptr; | |
221 | gdbarch_stap_parse_special_token_ftype *stap_parse_special_token = nullptr; | |
222 | gdbarch_stap_adjust_register_ftype *stap_adjust_register = nullptr; | |
223 | gdbarch_dtrace_parse_probe_argument_ftype *dtrace_parse_probe_argument = nullptr; | |
224 | gdbarch_dtrace_probe_is_enabled_ftype *dtrace_probe_is_enabled = nullptr; | |
225 | gdbarch_dtrace_enable_probe_ftype *dtrace_enable_probe = nullptr; | |
226 | gdbarch_dtrace_disable_probe_ftype *dtrace_disable_probe = nullptr; | |
227 | int has_global_solist = 0; | |
228 | int has_global_breakpoints = 0; | |
6c8912c6 TT |
229 | gdbarch_has_shared_address_space_ftype *has_shared_address_space = default_has_shared_address_space; |
230 | gdbarch_fast_tracepoint_valid_at_ftype *fast_tracepoint_valid_at = default_fast_tracepoint_valid_at; | |
231 | gdbarch_guess_tracepoint_registers_ftype *guess_tracepoint_registers = default_guess_tracepoint_registers; | |
232 | gdbarch_auto_charset_ftype *auto_charset = default_auto_charset; | |
233 | gdbarch_auto_wide_charset_ftype *auto_wide_charset = default_auto_wide_charset; | |
b987c79a TT |
234 | const char * solib_symbols_extension = 0; |
235 | int has_dos_based_file_system = 0; | |
6c8912c6 | 236 | gdbarch_gen_return_address_ftype *gen_return_address = default_gen_return_address; |
b987c79a TT |
237 | gdbarch_info_proc_ftype *info_proc = nullptr; |
238 | gdbarch_core_info_proc_ftype *core_info_proc = nullptr; | |
6c8912c6 TT |
239 | gdbarch_iterate_over_objfiles_in_search_order_ftype *iterate_over_objfiles_in_search_order = default_iterate_over_objfiles_in_search_order; |
240 | struct ravenscar_arch_ops * ravenscar_ops = NULL; | |
241 | gdbarch_insn_is_call_ftype *insn_is_call = default_insn_is_call; | |
242 | gdbarch_insn_is_ret_ftype *insn_is_ret = default_insn_is_ret; | |
243 | gdbarch_insn_is_jump_ftype *insn_is_jump = default_insn_is_jump; | |
244 | gdbarch_program_breakpoint_here_p_ftype *program_breakpoint_here_p = default_program_breakpoint_here_p; | |
b987c79a | 245 | gdbarch_auxv_parse_ftype *auxv_parse = nullptr; |
6c8912c6 TT |
246 | gdbarch_print_auxv_entry_ftype *print_auxv_entry = default_print_auxv_entry; |
247 | gdbarch_vsyscall_range_ftype *vsyscall_range = default_vsyscall_range; | |
248 | gdbarch_infcall_mmap_ftype *infcall_mmap = default_infcall_mmap; | |
249 | gdbarch_infcall_munmap_ftype *infcall_munmap = default_infcall_munmap; | |
250 | gdbarch_gcc_target_options_ftype *gcc_target_options = default_gcc_target_options; | |
251 | gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp = default_gnu_triplet_regexp; | |
252 | gdbarch_addressable_memory_unit_size_ftype *addressable_memory_unit_size = default_addressable_memory_unit_size; | |
b987c79a TT |
253 | const char * disassembler_options_implicit = 0; |
254 | char ** disassembler_options = 0; | |
255 | const disasm_options_and_args_t * valid_disassembler_options = 0; | |
6c8912c6 TT |
256 | gdbarch_type_align_ftype *type_align = default_type_align; |
257 | gdbarch_get_pc_address_flags_ftype *get_pc_address_flags = default_get_pc_address_flags; | |
258 | gdbarch_read_core_file_mappings_ftype *read_core_file_mappings = default_read_core_file_mappings; | |
b93d537f | 259 | gdbarch_use_target_description_from_corefile_notes_ftype *use_target_description_from_corefile_notes = default_use_target_description_from_corefile_notes; |
adf40b2e | 260 | }; |
0f71a2f6 | 261 | |
66b43ecb | 262 | /* Create a new ``struct gdbarch'' based on information provided by |
0963b4bd | 263 | ``struct gdbarch_info''. */ |
0f71a2f6 JM |
264 | |
265 | struct gdbarch * | |
104c1213 | 266 | gdbarch_alloc (const struct gdbarch_info *info, |
2b16913c | 267 | gdbarch_tdep_up tdep) |
0f71a2f6 | 268 | { |
be7811ad | 269 | struct gdbarch *gdbarch; |
aebd7893 | 270 | |
b987c79a | 271 | gdbarch = new struct gdbarch; |
0f71a2f6 | 272 | |
2b16913c | 273 | gdbarch->tdep = std::move (tdep); |
0f71a2f6 | 274 | |
be7811ad MD |
275 | gdbarch->bfd_arch_info = info->bfd_arch_info; |
276 | gdbarch->byte_order = info->byte_order; | |
9d4fde75 | 277 | gdbarch->byte_order_for_code = info->byte_order_for_code; |
be7811ad MD |
278 | gdbarch->osabi = info->osabi; |
279 | gdbarch->target_desc = info->target_desc; | |
0f71a2f6 | 280 | |
be7811ad | 281 | return gdbarch; |
0f71a2f6 JM |
282 | } |
283 | ||
284 | ||
aebd7893 | 285 | |
db446970 AC |
286 | /* Ensure that all values in a GDBARCH are reasonable. */ |
287 | ||
0f71a2f6 | 288 | static void |
be7811ad | 289 | verify_gdbarch (struct gdbarch *gdbarch) |
0f71a2f6 | 290 | { |
d7e74731 | 291 | string_file log; |
05c547f6 | 292 | |
0f71a2f6 | 293 | /* fundamental */ |
be7811ad | 294 | if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) |
d7e74731 | 295 | log.puts ("\n\tbyte-order"); |
be7811ad | 296 | if (gdbarch->bfd_arch_info == NULL) |
d7e74731 | 297 | log.puts ("\n\tbfd_arch_info"); |
0963b4bd | 298 | /* Check those that need to be defined for the given multi-arch level. */ |
66b43ecb AC |
299 | /* Skip verify of short_bit, invalid_p == 0 */ |
300 | /* Skip verify of int_bit, invalid_p == 0 */ | |
301 | /* Skip verify of long_bit, invalid_p == 0 */ | |
302 | /* Skip verify of long_long_bit, invalid_p == 0 */ | |
2a67f09d | 303 | /* Skip verify of bfloat16_bit, invalid_p == 0 */ |
6e2d282d | 304 | /* Skip verify of bfloat16_format, invalid_p == 0 */ |
f9e9243a | 305 | /* Skip verify of half_bit, invalid_p == 0 */ |
6e2d282d | 306 | /* Skip verify of half_format, invalid_p == 0 */ |
66b43ecb | 307 | /* Skip verify of float_bit, invalid_p == 0 */ |
6e2d282d | 308 | /* Skip verify of float_format, invalid_p == 0 */ |
66b43ecb | 309 | /* Skip verify of double_bit, invalid_p == 0 */ |
6e2d282d | 310 | /* Skip verify of double_format, invalid_p == 0 */ |
66b43ecb | 311 | /* Skip verify of long_double_bit, invalid_p == 0 */ |
6e2d282d | 312 | /* Skip verify of long_double_format, invalid_p == 0 */ |
53375380 PA |
313 | /* Skip verify of wchar_bit, invalid_p == 0 */ |
314 | if (gdbarch->wchar_signed == -1) | |
315 | gdbarch->wchar_signed = 1; | |
6e2d282d | 316 | /* Skip verify of wchar_signed, invalid_p == 0 */ |
9b790ce7 | 317 | /* Skip verify of floatformat_for_type, invalid_p == 0 */ |
66b43ecb | 318 | /* Skip verify of ptr_bit, invalid_p == 0 */ |
be7811ad MD |
319 | if (gdbarch->addr_bit == 0) |
320 | gdbarch->addr_bit = gdbarch_ptr_bit (gdbarch); | |
6e2d282d | 321 | /* Skip verify of addr_bit, invalid_p == 0 */ |
8da614df CV |
322 | if (gdbarch->dwarf2_addr_size == 0) |
323 | gdbarch->dwarf2_addr_size = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT; | |
6e2d282d | 324 | /* Skip verify of dwarf2_addr_size, invalid_p == 0 */ |
be7811ad MD |
325 | if (gdbarch->char_signed == -1) |
326 | gdbarch->char_signed = 1; | |
6e2d282d | 327 | /* Skip verify of char_signed, invalid_p == 0 */ |
0963b4bd MS |
328 | /* Skip verify of read_pc, has predicate. */ |
329 | /* Skip verify of write_pc, has predicate. */ | |
39d4ef09 | 330 | /* Skip verify of virtual_frame_pointer, invalid_p == 0 */ |
0963b4bd | 331 | /* Skip verify of pseudo_register_read, has predicate. */ |
3543a589 | 332 | /* Skip verify of pseudo_register_read_value, has predicate. */ |
0963b4bd | 333 | /* Skip verify of pseudo_register_write, has predicate. */ |
be7811ad | 334 | if (gdbarch->num_regs == -1) |
d7e74731 | 335 | log.puts ("\n\tnum_regs"); |
0aba1244 | 336 | /* Skip verify of num_pseudo_regs, invalid_p == 0 */ |
0963b4bd MS |
337 | /* Skip verify of ax_pseudo_register_collect, has predicate. */ |
338 | /* Skip verify of ax_pseudo_register_push_stack, has predicate. */ | |
272bb05c | 339 | /* Skip verify of report_signal_info, has predicate. */ |
1200cd6e | 340 | /* Skip verify of sp_regnum, invalid_p == 0 */ |
1200cd6e | 341 | /* Skip verify of pc_regnum, invalid_p == 0 */ |
c2169756 | 342 | /* Skip verify of ps_regnum, invalid_p == 0 */ |
60054393 | 343 | /* Skip verify of fp0_regnum, invalid_p == 0 */ |
88c72b7d AC |
344 | /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */ |
345 | /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */ | |
88c72b7d AC |
346 | /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */ |
347 | /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */ | |
be7811ad | 348 | if (gdbarch->register_name == 0) |
d7e74731 | 349 | log.puts ("\n\tregister_name"); |
a5118a18 AB |
350 | if (gdbarch->register_type == 0) |
351 | log.puts ("\n\tregister_type"); | |
8bcb5208 | 352 | /* Skip verify of dummy_id, invalid_p == 0 */ |
f3be58bc | 353 | /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ |
0963b4bd | 354 | /* Skip verify of push_dummy_call, has predicate. */ |
b8de8283 | 355 | /* Skip verify of call_dummy_location, invalid_p == 0 */ |
0963b4bd | 356 | /* Skip verify of push_dummy_code, has predicate. */ |
7eb89530 | 357 | /* Skip verify of code_of_frame_writable, invalid_p == 0 */ |
0ab7a791 | 358 | /* Skip verify of print_registers_info, invalid_p == 0 */ |
cc86d1cb | 359 | /* Skip verify of print_float_info, invalid_p == 0 */ |
0963b4bd | 360 | /* Skip verify of print_vector_info, has predicate. */ |
7c7651b2 | 361 | /* Skip verify of register_sim_regno, invalid_p == 0 */ |
01fb7433 AC |
362 | /* Skip verify of cannot_fetch_register, invalid_p == 0 */ |
363 | /* Skip verify of cannot_store_register, invalid_p == 0 */ | |
0963b4bd | 364 | /* Skip verify of get_longjmp_target, has predicate. */ |
a5118a18 | 365 | /* Skip verify of believe_pcc_promotion, invalid_p == 0 */ |
13d01224 | 366 | /* Skip verify of convert_register_p, invalid_p == 0 */ |
a5118a18 AB |
367 | /* Skip verify of register_to_value, invalid_p == 0 */ |
368 | /* Skip verify of value_to_register, invalid_p == 0 */ | |
9acbedc0 | 369 | /* Skip verify of value_from_register, invalid_p == 0 */ |
4478b372 JB |
370 | /* Skip verify of pointer_to_address, invalid_p == 0 */ |
371 | /* Skip verify of address_to_pointer, invalid_p == 0 */ | |
0963b4bd | 372 | /* Skip verify of integer_to_address, has predicate. */ |
4e1d2f58 TT |
373 | /* Skip verify of return_value, invalid_p == 0 */ |
374 | if ((gdbarch->return_value_as_value == default_gdbarch_return_value) == (gdbarch->return_value == nullptr)) | |
375 | log.puts ("\n\treturn_value_as_value"); | |
a0eda3df | 376 | /* Skip verify of get_return_buf_addr, invalid_p == 0 */ |
c1a398a3 | 377 | /* Skip verify of dwarf2_omit_typedef_p, invalid_p == 0 */ |
9df25c34 | 378 | /* Skip verify of update_call_site_pc, invalid_p == 0 */ |
18648a37 | 379 | /* Skip verify of return_in_first_hidden_param_p, invalid_p == 0 */ |
be7811ad | 380 | if (gdbarch->skip_prologue == 0) |
d7e74731 | 381 | log.puts ("\n\tskip_prologue"); |
0963b4bd | 382 | /* Skip verify of skip_main_prologue, has predicate. */ |
591a12a1 | 383 | /* Skip verify of skip_entrypoint, has predicate. */ |
be7811ad | 384 | if (gdbarch->inner_than == 0) |
d7e74731 | 385 | log.puts ("\n\tinner_than"); |
22f13eb8 | 386 | /* Skip verify of breakpoint_from_pc, invalid_p == 0 */ |
cd6c3b4f | 387 | if (gdbarch->breakpoint_kind_from_pc == 0) |
d7e74731 | 388 | log.puts ("\n\tbreakpoint_kind_from_pc"); |
cd6c3b4f | 389 | /* Skip verify of sw_breakpoint_from_kind, invalid_p == 0 */ |
833b7ab5 | 390 | /* Skip verify of breakpoint_kind_from_current_state, invalid_p == 0 */ |
0963b4bd | 391 | /* Skip verify of adjust_breakpoint_address, has predicate. */ |
c0e8c252 AC |
392 | /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */ |
393 | /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */ | |
71bd6bd4 | 394 | /* Skip verify of decr_pc_after_break, invalid_p == 0 */ |
782263ab | 395 | /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */ |
123dc839 | 396 | /* Skip verify of remote_register_number, invalid_p == 0 */ |
0963b4bd | 397 | /* Skip verify of fetch_tls_load_module_address, has predicate. */ |
6e056c81 | 398 | /* Skip verify of get_thread_local_address, has predicate. */ |
5867a2fb | 399 | /* Skip verify of frame_args_skip, invalid_p == 0 */ |
8bcb5208 AB |
400 | /* Skip verify of unwind_pc, invalid_p == 0 */ |
401 | /* Skip verify of unwind_sp, invalid_p == 0 */ | |
0963b4bd MS |
402 | /* Skip verify of frame_num_args, has predicate. */ |
403 | /* Skip verify of frame_align, has predicate. */ | |
192cb3d4 | 404 | /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */ |
a5118a18 | 405 | /* Skip verify of frame_red_zone_size, invalid_p == 0 */ |
f517ea4e | 406 | /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */ |
875e1767 | 407 | /* Skip verify of addr_bits_remove, invalid_p == 0 */ |
d88cb738 | 408 | /* Skip verify of remove_non_address_bits, invalid_p == 0 */ |
c193949e LM |
409 | /* Skip verify of memtag_to_string, invalid_p == 0 */ |
410 | /* Skip verify of tagged_address_p, invalid_p == 0 */ | |
411 | /* Skip verify of memtag_matches_p, invalid_p == 0 */ | |
412 | /* Skip verify of set_memtags, invalid_p == 0 */ | |
413 | /* Skip verify of get_memtag, invalid_p == 0 */ | |
414 | /* Skip verify of memtag_granule_size, invalid_p == 0 */ | |
0963b4bd MS |
415 | /* Skip verify of software_single_step, has predicate. */ |
416 | /* Skip verify of single_step_through_delay, has predicate. */ | |
39503f82 | 417 | /* Skip verify of print_insn, invalid_p == 0 */ |
bdcd319a | 418 | /* Skip verify of skip_trampoline_code, invalid_p == 0 */ |
6e2d282d | 419 | /* Skip verify of so_ops, invalid_p == 0 */ |
dea0c52f | 420 | /* Skip verify of skip_solib_resolver, invalid_p == 0 */ |
d50355b6 | 421 | /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */ |
1d509aa6 | 422 | /* Skip verify of in_indirect_branch_thunk, invalid_p == 0 */ |
c9cf6e20 | 423 | /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */ |
3e29f34a | 424 | /* Skip verify of elf_make_msymbol_special, has predicate. */ |
a2cf933a | 425 | /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */ |
3e29f34a MR |
426 | /* Skip verify of make_symbol_special, invalid_p == 0 */ |
427 | /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */ | |
428 | /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */ | |
c4ed33b9 | 429 | /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */ |
f74fa174 | 430 | /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */ |
0963b4bd MS |
431 | /* Skip verify of address_class_type_flags, has predicate. */ |
432 | /* Skip verify of address_class_type_flags_to_name, has predicate. */ | |
b41c5a85 | 433 | /* Skip verify of execute_dwarf_cfa_vendor_op, invalid_p == 0 */ |
0963b4bd | 434 | /* Skip verify of address_class_name_to_type_flags, has predicate. */ |
7e20f3fb | 435 | /* Skip verify of register_reggroup_p, invalid_p == 0 */ |
0963b4bd | 436 | /* Skip verify of fetch_pointer_argument, has predicate. */ |
5aa82d05 | 437 | /* Skip verify of iterate_over_regset_sections, has predicate. */ |
6432734d | 438 | /* Skip verify of make_corefile_notes, has predicate. */ |
35c2fab7 | 439 | /* Skip verify of find_memory_regions, has predicate. */ |
68cffbbd LM |
440 | /* Skip verify of create_memtag_section, has predicate. */ |
441 | /* Skip verify of fill_memtag_section, has predicate. */ | |
442 | /* Skip verify of decode_memtag_section, has predicate. */ | |
0963b4bd | 443 | /* Skip verify of core_xfer_shared_libraries, has predicate. */ |
356a5233 | 444 | /* Skip verify of core_xfer_shared_libraries_aix, has predicate. */ |
0963b4bd | 445 | /* Skip verify of core_pid_to_str, has predicate. */ |
4dfc5dbc | 446 | /* Skip verify of core_thread_name, has predicate. */ |
382b69bb | 447 | /* Skip verify of core_xfer_siginfo, has predicate. */ |
c689d1fe | 448 | /* Skip verify of core_read_x86_xsave_layout, has predicate. */ |
0963b4bd | 449 | /* Skip verify of gcore_bfd_target, has predicate. */ |
0d5de010 DJ |
450 | /* Skip verify of vtable_function_descriptors, invalid_p == 0 */ |
451 | /* Skip verify of vbit_in_delta, invalid_p == 0 */ | |
ae9bb220 | 452 | /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */ |
0963b4bd MS |
453 | /* Skip verify of max_insn_length, has predicate. */ |
454 | /* Skip verify of displaced_step_copy_insn, has predicate. */ | |
99e40580 | 455 | /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */ |
41445712 AB |
456 | if ((gdbarch->displaced_step_copy_insn == nullptr) != (gdbarch->displaced_step_fixup == nullptr)) |
457 | log.puts ("\n\tdisplaced_step_fixup"); | |
187b041e SM |
458 | /* Skip verify of displaced_step_prepare, has predicate. */ |
459 | if ((! gdbarch->displaced_step_finish) != (! gdbarch->displaced_step_prepare)) | |
460 | log.puts ("\n\tdisplaced_step_finish"); | |
461 | /* Skip verify of displaced_step_copy_insn_closure_by_addr, has predicate. */ | |
a5118a18 | 462 | /* Skip verify of displaced_step_restore_all_in_ptid, invalid_p == 0 */ |
deb65a3c AB |
463 | if (gdbarch->displaced_step_buffer_length == 0) |
464 | gdbarch->displaced_step_buffer_length = gdbarch->max_insn_length; | |
465 | if (gdbarch->displaced_step_buffer_length < gdbarch->max_insn_length) | |
466 | log.puts ("\n\tdisplaced_step_buffer_length"); | |
0963b4bd MS |
467 | /* Skip verify of relocate_instruction, has predicate. */ |
468 | /* Skip verify of overlay_update, has predicate. */ | |
469 | /* Skip verify of core_read_description, has predicate. */ | |
203c3895 | 470 | /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */ |
0963b4bd MS |
471 | /* Skip verify of process_record, has predicate. */ |
472 | /* Skip verify of process_record_signal, has predicate. */ | |
1f8cf220 | 473 | /* Skip verify of gdb_signal_from_target, has predicate. */ |
eb14d406 | 474 | /* Skip verify of gdb_signal_to_target, has predicate. */ |
0963b4bd MS |
475 | /* Skip verify of get_siginfo_type, has predicate. */ |
476 | /* Skip verify of record_special_symbol, has predicate. */ | |
477 | /* Skip verify of get_syscall_number, has predicate. */ | |
458c8db8 SDJ |
478 | /* Skip verify of xml_syscall_file, invalid_p == 0 */ |
479 | /* Skip verify of syscalls_info, invalid_p == 0 */ | |
05c0465e SDJ |
480 | /* Skip verify of stap_integer_prefixes, invalid_p == 0 */ |
481 | /* Skip verify of stap_integer_suffixes, invalid_p == 0 */ | |
482 | /* Skip verify of stap_register_prefixes, invalid_p == 0 */ | |
483 | /* Skip verify of stap_register_suffixes, invalid_p == 0 */ | |
484 | /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */ | |
485 | /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */ | |
55aa24fb SDJ |
486 | /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */ |
487 | /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */ | |
488 | /* Skip verify of stap_is_single_operand, has predicate. */ | |
489 | /* Skip verify of stap_parse_special_token, has predicate. */ | |
7d7571f0 | 490 | /* Skip verify of stap_adjust_register, has predicate. */ |
8b367e17 JM |
491 | /* Skip verify of dtrace_parse_probe_argument, has predicate. */ |
492 | /* Skip verify of dtrace_probe_is_enabled, has predicate. */ | |
493 | /* Skip verify of dtrace_enable_probe, has predicate. */ | |
494 | /* Skip verify of dtrace_disable_probe, has predicate. */ | |
50c71eaf | 495 | /* Skip verify of has_global_solist, invalid_p == 0 */ |
2567c7d9 | 496 | /* Skip verify of has_global_breakpoints, invalid_p == 0 */ |
6c95b8df | 497 | /* Skip verify of has_shared_address_space, invalid_p == 0 */ |
7a697b8d | 498 | /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */ |
5f034a78 | 499 | /* Skip verify of guess_tracepoint_registers, invalid_p == 0 */ |
f870a310 TT |
500 | /* Skip verify of auto_charset, invalid_p == 0 */ |
501 | /* Skip verify of auto_wide_charset, invalid_p == 0 */ | |
a5118a18 | 502 | /* Skip verify of solib_symbols_extension, invalid_p == 0 */ |
ab38a727 | 503 | /* Skip verify of has_dos_based_file_system, invalid_p == 0 */ |
6710bf39 | 504 | /* Skip verify of gen_return_address, invalid_p == 0 */ |
3030c96e | 505 | /* Skip verify of info_proc, has predicate. */ |
451b7c33 | 506 | /* Skip verify of core_info_proc, has predicate. */ |
19630284 | 507 | /* Skip verify of iterate_over_objfiles_in_search_order, invalid_p == 0 */ |
7e35103a | 508 | /* Skip verify of ravenscar_ops, invalid_p == 0 */ |
c2170eef MM |
509 | /* Skip verify of insn_is_call, invalid_p == 0 */ |
510 | /* Skip verify of insn_is_ret, invalid_p == 0 */ | |
511 | /* Skip verify of insn_is_jump, invalid_p == 0 */ | |
5133a315 | 512 | /* Skip verify of program_breakpoint_here_p, invalid_p == 0 */ |
27a48a92 | 513 | /* Skip verify of auxv_parse, has predicate. */ |
2faa3447 | 514 | /* Skip verify of print_auxv_entry, invalid_p == 0 */ |
3437254d | 515 | /* Skip verify of vsyscall_range, invalid_p == 0 */ |
f208eee0 | 516 | /* Skip verify of infcall_mmap, invalid_p == 0 */ |
7f361056 | 517 | /* Skip verify of infcall_munmap, invalid_p == 0 */ |
f208eee0 | 518 | /* Skip verify of gcc_target_options, invalid_p == 0 */ |
ac04f72b | 519 | /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */ |
3374165f | 520 | /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */ |
471b9d15 | 521 | /* Skip verify of disassembler_options_implicit, invalid_p == 0 */ |
65b48a81 PB |
522 | /* Skip verify of disassembler_options, invalid_p == 0 */ |
523 | /* Skip verify of valid_disassembler_options, invalid_p == 0 */ | |
2b4424c3 | 524 | /* Skip verify of type_align, invalid_p == 0 */ |
aa7ca1bb | 525 | /* Skip verify of get_pc_address_flags, invalid_p == 0 */ |
7e183d27 | 526 | /* Skip verify of read_core_file_mappings, invalid_p == 0 */ |
b93d537f | 527 | /* Skip verify of use_target_description_from_corefile_notes, invalid_p == 0 */ |
d7e74731 | 528 | if (!log.empty ()) |
f34652de | 529 | internal_error (_("verify_gdbarch: the following are invalid ...%s"), |
dda83cd7 | 530 | log.c_str ()); |
0f71a2f6 JM |
531 | } |
532 | ||
533 | ||
0963b4bd | 534 | /* Print out the details of the current architecture. */ |
0f71a2f6 JM |
535 | |
536 | void | |
be7811ad | 537 | gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) |
0f71a2f6 | 538 | { |
b78960be | 539 | const char *gdb_nm_file = "<not-defined>"; |
05c547f6 | 540 | |
b78960be AC |
541 | #if defined (GDB_NM_FILE) |
542 | gdb_nm_file = GDB_NM_FILE; | |
543 | #endif | |
6cb06a8c | 544 | gdb_printf (file, |
53e03d92 TJB |
545 | "gdbarch_dump: GDB_NM_FILE = %s\n", |
546 | gdb_nm_file); | |
6cb06a8c | 547 | gdb_printf (file, |
53e03d92 TJB |
548 | "gdbarch_dump: bfd_arch_info = %s\n", |
549 | gdbarch_bfd_arch_info (gdbarch)->printable_name); | |
6cb06a8c | 550 | gdb_printf (file, |
53e03d92 TJB |
551 | "gdbarch_dump: byte_order = %s\n", |
552 | plongest (gdbarch->byte_order)); | |
6cb06a8c | 553 | gdb_printf (file, |
53e03d92 TJB |
554 | "gdbarch_dump: byte_order_for_code = %s\n", |
555 | plongest (gdbarch->byte_order_for_code)); | |
6cb06a8c | 556 | gdb_printf (file, |
53e03d92 TJB |
557 | "gdbarch_dump: osabi = %s\n", |
558 | plongest (gdbarch->osabi)); | |
6cb06a8c | 559 | gdb_printf (file, |
53e03d92 TJB |
560 | "gdbarch_dump: target_desc = %s\n", |
561 | host_address_to_string (gdbarch->target_desc)); | |
6cb06a8c | 562 | gdb_printf (file, |
53e03d92 TJB |
563 | "gdbarch_dump: short_bit = %s\n", |
564 | plongest (gdbarch->short_bit)); | |
6cb06a8c | 565 | gdb_printf (file, |
53e03d92 TJB |
566 | "gdbarch_dump: int_bit = %s\n", |
567 | plongest (gdbarch->int_bit)); | |
6cb06a8c | 568 | gdb_printf (file, |
53e03d92 TJB |
569 | "gdbarch_dump: long_bit = %s\n", |
570 | plongest (gdbarch->long_bit)); | |
6cb06a8c | 571 | gdb_printf (file, |
53e03d92 TJB |
572 | "gdbarch_dump: long_long_bit = %s\n", |
573 | plongest (gdbarch->long_long_bit)); | |
6cb06a8c | 574 | gdb_printf (file, |
53e03d92 TJB |
575 | "gdbarch_dump: bfloat16_bit = %s\n", |
576 | plongest (gdbarch->bfloat16_bit)); | |
6cb06a8c | 577 | gdb_printf (file, |
53e03d92 TJB |
578 | "gdbarch_dump: bfloat16_format = %s\n", |
579 | pformat (gdbarch, gdbarch->bfloat16_format)); | |
6cb06a8c | 580 | gdb_printf (file, |
53e03d92 TJB |
581 | "gdbarch_dump: half_bit = %s\n", |
582 | plongest (gdbarch->half_bit)); | |
6cb06a8c | 583 | gdb_printf (file, |
53e03d92 TJB |
584 | "gdbarch_dump: half_format = %s\n", |
585 | pformat (gdbarch, gdbarch->half_format)); | |
6cb06a8c | 586 | gdb_printf (file, |
53e03d92 TJB |
587 | "gdbarch_dump: float_bit = %s\n", |
588 | plongest (gdbarch->float_bit)); | |
6cb06a8c | 589 | gdb_printf (file, |
53e03d92 TJB |
590 | "gdbarch_dump: float_format = %s\n", |
591 | pformat (gdbarch, gdbarch->float_format)); | |
6cb06a8c | 592 | gdb_printf (file, |
53e03d92 TJB |
593 | "gdbarch_dump: double_bit = %s\n", |
594 | plongest (gdbarch->double_bit)); | |
6cb06a8c | 595 | gdb_printf (file, |
53e03d92 TJB |
596 | "gdbarch_dump: double_format = %s\n", |
597 | pformat (gdbarch, gdbarch->double_format)); | |
6cb06a8c | 598 | gdb_printf (file, |
53e03d92 TJB |
599 | "gdbarch_dump: long_double_bit = %s\n", |
600 | plongest (gdbarch->long_double_bit)); | |
6cb06a8c | 601 | gdb_printf (file, |
53e03d92 TJB |
602 | "gdbarch_dump: long_double_format = %s\n", |
603 | pformat (gdbarch, gdbarch->long_double_format)); | |
6cb06a8c | 604 | gdb_printf (file, |
53e03d92 TJB |
605 | "gdbarch_dump: wchar_bit = %s\n", |
606 | plongest (gdbarch->wchar_bit)); | |
6cb06a8c | 607 | gdb_printf (file, |
53e03d92 TJB |
608 | "gdbarch_dump: wchar_signed = %s\n", |
609 | plongest (gdbarch->wchar_signed)); | |
6cb06a8c | 610 | gdb_printf (file, |
53e03d92 TJB |
611 | "gdbarch_dump: floatformat_for_type = <%s>\n", |
612 | host_address_to_string (gdbarch->floatformat_for_type)); | |
6cb06a8c | 613 | gdb_printf (file, |
53e03d92 TJB |
614 | "gdbarch_dump: ptr_bit = %s\n", |
615 | plongest (gdbarch->ptr_bit)); | |
6cb06a8c | 616 | gdb_printf (file, |
53e03d92 TJB |
617 | "gdbarch_dump: addr_bit = %s\n", |
618 | plongest (gdbarch->addr_bit)); | |
6cb06a8c | 619 | gdb_printf (file, |
53e03d92 TJB |
620 | "gdbarch_dump: dwarf2_addr_size = %s\n", |
621 | plongest (gdbarch->dwarf2_addr_size)); | |
6cb06a8c | 622 | gdb_printf (file, |
53e03d92 TJB |
623 | "gdbarch_dump: char_signed = %s\n", |
624 | plongest (gdbarch->char_signed)); | |
6cb06a8c | 625 | gdb_printf (file, |
53e03d92 TJB |
626 | "gdbarch_dump: gdbarch_read_pc_p() = %d\n", |
627 | gdbarch_read_pc_p (gdbarch)); | |
6cb06a8c | 628 | gdb_printf (file, |
53e03d92 TJB |
629 | "gdbarch_dump: read_pc = <%s>\n", |
630 | host_address_to_string (gdbarch->read_pc)); | |
6cb06a8c | 631 | gdb_printf (file, |
53e03d92 TJB |
632 | "gdbarch_dump: gdbarch_write_pc_p() = %d\n", |
633 | gdbarch_write_pc_p (gdbarch)); | |
6cb06a8c | 634 | gdb_printf (file, |
53e03d92 TJB |
635 | "gdbarch_dump: write_pc = <%s>\n", |
636 | host_address_to_string (gdbarch->write_pc)); | |
6cb06a8c | 637 | gdb_printf (file, |
53e03d92 TJB |
638 | "gdbarch_dump: virtual_frame_pointer = <%s>\n", |
639 | host_address_to_string (gdbarch->virtual_frame_pointer)); | |
6cb06a8c | 640 | gdb_printf (file, |
53e03d92 TJB |
641 | "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n", |
642 | gdbarch_pseudo_register_read_p (gdbarch)); | |
6cb06a8c | 643 | gdb_printf (file, |
53e03d92 TJB |
644 | "gdbarch_dump: pseudo_register_read = <%s>\n", |
645 | host_address_to_string (gdbarch->pseudo_register_read)); | |
6cb06a8c | 646 | gdb_printf (file, |
53e03d92 TJB |
647 | "gdbarch_dump: gdbarch_pseudo_register_read_value_p() = %d\n", |
648 | gdbarch_pseudo_register_read_value_p (gdbarch)); | |
6cb06a8c | 649 | gdb_printf (file, |
53e03d92 TJB |
650 | "gdbarch_dump: pseudo_register_read_value = <%s>\n", |
651 | host_address_to_string (gdbarch->pseudo_register_read_value)); | |
6cb06a8c | 652 | gdb_printf (file, |
53e03d92 TJB |
653 | "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n", |
654 | gdbarch_pseudo_register_write_p (gdbarch)); | |
6cb06a8c | 655 | gdb_printf (file, |
53e03d92 TJB |
656 | "gdbarch_dump: pseudo_register_write = <%s>\n", |
657 | host_address_to_string (gdbarch->pseudo_register_write)); | |
6cb06a8c | 658 | gdb_printf (file, |
53e03d92 TJB |
659 | "gdbarch_dump: num_regs = %s\n", |
660 | plongest (gdbarch->num_regs)); | |
6cb06a8c | 661 | gdb_printf (file, |
53e03d92 TJB |
662 | "gdbarch_dump: num_pseudo_regs = %s\n", |
663 | plongest (gdbarch->num_pseudo_regs)); | |
6cb06a8c | 664 | gdb_printf (file, |
53e03d92 TJB |
665 | "gdbarch_dump: gdbarch_ax_pseudo_register_collect_p() = %d\n", |
666 | gdbarch_ax_pseudo_register_collect_p (gdbarch)); | |
6cb06a8c | 667 | gdb_printf (file, |
53e03d92 TJB |
668 | "gdbarch_dump: ax_pseudo_register_collect = <%s>\n", |
669 | host_address_to_string (gdbarch->ax_pseudo_register_collect)); | |
6cb06a8c | 670 | gdb_printf (file, |
53e03d92 TJB |
671 | "gdbarch_dump: gdbarch_ax_pseudo_register_push_stack_p() = %d\n", |
672 | gdbarch_ax_pseudo_register_push_stack_p (gdbarch)); | |
6cb06a8c | 673 | gdb_printf (file, |
53e03d92 TJB |
674 | "gdbarch_dump: ax_pseudo_register_push_stack = <%s>\n", |
675 | host_address_to_string (gdbarch->ax_pseudo_register_push_stack)); | |
6cb06a8c | 676 | gdb_printf (file, |
53e03d92 TJB |
677 | "gdbarch_dump: gdbarch_report_signal_info_p() = %d\n", |
678 | gdbarch_report_signal_info_p (gdbarch)); | |
6cb06a8c | 679 | gdb_printf (file, |
53e03d92 TJB |
680 | "gdbarch_dump: report_signal_info = <%s>\n", |
681 | host_address_to_string (gdbarch->report_signal_info)); | |
6cb06a8c | 682 | gdb_printf (file, |
53e03d92 TJB |
683 | "gdbarch_dump: sp_regnum = %s\n", |
684 | plongest (gdbarch->sp_regnum)); | |
6cb06a8c | 685 | gdb_printf (file, |
53e03d92 TJB |
686 | "gdbarch_dump: pc_regnum = %s\n", |
687 | plongest (gdbarch->pc_regnum)); | |
6cb06a8c | 688 | gdb_printf (file, |
53e03d92 TJB |
689 | "gdbarch_dump: ps_regnum = %s\n", |
690 | plongest (gdbarch->ps_regnum)); | |
6cb06a8c | 691 | gdb_printf (file, |
53e03d92 TJB |
692 | "gdbarch_dump: fp0_regnum = %s\n", |
693 | plongest (gdbarch->fp0_regnum)); | |
6cb06a8c | 694 | gdb_printf (file, |
53e03d92 TJB |
695 | "gdbarch_dump: stab_reg_to_regnum = <%s>\n", |
696 | host_address_to_string (gdbarch->stab_reg_to_regnum)); | |
6cb06a8c | 697 | gdb_printf (file, |
53e03d92 TJB |
698 | "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n", |
699 | host_address_to_string (gdbarch->ecoff_reg_to_regnum)); | |
6cb06a8c | 700 | gdb_printf (file, |
53e03d92 TJB |
701 | "gdbarch_dump: sdb_reg_to_regnum = <%s>\n", |
702 | host_address_to_string (gdbarch->sdb_reg_to_regnum)); | |
6cb06a8c | 703 | gdb_printf (file, |
53e03d92 TJB |
704 | "gdbarch_dump: dwarf2_reg_to_regnum = <%s>\n", |
705 | host_address_to_string (gdbarch->dwarf2_reg_to_regnum)); | |
6cb06a8c | 706 | gdb_printf (file, |
53e03d92 TJB |
707 | "gdbarch_dump: register_name = <%s>\n", |
708 | host_address_to_string (gdbarch->register_name)); | |
6cb06a8c | 709 | gdb_printf (file, |
53e03d92 TJB |
710 | "gdbarch_dump: register_type = <%s>\n", |
711 | host_address_to_string (gdbarch->register_type)); | |
6cb06a8c | 712 | gdb_printf (file, |
53e03d92 TJB |
713 | "gdbarch_dump: dummy_id = <%s>\n", |
714 | host_address_to_string (gdbarch->dummy_id)); | |
6cb06a8c | 715 | gdb_printf (file, |
53e03d92 TJB |
716 | "gdbarch_dump: deprecated_fp_regnum = %s\n", |
717 | plongest (gdbarch->deprecated_fp_regnum)); | |
6cb06a8c | 718 | gdb_printf (file, |
53e03d92 TJB |
719 | "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n", |
720 | gdbarch_push_dummy_call_p (gdbarch)); | |
6cb06a8c | 721 | gdb_printf (file, |
53e03d92 TJB |
722 | "gdbarch_dump: push_dummy_call = <%s>\n", |
723 | host_address_to_string (gdbarch->push_dummy_call)); | |
6cb06a8c | 724 | gdb_printf (file, |
53e03d92 TJB |
725 | "gdbarch_dump: call_dummy_location = %s\n", |
726 | plongest (gdbarch->call_dummy_location)); | |
6cb06a8c | 727 | gdb_printf (file, |
53e03d92 TJB |
728 | "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n", |
729 | gdbarch_push_dummy_code_p (gdbarch)); | |
6cb06a8c | 730 | gdb_printf (file, |
53e03d92 TJB |
731 | "gdbarch_dump: push_dummy_code = <%s>\n", |
732 | host_address_to_string (gdbarch->push_dummy_code)); | |
6cb06a8c | 733 | gdb_printf (file, |
53e03d92 TJB |
734 | "gdbarch_dump: code_of_frame_writable = <%s>\n", |
735 | host_address_to_string (gdbarch->code_of_frame_writable)); | |
6cb06a8c | 736 | gdb_printf (file, |
53e03d92 TJB |
737 | "gdbarch_dump: print_registers_info = <%s>\n", |
738 | host_address_to_string (gdbarch->print_registers_info)); | |
6cb06a8c | 739 | gdb_printf (file, |
53e03d92 TJB |
740 | "gdbarch_dump: print_float_info = <%s>\n", |
741 | host_address_to_string (gdbarch->print_float_info)); | |
6cb06a8c | 742 | gdb_printf (file, |
53e03d92 TJB |
743 | "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n", |
744 | gdbarch_print_vector_info_p (gdbarch)); | |
6cb06a8c | 745 | gdb_printf (file, |
53e03d92 TJB |
746 | "gdbarch_dump: print_vector_info = <%s>\n", |
747 | host_address_to_string (gdbarch->print_vector_info)); | |
6cb06a8c | 748 | gdb_printf (file, |
53e03d92 TJB |
749 | "gdbarch_dump: register_sim_regno = <%s>\n", |
750 | host_address_to_string (gdbarch->register_sim_regno)); | |
6cb06a8c | 751 | gdb_printf (file, |
53e03d92 TJB |
752 | "gdbarch_dump: cannot_fetch_register = <%s>\n", |
753 | host_address_to_string (gdbarch->cannot_fetch_register)); | |
6cb06a8c | 754 | gdb_printf (file, |
53e03d92 TJB |
755 | "gdbarch_dump: cannot_store_register = <%s>\n", |
756 | host_address_to_string (gdbarch->cannot_store_register)); | |
6cb06a8c | 757 | gdb_printf (file, |
53e03d92 TJB |
758 | "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n", |
759 | gdbarch_get_longjmp_target_p (gdbarch)); | |
6cb06a8c | 760 | gdb_printf (file, |
53e03d92 TJB |
761 | "gdbarch_dump: get_longjmp_target = <%s>\n", |
762 | host_address_to_string (gdbarch->get_longjmp_target)); | |
6cb06a8c | 763 | gdb_printf (file, |
53e03d92 TJB |
764 | "gdbarch_dump: believe_pcc_promotion = %s\n", |
765 | plongest (gdbarch->believe_pcc_promotion)); | |
6cb06a8c | 766 | gdb_printf (file, |
53e03d92 TJB |
767 | "gdbarch_dump: convert_register_p = <%s>\n", |
768 | host_address_to_string (gdbarch->convert_register_p)); | |
6cb06a8c | 769 | gdb_printf (file, |
53e03d92 TJB |
770 | "gdbarch_dump: register_to_value = <%s>\n", |
771 | host_address_to_string (gdbarch->register_to_value)); | |
6cb06a8c | 772 | gdb_printf (file, |
53e03d92 TJB |
773 | "gdbarch_dump: value_to_register = <%s>\n", |
774 | host_address_to_string (gdbarch->value_to_register)); | |
6cb06a8c | 775 | gdb_printf (file, |
53e03d92 TJB |
776 | "gdbarch_dump: value_from_register = <%s>\n", |
777 | host_address_to_string (gdbarch->value_from_register)); | |
6cb06a8c | 778 | gdb_printf (file, |
53e03d92 TJB |
779 | "gdbarch_dump: pointer_to_address = <%s>\n", |
780 | host_address_to_string (gdbarch->pointer_to_address)); | |
6cb06a8c | 781 | gdb_printf (file, |
53e03d92 TJB |
782 | "gdbarch_dump: address_to_pointer = <%s>\n", |
783 | host_address_to_string (gdbarch->address_to_pointer)); | |
6cb06a8c | 784 | gdb_printf (file, |
53e03d92 TJB |
785 | "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n", |
786 | gdbarch_integer_to_address_p (gdbarch)); | |
6cb06a8c | 787 | gdb_printf (file, |
53e03d92 TJB |
788 | "gdbarch_dump: integer_to_address = <%s>\n", |
789 | host_address_to_string (gdbarch->integer_to_address)); | |
6cb06a8c | 790 | gdb_printf (file, |
53e03d92 TJB |
791 | "gdbarch_dump: return_value = <%s>\n", |
792 | host_address_to_string (gdbarch->return_value)); | |
4e1d2f58 TT |
793 | gdb_printf (file, |
794 | "gdbarch_dump: return_value_as_value = <%s>\n", | |
795 | host_address_to_string (gdbarch->return_value_as_value)); | |
a0eda3df | 796 | gdb_printf (file, |
53e03d92 TJB |
797 | "gdbarch_dump: get_return_buf_addr = <%s>\n", |
798 | host_address_to_string (gdbarch->get_return_buf_addr)); | |
c1a398a3 CL |
799 | gdb_printf (file, |
800 | "gdbarch_dump: dwarf2_omit_typedef_p = <%s>\n", | |
801 | host_address_to_string (gdbarch->dwarf2_omit_typedef_p)); | |
9df25c34 TT |
802 | gdb_printf (file, |
803 | "gdbarch_dump: update_call_site_pc = <%s>\n", | |
804 | host_address_to_string (gdbarch->update_call_site_pc)); | |
6cb06a8c | 805 | gdb_printf (file, |
53e03d92 TJB |
806 | "gdbarch_dump: return_in_first_hidden_param_p = <%s>\n", |
807 | host_address_to_string (gdbarch->return_in_first_hidden_param_p)); | |
6cb06a8c | 808 | gdb_printf (file, |
53e03d92 TJB |
809 | "gdbarch_dump: skip_prologue = <%s>\n", |
810 | host_address_to_string (gdbarch->skip_prologue)); | |
6cb06a8c | 811 | gdb_printf (file, |
53e03d92 TJB |
812 | "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n", |
813 | gdbarch_skip_main_prologue_p (gdbarch)); | |
6cb06a8c | 814 | gdb_printf (file, |
53e03d92 TJB |
815 | "gdbarch_dump: skip_main_prologue = <%s>\n", |
816 | host_address_to_string (gdbarch->skip_main_prologue)); | |
6cb06a8c | 817 | gdb_printf (file, |
53e03d92 TJB |
818 | "gdbarch_dump: gdbarch_skip_entrypoint_p() = %d\n", |
819 | gdbarch_skip_entrypoint_p (gdbarch)); | |
6cb06a8c | 820 | gdb_printf (file, |
53e03d92 TJB |
821 | "gdbarch_dump: skip_entrypoint = <%s>\n", |
822 | host_address_to_string (gdbarch->skip_entrypoint)); | |
6cb06a8c | 823 | gdb_printf (file, |
53e03d92 TJB |
824 | "gdbarch_dump: inner_than = <%s>\n", |
825 | host_address_to_string (gdbarch->inner_than)); | |
6cb06a8c | 826 | gdb_printf (file, |
53e03d92 TJB |
827 | "gdbarch_dump: breakpoint_from_pc = <%s>\n", |
828 | host_address_to_string (gdbarch->breakpoint_from_pc)); | |
6cb06a8c | 829 | gdb_printf (file, |
53e03d92 TJB |
830 | "gdbarch_dump: breakpoint_kind_from_pc = <%s>\n", |
831 | host_address_to_string (gdbarch->breakpoint_kind_from_pc)); | |
6cb06a8c | 832 | gdb_printf (file, |
53e03d92 TJB |
833 | "gdbarch_dump: sw_breakpoint_from_kind = <%s>\n", |
834 | host_address_to_string (gdbarch->sw_breakpoint_from_kind)); | |
6cb06a8c | 835 | gdb_printf (file, |
53e03d92 TJB |
836 | "gdbarch_dump: breakpoint_kind_from_current_state = <%s>\n", |
837 | host_address_to_string (gdbarch->breakpoint_kind_from_current_state)); | |
6cb06a8c | 838 | gdb_printf (file, |
53e03d92 TJB |
839 | "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n", |
840 | gdbarch_adjust_breakpoint_address_p (gdbarch)); | |
6cb06a8c | 841 | gdb_printf (file, |
53e03d92 TJB |
842 | "gdbarch_dump: adjust_breakpoint_address = <%s>\n", |
843 | host_address_to_string (gdbarch->adjust_breakpoint_address)); | |
6cb06a8c | 844 | gdb_printf (file, |
53e03d92 TJB |
845 | "gdbarch_dump: memory_insert_breakpoint = <%s>\n", |
846 | host_address_to_string (gdbarch->memory_insert_breakpoint)); | |
6cb06a8c | 847 | gdb_printf (file, |
53e03d92 TJB |
848 | "gdbarch_dump: memory_remove_breakpoint = <%s>\n", |
849 | host_address_to_string (gdbarch->memory_remove_breakpoint)); | |
6cb06a8c | 850 | gdb_printf (file, |
53e03d92 TJB |
851 | "gdbarch_dump: decr_pc_after_break = %s\n", |
852 | core_addr_to_string_nz (gdbarch->decr_pc_after_break)); | |
6cb06a8c | 853 | gdb_printf (file, |
53e03d92 TJB |
854 | "gdbarch_dump: deprecated_function_start_offset = %s\n", |
855 | core_addr_to_string_nz (gdbarch->deprecated_function_start_offset)); | |
6cb06a8c | 856 | gdb_printf (file, |
53e03d92 TJB |
857 | "gdbarch_dump: remote_register_number = <%s>\n", |
858 | host_address_to_string (gdbarch->remote_register_number)); | |
6cb06a8c | 859 | gdb_printf (file, |
53e03d92 TJB |
860 | "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n", |
861 | gdbarch_fetch_tls_load_module_address_p (gdbarch)); | |
6cb06a8c | 862 | gdb_printf (file, |
53e03d92 TJB |
863 | "gdbarch_dump: fetch_tls_load_module_address = <%s>\n", |
864 | host_address_to_string (gdbarch->fetch_tls_load_module_address)); | |
6cb06a8c | 865 | gdb_printf (file, |
53e03d92 TJB |
866 | "gdbarch_dump: gdbarch_get_thread_local_address_p() = %d\n", |
867 | gdbarch_get_thread_local_address_p (gdbarch)); | |
6cb06a8c | 868 | gdb_printf (file, |
53e03d92 TJB |
869 | "gdbarch_dump: get_thread_local_address = <%s>\n", |
870 | host_address_to_string (gdbarch->get_thread_local_address)); | |
6cb06a8c | 871 | gdb_printf (file, |
53e03d92 TJB |
872 | "gdbarch_dump: frame_args_skip = %s\n", |
873 | core_addr_to_string_nz (gdbarch->frame_args_skip)); | |
6cb06a8c | 874 | gdb_printf (file, |
53e03d92 TJB |
875 | "gdbarch_dump: unwind_pc = <%s>\n", |
876 | host_address_to_string (gdbarch->unwind_pc)); | |
6cb06a8c | 877 | gdb_printf (file, |
53e03d92 TJB |
878 | "gdbarch_dump: unwind_sp = <%s>\n", |
879 | host_address_to_string (gdbarch->unwind_sp)); | |
6cb06a8c | 880 | gdb_printf (file, |
53e03d92 TJB |
881 | "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n", |
882 | gdbarch_frame_num_args_p (gdbarch)); | |
6cb06a8c | 883 | gdb_printf (file, |
53e03d92 TJB |
884 | "gdbarch_dump: frame_num_args = <%s>\n", |
885 | host_address_to_string (gdbarch->frame_num_args)); | |
6cb06a8c | 886 | gdb_printf (file, |
53e03d92 TJB |
887 | "gdbarch_dump: gdbarch_frame_align_p() = %d\n", |
888 | gdbarch_frame_align_p (gdbarch)); | |
6cb06a8c | 889 | gdb_printf (file, |
53e03d92 TJB |
890 | "gdbarch_dump: frame_align = <%s>\n", |
891 | host_address_to_string (gdbarch->frame_align)); | |
6cb06a8c | 892 | gdb_printf (file, |
53e03d92 TJB |
893 | "gdbarch_dump: stabs_argument_has_addr = <%s>\n", |
894 | host_address_to_string (gdbarch->stabs_argument_has_addr)); | |
6cb06a8c | 895 | gdb_printf (file, |
53e03d92 TJB |
896 | "gdbarch_dump: frame_red_zone_size = %s\n", |
897 | plongest (gdbarch->frame_red_zone_size)); | |
6cb06a8c | 898 | gdb_printf (file, |
53e03d92 TJB |
899 | "gdbarch_dump: convert_from_func_ptr_addr = <%s>\n", |
900 | host_address_to_string (gdbarch->convert_from_func_ptr_addr)); | |
6cb06a8c | 901 | gdb_printf (file, |
53e03d92 TJB |
902 | "gdbarch_dump: addr_bits_remove = <%s>\n", |
903 | host_address_to_string (gdbarch->addr_bits_remove)); | |
6cb06a8c | 904 | gdb_printf (file, |
d88cb738 LM |
905 | "gdbarch_dump: remove_non_address_bits = <%s>\n", |
906 | host_address_to_string (gdbarch->remove_non_address_bits)); | |
6cb06a8c | 907 | gdb_printf (file, |
53e03d92 TJB |
908 | "gdbarch_dump: memtag_to_string = <%s>\n", |
909 | host_address_to_string (gdbarch->memtag_to_string)); | |
6cb06a8c | 910 | gdb_printf (file, |
53e03d92 TJB |
911 | "gdbarch_dump: tagged_address_p = <%s>\n", |
912 | host_address_to_string (gdbarch->tagged_address_p)); | |
6cb06a8c | 913 | gdb_printf (file, |
53e03d92 TJB |
914 | "gdbarch_dump: memtag_matches_p = <%s>\n", |
915 | host_address_to_string (gdbarch->memtag_matches_p)); | |
6cb06a8c | 916 | gdb_printf (file, |
53e03d92 TJB |
917 | "gdbarch_dump: set_memtags = <%s>\n", |
918 | host_address_to_string (gdbarch->set_memtags)); | |
6cb06a8c | 919 | gdb_printf (file, |
53e03d92 TJB |
920 | "gdbarch_dump: get_memtag = <%s>\n", |
921 | host_address_to_string (gdbarch->get_memtag)); | |
6cb06a8c | 922 | gdb_printf (file, |
53e03d92 TJB |
923 | "gdbarch_dump: memtag_granule_size = %s\n", |
924 | core_addr_to_string_nz (gdbarch->memtag_granule_size)); | |
6cb06a8c | 925 | gdb_printf (file, |
53e03d92 TJB |
926 | "gdbarch_dump: gdbarch_software_single_step_p() = %d\n", |
927 | gdbarch_software_single_step_p (gdbarch)); | |
6cb06a8c | 928 | gdb_printf (file, |
53e03d92 TJB |
929 | "gdbarch_dump: software_single_step = <%s>\n", |
930 | host_address_to_string (gdbarch->software_single_step)); | |
6cb06a8c | 931 | gdb_printf (file, |
53e03d92 TJB |
932 | "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n", |
933 | gdbarch_single_step_through_delay_p (gdbarch)); | |
6cb06a8c | 934 | gdb_printf (file, |
53e03d92 TJB |
935 | "gdbarch_dump: single_step_through_delay = <%s>\n", |
936 | host_address_to_string (gdbarch->single_step_through_delay)); | |
6cb06a8c | 937 | gdb_printf (file, |
53e03d92 TJB |
938 | "gdbarch_dump: print_insn = <%s>\n", |
939 | host_address_to_string (gdbarch->print_insn)); | |
6cb06a8c | 940 | gdb_printf (file, |
53e03d92 TJB |
941 | "gdbarch_dump: skip_trampoline_code = <%s>\n", |
942 | host_address_to_string (gdbarch->skip_trampoline_code)); | |
9e468e95 | 943 | gdb_printf (file, |
53e03d92 TJB |
944 | "gdbarch_dump: so_ops = %s\n", |
945 | host_address_to_string (gdbarch->so_ops)); | |
6cb06a8c | 946 | gdb_printf (file, |
53e03d92 TJB |
947 | "gdbarch_dump: skip_solib_resolver = <%s>\n", |
948 | host_address_to_string (gdbarch->skip_solib_resolver)); | |
6cb06a8c | 949 | gdb_printf (file, |
53e03d92 TJB |
950 | "gdbarch_dump: in_solib_return_trampoline = <%s>\n", |
951 | host_address_to_string (gdbarch->in_solib_return_trampoline)); | |
6cb06a8c | 952 | gdb_printf (file, |
53e03d92 TJB |
953 | "gdbarch_dump: in_indirect_branch_thunk = <%s>\n", |
954 | host_address_to_string (gdbarch->in_indirect_branch_thunk)); | |
6cb06a8c | 955 | gdb_printf (file, |
53e03d92 TJB |
956 | "gdbarch_dump: stack_frame_destroyed_p = <%s>\n", |
957 | host_address_to_string (gdbarch->stack_frame_destroyed_p)); | |
6cb06a8c | 958 | gdb_printf (file, |
53e03d92 TJB |
959 | "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n", |
960 | gdbarch_elf_make_msymbol_special_p (gdbarch)); | |
6cb06a8c | 961 | gdb_printf (file, |
53e03d92 TJB |
962 | "gdbarch_dump: elf_make_msymbol_special = <%s>\n", |
963 | host_address_to_string (gdbarch->elf_make_msymbol_special)); | |
6cb06a8c | 964 | gdb_printf (file, |
53e03d92 TJB |
965 | "gdbarch_dump: coff_make_msymbol_special = <%s>\n", |
966 | host_address_to_string (gdbarch->coff_make_msymbol_special)); | |
6cb06a8c | 967 | gdb_printf (file, |
53e03d92 TJB |
968 | "gdbarch_dump: make_symbol_special = <%s>\n", |
969 | host_address_to_string (gdbarch->make_symbol_special)); | |
6cb06a8c | 970 | gdb_printf (file, |
53e03d92 TJB |
971 | "gdbarch_dump: adjust_dwarf2_addr = <%s>\n", |
972 | host_address_to_string (gdbarch->adjust_dwarf2_addr)); | |
6cb06a8c | 973 | gdb_printf (file, |
53e03d92 TJB |
974 | "gdbarch_dump: adjust_dwarf2_line = <%s>\n", |
975 | host_address_to_string (gdbarch->adjust_dwarf2_line)); | |
6cb06a8c | 976 | gdb_printf (file, |
53e03d92 TJB |
977 | "gdbarch_dump: cannot_step_breakpoint = %s\n", |
978 | plongest (gdbarch->cannot_step_breakpoint)); | |
6cb06a8c | 979 | gdb_printf (file, |
53e03d92 TJB |
980 | "gdbarch_dump: have_nonsteppable_watchpoint = %s\n", |
981 | plongest (gdbarch->have_nonsteppable_watchpoint)); | |
6cb06a8c | 982 | gdb_printf (file, |
53e03d92 TJB |
983 | "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n", |
984 | gdbarch_address_class_type_flags_p (gdbarch)); | |
6cb06a8c | 985 | gdb_printf (file, |
53e03d92 TJB |
986 | "gdbarch_dump: address_class_type_flags = <%s>\n", |
987 | host_address_to_string (gdbarch->address_class_type_flags)); | |
6cb06a8c | 988 | gdb_printf (file, |
53e03d92 TJB |
989 | "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n", |
990 | gdbarch_address_class_type_flags_to_name_p (gdbarch)); | |
6cb06a8c | 991 | gdb_printf (file, |
53e03d92 TJB |
992 | "gdbarch_dump: address_class_type_flags_to_name = <%s>\n", |
993 | host_address_to_string (gdbarch->address_class_type_flags_to_name)); | |
6cb06a8c | 994 | gdb_printf (file, |
53e03d92 TJB |
995 | "gdbarch_dump: execute_dwarf_cfa_vendor_op = <%s>\n", |
996 | host_address_to_string (gdbarch->execute_dwarf_cfa_vendor_op)); | |
6cb06a8c | 997 | gdb_printf (file, |
53e03d92 TJB |
998 | "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n", |
999 | gdbarch_address_class_name_to_type_flags_p (gdbarch)); | |
6cb06a8c | 1000 | gdb_printf (file, |
53e03d92 TJB |
1001 | "gdbarch_dump: address_class_name_to_type_flags = <%s>\n", |
1002 | host_address_to_string (gdbarch->address_class_name_to_type_flags)); | |
6cb06a8c | 1003 | gdb_printf (file, |
53e03d92 TJB |
1004 | "gdbarch_dump: register_reggroup_p = <%s>\n", |
1005 | host_address_to_string (gdbarch->register_reggroup_p)); | |
6cb06a8c | 1006 | gdb_printf (file, |
53e03d92 TJB |
1007 | "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n", |
1008 | gdbarch_fetch_pointer_argument_p (gdbarch)); | |
6cb06a8c | 1009 | gdb_printf (file, |
53e03d92 TJB |
1010 | "gdbarch_dump: fetch_pointer_argument = <%s>\n", |
1011 | host_address_to_string (gdbarch->fetch_pointer_argument)); | |
6cb06a8c | 1012 | gdb_printf (file, |
53e03d92 TJB |
1013 | "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n", |
1014 | gdbarch_iterate_over_regset_sections_p (gdbarch)); | |
6cb06a8c | 1015 | gdb_printf (file, |
53e03d92 TJB |
1016 | "gdbarch_dump: iterate_over_regset_sections = <%s>\n", |
1017 | host_address_to_string (gdbarch->iterate_over_regset_sections)); | |
6cb06a8c | 1018 | gdb_printf (file, |
53e03d92 TJB |
1019 | "gdbarch_dump: gdbarch_make_corefile_notes_p() = %d\n", |
1020 | gdbarch_make_corefile_notes_p (gdbarch)); | |
6cb06a8c | 1021 | gdb_printf (file, |
53e03d92 TJB |
1022 | "gdbarch_dump: make_corefile_notes = <%s>\n", |
1023 | host_address_to_string (gdbarch->make_corefile_notes)); | |
6cb06a8c | 1024 | gdb_printf (file, |
53e03d92 TJB |
1025 | "gdbarch_dump: gdbarch_find_memory_regions_p() = %d\n", |
1026 | gdbarch_find_memory_regions_p (gdbarch)); | |
6cb06a8c | 1027 | gdb_printf (file, |
53e03d92 TJB |
1028 | "gdbarch_dump: find_memory_regions = <%s>\n", |
1029 | host_address_to_string (gdbarch->find_memory_regions)); | |
68cffbbd | 1030 | gdb_printf (file, |
53e03d92 TJB |
1031 | "gdbarch_dump: gdbarch_create_memtag_section_p() = %d\n", |
1032 | gdbarch_create_memtag_section_p (gdbarch)); | |
68cffbbd | 1033 | gdb_printf (file, |
53e03d92 TJB |
1034 | "gdbarch_dump: create_memtag_section = <%s>\n", |
1035 | host_address_to_string (gdbarch->create_memtag_section)); | |
68cffbbd | 1036 | gdb_printf (file, |
53e03d92 TJB |
1037 | "gdbarch_dump: gdbarch_fill_memtag_section_p() = %d\n", |
1038 | gdbarch_fill_memtag_section_p (gdbarch)); | |
68cffbbd | 1039 | gdb_printf (file, |
53e03d92 TJB |
1040 | "gdbarch_dump: fill_memtag_section = <%s>\n", |
1041 | host_address_to_string (gdbarch->fill_memtag_section)); | |
68cffbbd | 1042 | gdb_printf (file, |
53e03d92 TJB |
1043 | "gdbarch_dump: gdbarch_decode_memtag_section_p() = %d\n", |
1044 | gdbarch_decode_memtag_section_p (gdbarch)); | |
68cffbbd | 1045 | gdb_printf (file, |
53e03d92 TJB |
1046 | "gdbarch_dump: decode_memtag_section = <%s>\n", |
1047 | host_address_to_string (gdbarch->decode_memtag_section)); | |
6cb06a8c | 1048 | gdb_printf (file, |
53e03d92 TJB |
1049 | "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n", |
1050 | gdbarch_core_xfer_shared_libraries_p (gdbarch)); | |
6cb06a8c | 1051 | gdb_printf (file, |
53e03d92 TJB |
1052 | "gdbarch_dump: core_xfer_shared_libraries = <%s>\n", |
1053 | host_address_to_string (gdbarch->core_xfer_shared_libraries)); | |
6cb06a8c | 1054 | gdb_printf (file, |
53e03d92 TJB |
1055 | "gdbarch_dump: gdbarch_core_xfer_shared_libraries_aix_p() = %d\n", |
1056 | gdbarch_core_xfer_shared_libraries_aix_p (gdbarch)); | |
6cb06a8c | 1057 | gdb_printf (file, |
53e03d92 TJB |
1058 | "gdbarch_dump: core_xfer_shared_libraries_aix = <%s>\n", |
1059 | host_address_to_string (gdbarch->core_xfer_shared_libraries_aix)); | |
6cb06a8c | 1060 | gdb_printf (file, |
53e03d92 TJB |
1061 | "gdbarch_dump: gdbarch_core_pid_to_str_p() = %d\n", |
1062 | gdbarch_core_pid_to_str_p (gdbarch)); | |
6cb06a8c | 1063 | gdb_printf (file, |
53e03d92 TJB |
1064 | "gdbarch_dump: core_pid_to_str = <%s>\n", |
1065 | host_address_to_string (gdbarch->core_pid_to_str)); | |
6cb06a8c | 1066 | gdb_printf (file, |
53e03d92 TJB |
1067 | "gdbarch_dump: gdbarch_core_thread_name_p() = %d\n", |
1068 | gdbarch_core_thread_name_p (gdbarch)); | |
6cb06a8c | 1069 | gdb_printf (file, |
53e03d92 TJB |
1070 | "gdbarch_dump: core_thread_name = <%s>\n", |
1071 | host_address_to_string (gdbarch->core_thread_name)); | |
6cb06a8c | 1072 | gdb_printf (file, |
53e03d92 TJB |
1073 | "gdbarch_dump: gdbarch_core_xfer_siginfo_p() = %d\n", |
1074 | gdbarch_core_xfer_siginfo_p (gdbarch)); | |
6cb06a8c | 1075 | gdb_printf (file, |
53e03d92 TJB |
1076 | "gdbarch_dump: core_xfer_siginfo = <%s>\n", |
1077 | host_address_to_string (gdbarch->core_xfer_siginfo)); | |
c689d1fe JB |
1078 | gdb_printf (file, |
1079 | "gdbarch_dump: gdbarch_core_read_x86_xsave_layout_p() = %d\n", | |
1080 | gdbarch_core_read_x86_xsave_layout_p (gdbarch)); | |
1081 | gdb_printf (file, | |
1082 | "gdbarch_dump: core_read_x86_xsave_layout = <%s>\n", | |
1083 | host_address_to_string (gdbarch->core_read_x86_xsave_layout)); | |
6cb06a8c | 1084 | gdb_printf (file, |
53e03d92 TJB |
1085 | "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n", |
1086 | gdbarch_gcore_bfd_target_p (gdbarch)); | |
6cb06a8c | 1087 | gdb_printf (file, |
53e03d92 TJB |
1088 | "gdbarch_dump: gcore_bfd_target = %s\n", |
1089 | pstring (gdbarch->gcore_bfd_target)); | |
6cb06a8c | 1090 | gdb_printf (file, |
53e03d92 TJB |
1091 | "gdbarch_dump: vtable_function_descriptors = %s\n", |
1092 | plongest (gdbarch->vtable_function_descriptors)); | |
6cb06a8c | 1093 | gdb_printf (file, |
53e03d92 TJB |
1094 | "gdbarch_dump: vbit_in_delta = %s\n", |
1095 | plongest (gdbarch->vbit_in_delta)); | |
6cb06a8c | 1096 | gdb_printf (file, |
53e03d92 TJB |
1097 | "gdbarch_dump: skip_permanent_breakpoint = <%s>\n", |
1098 | host_address_to_string (gdbarch->skip_permanent_breakpoint)); | |
6cb06a8c | 1099 | gdb_printf (file, |
53e03d92 TJB |
1100 | "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n", |
1101 | gdbarch_max_insn_length_p (gdbarch)); | |
6cb06a8c | 1102 | gdb_printf (file, |
53e03d92 TJB |
1103 | "gdbarch_dump: max_insn_length = %s\n", |
1104 | plongest (gdbarch->max_insn_length)); | |
6cb06a8c | 1105 | gdb_printf (file, |
53e03d92 TJB |
1106 | "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n", |
1107 | gdbarch_displaced_step_copy_insn_p (gdbarch)); | |
6cb06a8c | 1108 | gdb_printf (file, |
53e03d92 TJB |
1109 | "gdbarch_dump: displaced_step_copy_insn = <%s>\n", |
1110 | host_address_to_string (gdbarch->displaced_step_copy_insn)); | |
6cb06a8c | 1111 | gdb_printf (file, |
53e03d92 TJB |
1112 | "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n", |
1113 | host_address_to_string (gdbarch->displaced_step_hw_singlestep)); | |
6cb06a8c | 1114 | gdb_printf (file, |
53e03d92 TJB |
1115 | "gdbarch_dump: displaced_step_fixup = <%s>\n", |
1116 | host_address_to_string (gdbarch->displaced_step_fixup)); | |
6cb06a8c | 1117 | gdb_printf (file, |
53e03d92 TJB |
1118 | "gdbarch_dump: gdbarch_displaced_step_prepare_p() = %d\n", |
1119 | gdbarch_displaced_step_prepare_p (gdbarch)); | |
6cb06a8c | 1120 | gdb_printf (file, |
53e03d92 TJB |
1121 | "gdbarch_dump: displaced_step_prepare = <%s>\n", |
1122 | host_address_to_string (gdbarch->displaced_step_prepare)); | |
6cb06a8c | 1123 | gdb_printf (file, |
53e03d92 TJB |
1124 | "gdbarch_dump: displaced_step_finish = <%s>\n", |
1125 | host_address_to_string (gdbarch->displaced_step_finish)); | |
6cb06a8c | 1126 | gdb_printf (file, |
53e03d92 TJB |
1127 | "gdbarch_dump: gdbarch_displaced_step_copy_insn_closure_by_addr_p() = %d\n", |
1128 | gdbarch_displaced_step_copy_insn_closure_by_addr_p (gdbarch)); | |
6cb06a8c | 1129 | gdb_printf (file, |
53e03d92 TJB |
1130 | "gdbarch_dump: displaced_step_copy_insn_closure_by_addr = <%s>\n", |
1131 | host_address_to_string (gdbarch->displaced_step_copy_insn_closure_by_addr)); | |
6cb06a8c | 1132 | gdb_printf (file, |
53e03d92 TJB |
1133 | "gdbarch_dump: displaced_step_restore_all_in_ptid = <%s>\n", |
1134 | host_address_to_string (gdbarch->displaced_step_restore_all_in_ptid)); | |
deb65a3c AB |
1135 | gdb_printf (file, |
1136 | "gdbarch_dump: displaced_step_buffer_length = %s\n", | |
1137 | plongest (gdbarch->displaced_step_buffer_length)); | |
6cb06a8c | 1138 | gdb_printf (file, |
53e03d92 TJB |
1139 | "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n", |
1140 | gdbarch_relocate_instruction_p (gdbarch)); | |
6cb06a8c | 1141 | gdb_printf (file, |
53e03d92 TJB |
1142 | "gdbarch_dump: relocate_instruction = <%s>\n", |
1143 | host_address_to_string (gdbarch->relocate_instruction)); | |
6cb06a8c | 1144 | gdb_printf (file, |
53e03d92 TJB |
1145 | "gdbarch_dump: gdbarch_overlay_update_p() = %d\n", |
1146 | gdbarch_overlay_update_p (gdbarch)); | |
6cb06a8c | 1147 | gdb_printf (file, |
53e03d92 TJB |
1148 | "gdbarch_dump: overlay_update = <%s>\n", |
1149 | host_address_to_string (gdbarch->overlay_update)); | |
6cb06a8c | 1150 | gdb_printf (file, |
53e03d92 TJB |
1151 | "gdbarch_dump: gdbarch_core_read_description_p() = %d\n", |
1152 | gdbarch_core_read_description_p (gdbarch)); | |
6cb06a8c | 1153 | gdb_printf (file, |
53e03d92 TJB |
1154 | "gdbarch_dump: core_read_description = <%s>\n", |
1155 | host_address_to_string (gdbarch->core_read_description)); | |
6cb06a8c | 1156 | gdb_printf (file, |
53e03d92 TJB |
1157 | "gdbarch_dump: sofun_address_maybe_missing = %s\n", |
1158 | plongest (gdbarch->sofun_address_maybe_missing)); | |
6cb06a8c | 1159 | gdb_printf (file, |
53e03d92 TJB |
1160 | "gdbarch_dump: gdbarch_process_record_p() = %d\n", |
1161 | gdbarch_process_record_p (gdbarch)); | |
6cb06a8c | 1162 | gdb_printf (file, |
53e03d92 TJB |
1163 | "gdbarch_dump: process_record = <%s>\n", |
1164 | host_address_to_string (gdbarch->process_record)); | |
6cb06a8c | 1165 | gdb_printf (file, |
53e03d92 TJB |
1166 | "gdbarch_dump: gdbarch_process_record_signal_p() = %d\n", |
1167 | gdbarch_process_record_signal_p (gdbarch)); | |
6cb06a8c | 1168 | gdb_printf (file, |
53e03d92 TJB |
1169 | "gdbarch_dump: process_record_signal = <%s>\n", |
1170 | host_address_to_string (gdbarch->process_record_signal)); | |
6cb06a8c | 1171 | gdb_printf (file, |
53e03d92 TJB |
1172 | "gdbarch_dump: gdbarch_gdb_signal_from_target_p() = %d\n", |
1173 | gdbarch_gdb_signal_from_target_p (gdbarch)); | |
6cb06a8c | 1174 | gdb_printf (file, |
53e03d92 TJB |
1175 | "gdbarch_dump: gdb_signal_from_target = <%s>\n", |
1176 | host_address_to_string (gdbarch->gdb_signal_from_target)); | |
6cb06a8c | 1177 | gdb_printf (file, |
53e03d92 TJB |
1178 | "gdbarch_dump: gdbarch_gdb_signal_to_target_p() = %d\n", |
1179 | gdbarch_gdb_signal_to_target_p (gdbarch)); | |
6cb06a8c | 1180 | gdb_printf (file, |
53e03d92 TJB |
1181 | "gdbarch_dump: gdb_signal_to_target = <%s>\n", |
1182 | host_address_to_string (gdbarch->gdb_signal_to_target)); | |
6cb06a8c | 1183 | gdb_printf (file, |
53e03d92 TJB |
1184 | "gdbarch_dump: gdbarch_get_siginfo_type_p() = %d\n", |
1185 | gdbarch_get_siginfo_type_p (gdbarch)); | |
6cb06a8c | 1186 | gdb_printf (file, |
53e03d92 TJB |
1187 | "gdbarch_dump: get_siginfo_type = <%s>\n", |
1188 | host_address_to_string (gdbarch->get_siginfo_type)); | |
6cb06a8c | 1189 | gdb_printf (file, |
53e03d92 TJB |
1190 | "gdbarch_dump: gdbarch_record_special_symbol_p() = %d\n", |
1191 | gdbarch_record_special_symbol_p (gdbarch)); | |
6cb06a8c | 1192 | gdb_printf (file, |
53e03d92 TJB |
1193 | "gdbarch_dump: record_special_symbol = <%s>\n", |
1194 | host_address_to_string (gdbarch->record_special_symbol)); | |
6cb06a8c | 1195 | gdb_printf (file, |
53e03d92 TJB |
1196 | "gdbarch_dump: gdbarch_get_syscall_number_p() = %d\n", |
1197 | gdbarch_get_syscall_number_p (gdbarch)); | |
6cb06a8c | 1198 | gdb_printf (file, |
53e03d92 TJB |
1199 | "gdbarch_dump: get_syscall_number = <%s>\n", |
1200 | host_address_to_string (gdbarch->get_syscall_number)); | |
6cb06a8c | 1201 | gdb_printf (file, |
53e03d92 TJB |
1202 | "gdbarch_dump: xml_syscall_file = %s\n", |
1203 | pstring (gdbarch->xml_syscall_file)); | |
6cb06a8c | 1204 | gdb_printf (file, |
53e03d92 TJB |
1205 | "gdbarch_dump: syscalls_info = %s\n", |
1206 | host_address_to_string (gdbarch->syscalls_info)); | |
6cb06a8c | 1207 | gdb_printf (file, |
53e03d92 TJB |
1208 | "gdbarch_dump: stap_integer_prefixes = %s\n", |
1209 | pstring_list (gdbarch->stap_integer_prefixes)); | |
6cb06a8c | 1210 | gdb_printf (file, |
53e03d92 TJB |
1211 | "gdbarch_dump: stap_integer_suffixes = %s\n", |
1212 | pstring_list (gdbarch->stap_integer_suffixes)); | |
6cb06a8c | 1213 | gdb_printf (file, |
53e03d92 TJB |
1214 | "gdbarch_dump: stap_register_prefixes = %s\n", |
1215 | pstring_list (gdbarch->stap_register_prefixes)); | |
6cb06a8c | 1216 | gdb_printf (file, |
53e03d92 TJB |
1217 | "gdbarch_dump: stap_register_suffixes = %s\n", |
1218 | pstring_list (gdbarch->stap_register_suffixes)); | |
6cb06a8c | 1219 | gdb_printf (file, |
53e03d92 TJB |
1220 | "gdbarch_dump: stap_register_indirection_prefixes = %s\n", |
1221 | pstring_list (gdbarch->stap_register_indirection_prefixes)); | |
6cb06a8c | 1222 | gdb_printf (file, |
53e03d92 TJB |
1223 | "gdbarch_dump: stap_register_indirection_suffixes = %s\n", |
1224 | pstring_list (gdbarch->stap_register_indirection_suffixes)); | |
6cb06a8c | 1225 | gdb_printf (file, |
53e03d92 TJB |
1226 | "gdbarch_dump: stap_gdb_register_prefix = %s\n", |
1227 | pstring (gdbarch->stap_gdb_register_prefix)); | |
6cb06a8c | 1228 | gdb_printf (file, |
53e03d92 TJB |
1229 | "gdbarch_dump: stap_gdb_register_suffix = %s\n", |
1230 | pstring (gdbarch->stap_gdb_register_suffix)); | |
6cb06a8c | 1231 | gdb_printf (file, |
53e03d92 TJB |
1232 | "gdbarch_dump: gdbarch_stap_is_single_operand_p() = %d\n", |
1233 | gdbarch_stap_is_single_operand_p (gdbarch)); | |
6cb06a8c | 1234 | gdb_printf (file, |
53e03d92 TJB |
1235 | "gdbarch_dump: stap_is_single_operand = <%s>\n", |
1236 | host_address_to_string (gdbarch->stap_is_single_operand)); | |
6cb06a8c | 1237 | gdb_printf (file, |
53e03d92 TJB |
1238 | "gdbarch_dump: gdbarch_stap_parse_special_token_p() = %d\n", |
1239 | gdbarch_stap_parse_special_token_p (gdbarch)); | |
6cb06a8c | 1240 | gdb_printf (file, |
53e03d92 TJB |
1241 | "gdbarch_dump: stap_parse_special_token = <%s>\n", |
1242 | host_address_to_string (gdbarch->stap_parse_special_token)); | |
6cb06a8c | 1243 | gdb_printf (file, |
53e03d92 TJB |
1244 | "gdbarch_dump: gdbarch_stap_adjust_register_p() = %d\n", |
1245 | gdbarch_stap_adjust_register_p (gdbarch)); | |
6cb06a8c | 1246 | gdb_printf (file, |
53e03d92 TJB |
1247 | "gdbarch_dump: stap_adjust_register = <%s>\n", |
1248 | host_address_to_string (gdbarch->stap_adjust_register)); | |
6cb06a8c | 1249 | gdb_printf (file, |
53e03d92 TJB |
1250 | "gdbarch_dump: gdbarch_dtrace_parse_probe_argument_p() = %d\n", |
1251 | gdbarch_dtrace_parse_probe_argument_p (gdbarch)); | |
6cb06a8c | 1252 | gdb_printf (file, |
53e03d92 TJB |
1253 | "gdbarch_dump: dtrace_parse_probe_argument = <%s>\n", |
1254 | host_address_to_string (gdbarch->dtrace_parse_probe_argument)); | |
6cb06a8c | 1255 | gdb_printf (file, |
53e03d92 TJB |
1256 | "gdbarch_dump: gdbarch_dtrace_probe_is_enabled_p() = %d\n", |
1257 | gdbarch_dtrace_probe_is_enabled_p (gdbarch)); | |
6cb06a8c | 1258 | gdb_printf (file, |
53e03d92 TJB |
1259 | "gdbarch_dump: dtrace_probe_is_enabled = <%s>\n", |
1260 | host_address_to_string (gdbarch->dtrace_probe_is_enabled)); | |
6cb06a8c | 1261 | gdb_printf (file, |
53e03d92 TJB |
1262 | "gdbarch_dump: gdbarch_dtrace_enable_probe_p() = %d\n", |
1263 | gdbarch_dtrace_enable_probe_p (gdbarch)); | |
6cb06a8c | 1264 | gdb_printf (file, |
53e03d92 TJB |
1265 | "gdbarch_dump: dtrace_enable_probe = <%s>\n", |
1266 | host_address_to_string (gdbarch->dtrace_enable_probe)); | |
6cb06a8c | 1267 | gdb_printf (file, |
53e03d92 TJB |
1268 | "gdbarch_dump: gdbarch_dtrace_disable_probe_p() = %d\n", |
1269 | gdbarch_dtrace_disable_probe_p (gdbarch)); | |
6cb06a8c | 1270 | gdb_printf (file, |
53e03d92 TJB |
1271 | "gdbarch_dump: dtrace_disable_probe = <%s>\n", |
1272 | host_address_to_string (gdbarch->dtrace_disable_probe)); | |
6cb06a8c | 1273 | gdb_printf (file, |
53e03d92 TJB |
1274 | "gdbarch_dump: has_global_solist = %s\n", |
1275 | plongest (gdbarch->has_global_solist)); | |
6cb06a8c | 1276 | gdb_printf (file, |
53e03d92 TJB |
1277 | "gdbarch_dump: has_global_breakpoints = %s\n", |
1278 | plongest (gdbarch->has_global_breakpoints)); | |
6cb06a8c | 1279 | gdb_printf (file, |
53e03d92 TJB |
1280 | "gdbarch_dump: has_shared_address_space = <%s>\n", |
1281 | host_address_to_string (gdbarch->has_shared_address_space)); | |
6cb06a8c | 1282 | gdb_printf (file, |
53e03d92 TJB |
1283 | "gdbarch_dump: fast_tracepoint_valid_at = <%s>\n", |
1284 | host_address_to_string (gdbarch->fast_tracepoint_valid_at)); | |
6cb06a8c | 1285 | gdb_printf (file, |
53e03d92 TJB |
1286 | "gdbarch_dump: guess_tracepoint_registers = <%s>\n", |
1287 | host_address_to_string (gdbarch->guess_tracepoint_registers)); | |
6cb06a8c | 1288 | gdb_printf (file, |
53e03d92 TJB |
1289 | "gdbarch_dump: auto_charset = <%s>\n", |
1290 | host_address_to_string (gdbarch->auto_charset)); | |
6cb06a8c | 1291 | gdb_printf (file, |
53e03d92 TJB |
1292 | "gdbarch_dump: auto_wide_charset = <%s>\n", |
1293 | host_address_to_string (gdbarch->auto_wide_charset)); | |
6cb06a8c | 1294 | gdb_printf (file, |
53e03d92 TJB |
1295 | "gdbarch_dump: solib_symbols_extension = %s\n", |
1296 | pstring (gdbarch->solib_symbols_extension)); | |
6cb06a8c | 1297 | gdb_printf (file, |
53e03d92 TJB |
1298 | "gdbarch_dump: has_dos_based_file_system = %s\n", |
1299 | plongest (gdbarch->has_dos_based_file_system)); | |
6cb06a8c | 1300 | gdb_printf (file, |
53e03d92 TJB |
1301 | "gdbarch_dump: gen_return_address = <%s>\n", |
1302 | host_address_to_string (gdbarch->gen_return_address)); | |
6cb06a8c | 1303 | gdb_printf (file, |
53e03d92 TJB |
1304 | "gdbarch_dump: gdbarch_info_proc_p() = %d\n", |
1305 | gdbarch_info_proc_p (gdbarch)); | |
6cb06a8c | 1306 | gdb_printf (file, |
53e03d92 TJB |
1307 | "gdbarch_dump: info_proc = <%s>\n", |
1308 | host_address_to_string (gdbarch->info_proc)); | |
6cb06a8c | 1309 | gdb_printf (file, |
53e03d92 TJB |
1310 | "gdbarch_dump: gdbarch_core_info_proc_p() = %d\n", |
1311 | gdbarch_core_info_proc_p (gdbarch)); | |
6cb06a8c | 1312 | gdb_printf (file, |
53e03d92 TJB |
1313 | "gdbarch_dump: core_info_proc = <%s>\n", |
1314 | host_address_to_string (gdbarch->core_info_proc)); | |
6cb06a8c | 1315 | gdb_printf (file, |
53e03d92 TJB |
1316 | "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n", |
1317 | host_address_to_string (gdbarch->iterate_over_objfiles_in_search_order)); | |
6cb06a8c | 1318 | gdb_printf (file, |
53e03d92 TJB |
1319 | "gdbarch_dump: ravenscar_ops = %s\n", |
1320 | host_address_to_string (gdbarch->ravenscar_ops)); | |
6cb06a8c | 1321 | gdb_printf (file, |
53e03d92 TJB |
1322 | "gdbarch_dump: insn_is_call = <%s>\n", |
1323 | host_address_to_string (gdbarch->insn_is_call)); | |
6cb06a8c | 1324 | gdb_printf (file, |
53e03d92 TJB |
1325 | "gdbarch_dump: insn_is_ret = <%s>\n", |
1326 | host_address_to_string (gdbarch->insn_is_ret)); | |
6cb06a8c | 1327 | gdb_printf (file, |
53e03d92 TJB |
1328 | "gdbarch_dump: insn_is_jump = <%s>\n", |
1329 | host_address_to_string (gdbarch->insn_is_jump)); | |
6cb06a8c | 1330 | gdb_printf (file, |
53e03d92 TJB |
1331 | "gdbarch_dump: program_breakpoint_here_p = <%s>\n", |
1332 | host_address_to_string (gdbarch->program_breakpoint_here_p)); | |
6cb06a8c | 1333 | gdb_printf (file, |
53e03d92 TJB |
1334 | "gdbarch_dump: gdbarch_auxv_parse_p() = %d\n", |
1335 | gdbarch_auxv_parse_p (gdbarch)); | |
6cb06a8c | 1336 | gdb_printf (file, |
53e03d92 TJB |
1337 | "gdbarch_dump: auxv_parse = <%s>\n", |
1338 | host_address_to_string (gdbarch->auxv_parse)); | |
6cb06a8c | 1339 | gdb_printf (file, |
53e03d92 TJB |
1340 | "gdbarch_dump: print_auxv_entry = <%s>\n", |
1341 | host_address_to_string (gdbarch->print_auxv_entry)); | |
6cb06a8c | 1342 | gdb_printf (file, |
53e03d92 TJB |
1343 | "gdbarch_dump: vsyscall_range = <%s>\n", |
1344 | host_address_to_string (gdbarch->vsyscall_range)); | |
6cb06a8c | 1345 | gdb_printf (file, |
53e03d92 TJB |
1346 | "gdbarch_dump: infcall_mmap = <%s>\n", |
1347 | host_address_to_string (gdbarch->infcall_mmap)); | |
6cb06a8c | 1348 | gdb_printf (file, |
53e03d92 TJB |
1349 | "gdbarch_dump: infcall_munmap = <%s>\n", |
1350 | host_address_to_string (gdbarch->infcall_munmap)); | |
6cb06a8c | 1351 | gdb_printf (file, |
53e03d92 TJB |
1352 | "gdbarch_dump: gcc_target_options = <%s>\n", |
1353 | host_address_to_string (gdbarch->gcc_target_options)); | |
6cb06a8c | 1354 | gdb_printf (file, |
53e03d92 TJB |
1355 | "gdbarch_dump: gnu_triplet_regexp = <%s>\n", |
1356 | host_address_to_string (gdbarch->gnu_triplet_regexp)); | |
6cb06a8c | 1357 | gdb_printf (file, |
53e03d92 TJB |
1358 | "gdbarch_dump: addressable_memory_unit_size = <%s>\n", |
1359 | host_address_to_string (gdbarch->addressable_memory_unit_size)); | |
6cb06a8c | 1360 | gdb_printf (file, |
53e03d92 TJB |
1361 | "gdbarch_dump: disassembler_options_implicit = %s\n", |
1362 | pstring (gdbarch->disassembler_options_implicit)); | |
6cb06a8c | 1363 | gdb_printf (file, |
53e03d92 TJB |
1364 | "gdbarch_dump: disassembler_options = %s\n", |
1365 | pstring_ptr (gdbarch->disassembler_options)); | |
6cb06a8c | 1366 | gdb_printf (file, |
53e03d92 TJB |
1367 | "gdbarch_dump: valid_disassembler_options = %s\n", |
1368 | host_address_to_string (gdbarch->valid_disassembler_options)); | |
6cb06a8c | 1369 | gdb_printf (file, |
53e03d92 TJB |
1370 | "gdbarch_dump: type_align = <%s>\n", |
1371 | host_address_to_string (gdbarch->type_align)); | |
6cb06a8c | 1372 | gdb_printf (file, |
53e03d92 TJB |
1373 | "gdbarch_dump: get_pc_address_flags = <%s>\n", |
1374 | host_address_to_string (gdbarch->get_pc_address_flags)); | |
6cb06a8c | 1375 | gdb_printf (file, |
53e03d92 TJB |
1376 | "gdbarch_dump: read_core_file_mappings = <%s>\n", |
1377 | host_address_to_string (gdbarch->read_core_file_mappings)); | |
b93d537f LM |
1378 | gdb_printf (file, |
1379 | "gdbarch_dump: use_target_description_from_corefile_notes = <%s>\n", | |
1380 | host_address_to_string (gdbarch->use_target_description_from_corefile_notes)); | |
be7811ad MD |
1381 | if (gdbarch->dump_tdep != NULL) |
1382 | gdbarch->dump_tdep (gdbarch, file); | |
0f71a2f6 JM |
1383 | } |
1384 | ||
0f71a2f6 JM |
1385 | |
1386 | const struct bfd_arch_info * | |
104c1213 | 1387 | gdbarch_bfd_arch_info (struct gdbarch *gdbarch) |
0f71a2f6 | 1388 | { |
8de9bdc4 | 1389 | gdb_assert (gdbarch != NULL); |
0f71a2f6 | 1390 | if (gdbarch_debug >= 2) |
6cb06a8c | 1391 | gdb_printf (gdb_stdlog, "gdbarch_bfd_arch_info called\n"); |
0f71a2f6 JM |
1392 | return gdbarch->bfd_arch_info; |
1393 | } | |
1394 | ||
94123b4f | 1395 | enum bfd_endian |
104c1213 | 1396 | gdbarch_byte_order (struct gdbarch *gdbarch) |
0f71a2f6 | 1397 | { |
8de9bdc4 | 1398 | gdb_assert (gdbarch != NULL); |
0f71a2f6 | 1399 | if (gdbarch_debug >= 2) |
6cb06a8c | 1400 | gdb_printf (gdb_stdlog, "gdbarch_byte_order called\n"); |
0f71a2f6 JM |
1401 | return gdbarch->byte_order; |
1402 | } | |
1403 | ||
94123b4f | 1404 | enum bfd_endian |
9d4fde75 SS |
1405 | gdbarch_byte_order_for_code (struct gdbarch *gdbarch) |
1406 | { | |
1407 | gdb_assert (gdbarch != NULL); | |
1408 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1409 | gdb_printf (gdb_stdlog, "gdbarch_byte_order_for_code called\n"); |
9d4fde75 SS |
1410 | return gdbarch->byte_order_for_code; |
1411 | } | |
1412 | ||
4be87837 DJ |
1413 | enum gdb_osabi |
1414 | gdbarch_osabi (struct gdbarch *gdbarch) | |
1415 | { | |
1416 | gdb_assert (gdbarch != NULL); | |
1417 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1418 | gdb_printf (gdb_stdlog, "gdbarch_osabi called\n"); |
4be87837 DJ |
1419 | return gdbarch->osabi; |
1420 | } | |
1421 | ||
424163ea DJ |
1422 | const struct target_desc * |
1423 | gdbarch_target_desc (struct gdbarch *gdbarch) | |
1424 | { | |
1425 | gdb_assert (gdbarch != NULL); | |
1426 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1427 | gdb_printf (gdb_stdlog, "gdbarch_target_desc called\n"); |
424163ea DJ |
1428 | return gdbarch->target_desc; |
1429 | } | |
1430 | ||
0f71a2f6 | 1431 | int |
104c1213 | 1432 | gdbarch_short_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1433 | { |
8de9bdc4 | 1434 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1435 | /* Skip verify of short_bit, invalid_p == 0 */ |
0f71a2f6 | 1436 | if (gdbarch_debug >= 2) |
6cb06a8c | 1437 | gdb_printf (gdb_stdlog, "gdbarch_short_bit called\n"); |
0f71a2f6 JM |
1438 | return gdbarch->short_bit; |
1439 | } | |
1440 | ||
1441 | void | |
104c1213 | 1442 | set_gdbarch_short_bit (struct gdbarch *gdbarch, |
adc48a49 | 1443 | int short_bit) |
0f71a2f6 JM |
1444 | { |
1445 | gdbarch->short_bit = short_bit; | |
1446 | } | |
1447 | ||
1448 | int | |
104c1213 | 1449 | gdbarch_int_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1450 | { |
8de9bdc4 | 1451 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1452 | /* Skip verify of int_bit, invalid_p == 0 */ |
0f71a2f6 | 1453 | if (gdbarch_debug >= 2) |
6cb06a8c | 1454 | gdb_printf (gdb_stdlog, "gdbarch_int_bit called\n"); |
0f71a2f6 JM |
1455 | return gdbarch->int_bit; |
1456 | } | |
1457 | ||
1458 | void | |
104c1213 | 1459 | set_gdbarch_int_bit (struct gdbarch *gdbarch, |
adc48a49 | 1460 | int int_bit) |
0f71a2f6 JM |
1461 | { |
1462 | gdbarch->int_bit = int_bit; | |
1463 | } | |
1464 | ||
1465 | int | |
104c1213 | 1466 | gdbarch_long_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1467 | { |
8de9bdc4 | 1468 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1469 | /* Skip verify of long_bit, invalid_p == 0 */ |
0f71a2f6 | 1470 | if (gdbarch_debug >= 2) |
6cb06a8c | 1471 | gdb_printf (gdb_stdlog, "gdbarch_long_bit called\n"); |
0f71a2f6 JM |
1472 | return gdbarch->long_bit; |
1473 | } | |
1474 | ||
1475 | void | |
104c1213 | 1476 | set_gdbarch_long_bit (struct gdbarch *gdbarch, |
adc48a49 | 1477 | int long_bit) |
0f71a2f6 JM |
1478 | { |
1479 | gdbarch->long_bit = long_bit; | |
1480 | } | |
1481 | ||
1482 | int | |
104c1213 | 1483 | gdbarch_long_long_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1484 | { |
8de9bdc4 | 1485 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1486 | /* Skip verify of long_long_bit, invalid_p == 0 */ |
0f71a2f6 | 1487 | if (gdbarch_debug >= 2) |
6cb06a8c | 1488 | gdb_printf (gdb_stdlog, "gdbarch_long_long_bit called\n"); |
0f71a2f6 JM |
1489 | return gdbarch->long_long_bit; |
1490 | } | |
1491 | ||
1492 | void | |
104c1213 | 1493 | set_gdbarch_long_long_bit (struct gdbarch *gdbarch, |
adc48a49 | 1494 | int long_long_bit) |
0f71a2f6 JM |
1495 | { |
1496 | gdbarch->long_long_bit = long_long_bit; | |
1497 | } | |
1498 | ||
2a67f09d FW |
1499 | int |
1500 | gdbarch_bfloat16_bit (struct gdbarch *gdbarch) | |
1501 | { | |
1502 | gdb_assert (gdbarch != NULL); | |
1503 | /* Skip verify of bfloat16_bit, invalid_p == 0 */ | |
1504 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1505 | gdb_printf (gdb_stdlog, "gdbarch_bfloat16_bit called\n"); |
2a67f09d FW |
1506 | return gdbarch->bfloat16_bit; |
1507 | } | |
1508 | ||
1509 | void | |
1510 | set_gdbarch_bfloat16_bit (struct gdbarch *gdbarch, | |
adc48a49 | 1511 | int bfloat16_bit) |
2a67f09d FW |
1512 | { |
1513 | gdbarch->bfloat16_bit = bfloat16_bit; | |
1514 | } | |
1515 | ||
1516 | const struct floatformat ** | |
1517 | gdbarch_bfloat16_format (struct gdbarch *gdbarch) | |
1518 | { | |
1519 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 1520 | /* Skip verify of bfloat16_format, invalid_p == 0 */ |
2a67f09d | 1521 | if (gdbarch_debug >= 2) |
6cb06a8c | 1522 | gdb_printf (gdb_stdlog, "gdbarch_bfloat16_format called\n"); |
2a67f09d FW |
1523 | return gdbarch->bfloat16_format; |
1524 | } | |
1525 | ||
1526 | void | |
1527 | set_gdbarch_bfloat16_format (struct gdbarch *gdbarch, | |
adc48a49 | 1528 | const struct floatformat ** bfloat16_format) |
2a67f09d FW |
1529 | { |
1530 | gdbarch->bfloat16_format = bfloat16_format; | |
1531 | } | |
1532 | ||
f9e9243a UW |
1533 | int |
1534 | gdbarch_half_bit (struct gdbarch *gdbarch) | |
1535 | { | |
1536 | gdb_assert (gdbarch != NULL); | |
1537 | /* Skip verify of half_bit, invalid_p == 0 */ | |
1538 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1539 | gdb_printf (gdb_stdlog, "gdbarch_half_bit called\n"); |
f9e9243a UW |
1540 | return gdbarch->half_bit; |
1541 | } | |
1542 | ||
1543 | void | |
1544 | set_gdbarch_half_bit (struct gdbarch *gdbarch, | |
adc48a49 | 1545 | int half_bit) |
f9e9243a UW |
1546 | { |
1547 | gdbarch->half_bit = half_bit; | |
1548 | } | |
1549 | ||
1550 | const struct floatformat ** | |
1551 | gdbarch_half_format (struct gdbarch *gdbarch) | |
1552 | { | |
1553 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 1554 | /* Skip verify of half_format, invalid_p == 0 */ |
f9e9243a | 1555 | if (gdbarch_debug >= 2) |
6cb06a8c | 1556 | gdb_printf (gdb_stdlog, "gdbarch_half_format called\n"); |
f9e9243a UW |
1557 | return gdbarch->half_format; |
1558 | } | |
1559 | ||
1560 | void | |
1561 | set_gdbarch_half_format (struct gdbarch *gdbarch, | |
adc48a49 | 1562 | const struct floatformat ** half_format) |
f9e9243a UW |
1563 | { |
1564 | gdbarch->half_format = half_format; | |
1565 | } | |
1566 | ||
0f71a2f6 | 1567 | int |
104c1213 | 1568 | gdbarch_float_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1569 | { |
8de9bdc4 | 1570 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1571 | /* Skip verify of float_bit, invalid_p == 0 */ |
0f71a2f6 | 1572 | if (gdbarch_debug >= 2) |
6cb06a8c | 1573 | gdb_printf (gdb_stdlog, "gdbarch_float_bit called\n"); |
0f71a2f6 JM |
1574 | return gdbarch->float_bit; |
1575 | } | |
1576 | ||
1577 | void | |
104c1213 | 1578 | set_gdbarch_float_bit (struct gdbarch *gdbarch, |
adc48a49 | 1579 | int float_bit) |
0f71a2f6 JM |
1580 | { |
1581 | gdbarch->float_bit = float_bit; | |
1582 | } | |
1583 | ||
8da61cc4 | 1584 | const struct floatformat ** |
456fcf94 AC |
1585 | gdbarch_float_format (struct gdbarch *gdbarch) |
1586 | { | |
1587 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 1588 | /* Skip verify of float_format, invalid_p == 0 */ |
456fcf94 | 1589 | if (gdbarch_debug >= 2) |
6cb06a8c | 1590 | gdb_printf (gdb_stdlog, "gdbarch_float_format called\n"); |
456fcf94 AC |
1591 | return gdbarch->float_format; |
1592 | } | |
1593 | ||
1594 | void | |
1595 | set_gdbarch_float_format (struct gdbarch *gdbarch, | |
adc48a49 | 1596 | const struct floatformat ** float_format) |
456fcf94 AC |
1597 | { |
1598 | gdbarch->float_format = float_format; | |
1599 | } | |
1600 | ||
0f71a2f6 | 1601 | int |
104c1213 | 1602 | gdbarch_double_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1603 | { |
8de9bdc4 | 1604 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1605 | /* Skip verify of double_bit, invalid_p == 0 */ |
0f71a2f6 | 1606 | if (gdbarch_debug >= 2) |
6cb06a8c | 1607 | gdb_printf (gdb_stdlog, "gdbarch_double_bit called\n"); |
0f71a2f6 JM |
1608 | return gdbarch->double_bit; |
1609 | } | |
1610 | ||
1611 | void | |
104c1213 | 1612 | set_gdbarch_double_bit (struct gdbarch *gdbarch, |
adc48a49 | 1613 | int double_bit) |
0f71a2f6 JM |
1614 | { |
1615 | gdbarch->double_bit = double_bit; | |
1616 | } | |
1617 | ||
8da61cc4 | 1618 | const struct floatformat ** |
456fcf94 AC |
1619 | gdbarch_double_format (struct gdbarch *gdbarch) |
1620 | { | |
1621 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 1622 | /* Skip verify of double_format, invalid_p == 0 */ |
456fcf94 | 1623 | if (gdbarch_debug >= 2) |
6cb06a8c | 1624 | gdb_printf (gdb_stdlog, "gdbarch_double_format called\n"); |
456fcf94 AC |
1625 | return gdbarch->double_format; |
1626 | } | |
1627 | ||
1628 | void | |
1629 | set_gdbarch_double_format (struct gdbarch *gdbarch, | |
adc48a49 | 1630 | const struct floatformat ** double_format) |
456fcf94 AC |
1631 | { |
1632 | gdbarch->double_format = double_format; | |
1633 | } | |
1634 | ||
0f71a2f6 | 1635 | int |
104c1213 | 1636 | gdbarch_long_double_bit (struct gdbarch *gdbarch) |
0f71a2f6 | 1637 | { |
8de9bdc4 | 1638 | gdb_assert (gdbarch != NULL); |
66b43ecb | 1639 | /* Skip verify of long_double_bit, invalid_p == 0 */ |
0f71a2f6 | 1640 | if (gdbarch_debug >= 2) |
6cb06a8c | 1641 | gdb_printf (gdb_stdlog, "gdbarch_long_double_bit called\n"); |
0f71a2f6 JM |
1642 | return gdbarch->long_double_bit; |
1643 | } | |
1644 | ||
1645 | void | |
104c1213 | 1646 | set_gdbarch_long_double_bit (struct gdbarch *gdbarch, |
adc48a49 | 1647 | int long_double_bit) |
0f71a2f6 JM |
1648 | { |
1649 | gdbarch->long_double_bit = long_double_bit; | |
1650 | } | |
1651 | ||
8da61cc4 | 1652 | const struct floatformat ** |
456fcf94 AC |
1653 | gdbarch_long_double_format (struct gdbarch *gdbarch) |
1654 | { | |
1655 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 1656 | /* Skip verify of long_double_format, invalid_p == 0 */ |
456fcf94 | 1657 | if (gdbarch_debug >= 2) |
6cb06a8c | 1658 | gdb_printf (gdb_stdlog, "gdbarch_long_double_format called\n"); |
456fcf94 AC |
1659 | return gdbarch->long_double_format; |
1660 | } | |
1661 | ||
1662 | void | |
1663 | set_gdbarch_long_double_format (struct gdbarch *gdbarch, | |
adc48a49 | 1664 | const struct floatformat ** long_double_format) |
456fcf94 AC |
1665 | { |
1666 | gdbarch->long_double_format = long_double_format; | |
1667 | } | |
1668 | ||
53375380 PA |
1669 | int |
1670 | gdbarch_wchar_bit (struct gdbarch *gdbarch) | |
1671 | { | |
1672 | gdb_assert (gdbarch != NULL); | |
1673 | /* Skip verify of wchar_bit, invalid_p == 0 */ | |
1674 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1675 | gdb_printf (gdb_stdlog, "gdbarch_wchar_bit called\n"); |
53375380 PA |
1676 | return gdbarch->wchar_bit; |
1677 | } | |
1678 | ||
1679 | void | |
1680 | set_gdbarch_wchar_bit (struct gdbarch *gdbarch, | |
adc48a49 | 1681 | int wchar_bit) |
53375380 PA |
1682 | { |
1683 | gdbarch->wchar_bit = wchar_bit; | |
1684 | } | |
1685 | ||
1686 | int | |
1687 | gdbarch_wchar_signed (struct gdbarch *gdbarch) | |
1688 | { | |
1689 | gdb_assert (gdbarch != NULL); | |
c317ea57 | 1690 | /* Check variable changed from its initial value. */ |
53375380 PA |
1691 | gdb_assert (gdbarch->wchar_signed != -1); |
1692 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1693 | gdb_printf (gdb_stdlog, "gdbarch_wchar_signed called\n"); |
53375380 PA |
1694 | return gdbarch->wchar_signed; |
1695 | } | |
1696 | ||
1697 | void | |
1698 | set_gdbarch_wchar_signed (struct gdbarch *gdbarch, | |
adc48a49 | 1699 | int wchar_signed) |
53375380 PA |
1700 | { |
1701 | gdbarch->wchar_signed = wchar_signed; | |
1702 | } | |
1703 | ||
9b790ce7 UW |
1704 | const struct floatformat ** |
1705 | gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length) | |
1706 | { | |
1707 | gdb_assert (gdbarch != NULL); | |
1708 | gdb_assert (gdbarch->floatformat_for_type != NULL); | |
1709 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1710 | gdb_printf (gdb_stdlog, "gdbarch_floatformat_for_type called\n"); |
9b790ce7 UW |
1711 | return gdbarch->floatformat_for_type (gdbarch, name, length); |
1712 | } | |
1713 | ||
1714 | void | |
1715 | set_gdbarch_floatformat_for_type (struct gdbarch *gdbarch, | |
adc48a49 | 1716 | gdbarch_floatformat_for_type_ftype floatformat_for_type) |
9b790ce7 UW |
1717 | { |
1718 | gdbarch->floatformat_for_type = floatformat_for_type; | |
1719 | } | |
1720 | ||
66b43ecb AC |
1721 | int |
1722 | gdbarch_ptr_bit (struct gdbarch *gdbarch) | |
1723 | { | |
8de9bdc4 | 1724 | gdb_assert (gdbarch != NULL); |
66b43ecb AC |
1725 | /* Skip verify of ptr_bit, invalid_p == 0 */ |
1726 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1727 | gdb_printf (gdb_stdlog, "gdbarch_ptr_bit called\n"); |
66b43ecb AC |
1728 | return gdbarch->ptr_bit; |
1729 | } | |
1730 | ||
1731 | void | |
1732 | set_gdbarch_ptr_bit (struct gdbarch *gdbarch, | |
adc48a49 | 1733 | int ptr_bit) |
66b43ecb AC |
1734 | { |
1735 | gdbarch->ptr_bit = ptr_bit; | |
1736 | } | |
1737 | ||
52204a0b DT |
1738 | int |
1739 | gdbarch_addr_bit (struct gdbarch *gdbarch) | |
1740 | { | |
8de9bdc4 | 1741 | gdb_assert (gdbarch != NULL); |
c317ea57 | 1742 | /* Check variable changed from its initial value. */ |
956ac328 | 1743 | gdb_assert (gdbarch->addr_bit != 0); |
52204a0b | 1744 | if (gdbarch_debug >= 2) |
6cb06a8c | 1745 | gdb_printf (gdb_stdlog, "gdbarch_addr_bit called\n"); |
52204a0b DT |
1746 | return gdbarch->addr_bit; |
1747 | } | |
1748 | ||
1749 | void | |
1750 | set_gdbarch_addr_bit (struct gdbarch *gdbarch, | |
adc48a49 | 1751 | int addr_bit) |
52204a0b DT |
1752 | { |
1753 | gdbarch->addr_bit = addr_bit; | |
1754 | } | |
1755 | ||
8da614df CV |
1756 | int |
1757 | gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch) | |
1758 | { | |
1759 | gdb_assert (gdbarch != NULL); | |
c317ea57 | 1760 | /* Check variable changed from its initial value. */ |
8da614df CV |
1761 | gdb_assert (gdbarch->dwarf2_addr_size != 0); |
1762 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1763 | gdb_printf (gdb_stdlog, "gdbarch_dwarf2_addr_size called\n"); |
8da614df CV |
1764 | return gdbarch->dwarf2_addr_size; |
1765 | } | |
1766 | ||
1767 | void | |
1768 | set_gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch, | |
adc48a49 | 1769 | int dwarf2_addr_size) |
8da614df CV |
1770 | { |
1771 | gdbarch->dwarf2_addr_size = dwarf2_addr_size; | |
1772 | } | |
1773 | ||
4e409299 JB |
1774 | int |
1775 | gdbarch_char_signed (struct gdbarch *gdbarch) | |
1776 | { | |
8de9bdc4 | 1777 | gdb_assert (gdbarch != NULL); |
c317ea57 | 1778 | /* Check variable changed from its initial value. */ |
956ac328 | 1779 | gdb_assert (gdbarch->char_signed != -1); |
4e409299 | 1780 | if (gdbarch_debug >= 2) |
6cb06a8c | 1781 | gdb_printf (gdb_stdlog, "gdbarch_char_signed called\n"); |
4e409299 JB |
1782 | return gdbarch->char_signed; |
1783 | } | |
1784 | ||
1785 | void | |
1786 | set_gdbarch_char_signed (struct gdbarch *gdbarch, | |
adc48a49 | 1787 | int char_signed) |
4e409299 JB |
1788 | { |
1789 | gdbarch->char_signed = char_signed; | |
1790 | } | |
1791 | ||
39535193 | 1792 | bool |
cde9ea48 AC |
1793 | gdbarch_read_pc_p (struct gdbarch *gdbarch) |
1794 | { | |
1795 | gdb_assert (gdbarch != NULL); | |
956ac328 | 1796 | return gdbarch->read_pc != NULL; |
cde9ea48 AC |
1797 | } |
1798 | ||
0f71a2f6 | 1799 | CORE_ADDR |
c113ed0c | 1800 | gdbarch_read_pc (struct gdbarch *gdbarch, readable_regcache *regcache) |
0f71a2f6 | 1801 | { |
8de9bdc4 | 1802 | gdb_assert (gdbarch != NULL); |
956ac328 | 1803 | gdb_assert (gdbarch->read_pc != NULL); |
0f71a2f6 | 1804 | if (gdbarch_debug >= 2) |
6cb06a8c | 1805 | gdb_printf (gdb_stdlog, "gdbarch_read_pc called\n"); |
61a1198a | 1806 | return gdbarch->read_pc (regcache); |
0f71a2f6 JM |
1807 | } |
1808 | ||
1809 | void | |
104c1213 | 1810 | set_gdbarch_read_pc (struct gdbarch *gdbarch, |
adc48a49 | 1811 | gdbarch_read_pc_ftype read_pc) |
0f71a2f6 JM |
1812 | { |
1813 | gdbarch->read_pc = read_pc; | |
1814 | } | |
1815 | ||
39535193 | 1816 | bool |
61a1198a UW |
1817 | gdbarch_write_pc_p (struct gdbarch *gdbarch) |
1818 | { | |
1819 | gdb_assert (gdbarch != NULL); | |
1820 | return gdbarch->write_pc != NULL; | |
1821 | } | |
1822 | ||
0f71a2f6 | 1823 | void |
61a1198a | 1824 | gdbarch_write_pc (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR val) |
0f71a2f6 | 1825 | { |
8de9bdc4 | 1826 | gdb_assert (gdbarch != NULL); |
956ac328 | 1827 | gdb_assert (gdbarch->write_pc != NULL); |
0f71a2f6 | 1828 | if (gdbarch_debug >= 2) |
6cb06a8c | 1829 | gdb_printf (gdb_stdlog, "gdbarch_write_pc called\n"); |
61a1198a | 1830 | gdbarch->write_pc (regcache, val); |
0f71a2f6 JM |
1831 | } |
1832 | ||
1833 | void | |
104c1213 | 1834 | set_gdbarch_write_pc (struct gdbarch *gdbarch, |
adc48a49 | 1835 | gdbarch_write_pc_ftype write_pc) |
0f71a2f6 JM |
1836 | { |
1837 | gdbarch->write_pc = write_pc; | |
1838 | } | |
1839 | ||
39d4ef09 AC |
1840 | void |
1841 | gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset) | |
1842 | { | |
8de9bdc4 | 1843 | gdb_assert (gdbarch != NULL); |
956ac328 | 1844 | gdb_assert (gdbarch->virtual_frame_pointer != NULL); |
39d4ef09 | 1845 | if (gdbarch_debug >= 2) |
6cb06a8c | 1846 | gdb_printf (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n"); |
a54fba4c | 1847 | gdbarch->virtual_frame_pointer (gdbarch, pc, frame_regnum, frame_offset); |
39d4ef09 AC |
1848 | } |
1849 | ||
1850 | void | |
1851 | set_gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, | |
adc48a49 | 1852 | gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer) |
39d4ef09 AC |
1853 | { |
1854 | gdbarch->virtual_frame_pointer = virtual_frame_pointer; | |
1855 | } | |
1856 | ||
39535193 | 1857 | bool |
d8124050 | 1858 | gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch) |
61a0eb5b | 1859 | { |
8de9bdc4 | 1860 | gdb_assert (gdbarch != NULL); |
956ac328 | 1861 | return gdbarch->pseudo_register_read != NULL; |
61a0eb5b AC |
1862 | } |
1863 | ||
05d1431c | 1864 | enum register_status |
849d0ba8 | 1865 | gdbarch_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf) |
61a0eb5b | 1866 | { |
8de9bdc4 | 1867 | gdb_assert (gdbarch != NULL); |
956ac328 | 1868 | gdb_assert (gdbarch->pseudo_register_read != NULL); |
61a0eb5b | 1869 | if (gdbarch_debug >= 2) |
6cb06a8c | 1870 | gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_read called\n"); |
05d1431c | 1871 | return gdbarch->pseudo_register_read (gdbarch, regcache, cookednum, buf); |
61a0eb5b AC |
1872 | } |
1873 | ||
1874 | void | |
d8124050 | 1875 | set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch, |
adc48a49 | 1876 | gdbarch_pseudo_register_read_ftype pseudo_register_read) |
61a0eb5b | 1877 | { |
d8124050 | 1878 | gdbarch->pseudo_register_read = pseudo_register_read; |
61a0eb5b AC |
1879 | } |
1880 | ||
39535193 | 1881 | bool |
3543a589 TT |
1882 | gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch) |
1883 | { | |
1884 | gdb_assert (gdbarch != NULL); | |
1885 | return gdbarch->pseudo_register_read_value != NULL; | |
1886 | } | |
1887 | ||
1888 | struct value * | |
849d0ba8 | 1889 | gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum) |
3543a589 TT |
1890 | { |
1891 | gdb_assert (gdbarch != NULL); | |
1892 | gdb_assert (gdbarch->pseudo_register_read_value != NULL); | |
1893 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1894 | gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_read_value called\n"); |
3543a589 TT |
1895 | return gdbarch->pseudo_register_read_value (gdbarch, regcache, cookednum); |
1896 | } | |
1897 | ||
1898 | void | |
1899 | set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, | |
adc48a49 | 1900 | gdbarch_pseudo_register_read_value_ftype pseudo_register_read_value) |
3543a589 TT |
1901 | { |
1902 | gdbarch->pseudo_register_read_value = pseudo_register_read_value; | |
1903 | } | |
1904 | ||
39535193 | 1905 | bool |
d8124050 | 1906 | gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch) |
61a0eb5b | 1907 | { |
8de9bdc4 | 1908 | gdb_assert (gdbarch != NULL); |
956ac328 | 1909 | return gdbarch->pseudo_register_write != NULL; |
61a0eb5b AC |
1910 | } |
1911 | ||
1912 | void | |
b60c417a | 1913 | gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf) |
61a0eb5b | 1914 | { |
8de9bdc4 | 1915 | gdb_assert (gdbarch != NULL); |
956ac328 | 1916 | gdb_assert (gdbarch->pseudo_register_write != NULL); |
61a0eb5b | 1917 | if (gdbarch_debug >= 2) |
6cb06a8c | 1918 | gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_write called\n"); |
d8124050 | 1919 | gdbarch->pseudo_register_write (gdbarch, regcache, cookednum, buf); |
61a0eb5b AC |
1920 | } |
1921 | ||
1922 | void | |
d8124050 | 1923 | set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch, |
adc48a49 | 1924 | gdbarch_pseudo_register_write_ftype pseudo_register_write) |
61a0eb5b | 1925 | { |
d8124050 | 1926 | gdbarch->pseudo_register_write = pseudo_register_write; |
61a0eb5b AC |
1927 | } |
1928 | ||
0f71a2f6 | 1929 | int |
104c1213 | 1930 | gdbarch_num_regs (struct gdbarch *gdbarch) |
0f71a2f6 | 1931 | { |
8de9bdc4 | 1932 | gdb_assert (gdbarch != NULL); |
c317ea57 | 1933 | /* Check variable changed from its initial value. */ |
956ac328 | 1934 | gdb_assert (gdbarch->num_regs != -1); |
0f71a2f6 | 1935 | if (gdbarch_debug >= 2) |
6cb06a8c | 1936 | gdb_printf (gdb_stdlog, "gdbarch_num_regs called\n"); |
0f71a2f6 JM |
1937 | return gdbarch->num_regs; |
1938 | } | |
1939 | ||
1940 | void | |
104c1213 | 1941 | set_gdbarch_num_regs (struct gdbarch *gdbarch, |
adc48a49 | 1942 | int num_regs) |
0f71a2f6 JM |
1943 | { |
1944 | gdbarch->num_regs = num_regs; | |
1945 | } | |
1946 | ||
0aba1244 EZ |
1947 | int |
1948 | gdbarch_num_pseudo_regs (struct gdbarch *gdbarch) | |
1949 | { | |
8de9bdc4 | 1950 | gdb_assert (gdbarch != NULL); |
0aba1244 EZ |
1951 | /* Skip verify of num_pseudo_regs, invalid_p == 0 */ |
1952 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1953 | gdb_printf (gdb_stdlog, "gdbarch_num_pseudo_regs called\n"); |
0aba1244 EZ |
1954 | return gdbarch->num_pseudo_regs; |
1955 | } | |
1956 | ||
1957 | void | |
1958 | set_gdbarch_num_pseudo_regs (struct gdbarch *gdbarch, | |
adc48a49 | 1959 | int num_pseudo_regs) |
0aba1244 EZ |
1960 | { |
1961 | gdbarch->num_pseudo_regs = num_pseudo_regs; | |
1962 | } | |
1963 | ||
39535193 | 1964 | bool |
175ff332 HZ |
1965 | gdbarch_ax_pseudo_register_collect_p (struct gdbarch *gdbarch) |
1966 | { | |
1967 | gdb_assert (gdbarch != NULL); | |
1968 | return gdbarch->ax_pseudo_register_collect != NULL; | |
1969 | } | |
1970 | ||
1971 | int | |
1972 | gdbarch_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg) | |
1973 | { | |
1974 | gdb_assert (gdbarch != NULL); | |
1975 | gdb_assert (gdbarch->ax_pseudo_register_collect != NULL); | |
1976 | if (gdbarch_debug >= 2) | |
6cb06a8c | 1977 | gdb_printf (gdb_stdlog, "gdbarch_ax_pseudo_register_collect called\n"); |
175ff332 HZ |
1978 | return gdbarch->ax_pseudo_register_collect (gdbarch, ax, reg); |
1979 | } | |
1980 | ||
1981 | void | |
1982 | set_gdbarch_ax_pseudo_register_collect (struct gdbarch *gdbarch, | |
adc48a49 | 1983 | gdbarch_ax_pseudo_register_collect_ftype ax_pseudo_register_collect) |
175ff332 HZ |
1984 | { |
1985 | gdbarch->ax_pseudo_register_collect = ax_pseudo_register_collect; | |
1986 | } | |
1987 | ||
39535193 | 1988 | bool |
175ff332 HZ |
1989 | gdbarch_ax_pseudo_register_push_stack_p (struct gdbarch *gdbarch) |
1990 | { | |
1991 | gdb_assert (gdbarch != NULL); | |
1992 | return gdbarch->ax_pseudo_register_push_stack != NULL; | |
1993 | } | |
1994 | ||
1995 | int | |
1996 | gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int reg) | |
1997 | { | |
1998 | gdb_assert (gdbarch != NULL); | |
1999 | gdb_assert (gdbarch->ax_pseudo_register_push_stack != NULL); | |
2000 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2001 | gdb_printf (gdb_stdlog, "gdbarch_ax_pseudo_register_push_stack called\n"); |
175ff332 HZ |
2002 | return gdbarch->ax_pseudo_register_push_stack (gdbarch, ax, reg); |
2003 | } | |
2004 | ||
2005 | void | |
2006 | set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, | |
adc48a49 | 2007 | gdbarch_ax_pseudo_register_push_stack_ftype ax_pseudo_register_push_stack) |
175ff332 HZ |
2008 | { |
2009 | gdbarch->ax_pseudo_register_push_stack = ax_pseudo_register_push_stack; | |
2010 | } | |
2011 | ||
39535193 | 2012 | bool |
272bb05c JB |
2013 | gdbarch_report_signal_info_p (struct gdbarch *gdbarch) |
2014 | { | |
2015 | gdb_assert (gdbarch != NULL); | |
2016 | return gdbarch->report_signal_info != NULL; | |
2017 | } | |
2018 | ||
2019 | void | |
2020 | gdbarch_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout, enum gdb_signal siggnal) | |
2021 | { | |
2022 | gdb_assert (gdbarch != NULL); | |
2023 | gdb_assert (gdbarch->report_signal_info != NULL); | |
2024 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2025 | gdb_printf (gdb_stdlog, "gdbarch_report_signal_info called\n"); |
272bb05c JB |
2026 | gdbarch->report_signal_info (gdbarch, uiout, siggnal); |
2027 | } | |
2028 | ||
2029 | void | |
2030 | set_gdbarch_report_signal_info (struct gdbarch *gdbarch, | |
adc48a49 | 2031 | gdbarch_report_signal_info_ftype report_signal_info) |
272bb05c JB |
2032 | { |
2033 | gdbarch->report_signal_info = report_signal_info; | |
2034 | } | |
2035 | ||
0f71a2f6 | 2036 | int |
104c1213 | 2037 | gdbarch_sp_regnum (struct gdbarch *gdbarch) |
0f71a2f6 | 2038 | { |
8de9bdc4 | 2039 | gdb_assert (gdbarch != NULL); |
1200cd6e | 2040 | /* Skip verify of sp_regnum, invalid_p == 0 */ |
0f71a2f6 | 2041 | if (gdbarch_debug >= 2) |
6cb06a8c | 2042 | gdb_printf (gdb_stdlog, "gdbarch_sp_regnum called\n"); |
0f71a2f6 JM |
2043 | return gdbarch->sp_regnum; |
2044 | } | |
2045 | ||
2046 | void | |
104c1213 | 2047 | set_gdbarch_sp_regnum (struct gdbarch *gdbarch, |
adc48a49 | 2048 | int sp_regnum) |
0f71a2f6 JM |
2049 | { |
2050 | gdbarch->sp_regnum = sp_regnum; | |
2051 | } | |
2052 | ||
0f71a2f6 | 2053 | int |
104c1213 | 2054 | gdbarch_pc_regnum (struct gdbarch *gdbarch) |
0f71a2f6 | 2055 | { |
8de9bdc4 | 2056 | gdb_assert (gdbarch != NULL); |
1200cd6e | 2057 | /* Skip verify of pc_regnum, invalid_p == 0 */ |
0f71a2f6 | 2058 | if (gdbarch_debug >= 2) |
6cb06a8c | 2059 | gdb_printf (gdb_stdlog, "gdbarch_pc_regnum called\n"); |
0f71a2f6 JM |
2060 | return gdbarch->pc_regnum; |
2061 | } | |
2062 | ||
2063 | void | |
104c1213 | 2064 | set_gdbarch_pc_regnum (struct gdbarch *gdbarch, |
adc48a49 | 2065 | int pc_regnum) |
0f71a2f6 JM |
2066 | { |
2067 | gdbarch->pc_regnum = pc_regnum; | |
2068 | } | |
2069 | ||
c2169756 AC |
2070 | int |
2071 | gdbarch_ps_regnum (struct gdbarch *gdbarch) | |
2072 | { | |
8de9bdc4 | 2073 | gdb_assert (gdbarch != NULL); |
c2169756 AC |
2074 | /* Skip verify of ps_regnum, invalid_p == 0 */ |
2075 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2076 | gdb_printf (gdb_stdlog, "gdbarch_ps_regnum called\n"); |
c2169756 AC |
2077 | return gdbarch->ps_regnum; |
2078 | } | |
2079 | ||
2080 | void | |
2081 | set_gdbarch_ps_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2082 | int ps_regnum) |
c2169756 AC |
2083 | { |
2084 | gdbarch->ps_regnum = ps_regnum; | |
2085 | } | |
2086 | ||
60054393 MS |
2087 | int |
2088 | gdbarch_fp0_regnum (struct gdbarch *gdbarch) | |
2089 | { | |
8de9bdc4 | 2090 | gdb_assert (gdbarch != NULL); |
60054393 MS |
2091 | /* Skip verify of fp0_regnum, invalid_p == 0 */ |
2092 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2093 | gdb_printf (gdb_stdlog, "gdbarch_fp0_regnum called\n"); |
60054393 MS |
2094 | return gdbarch->fp0_regnum; |
2095 | } | |
2096 | ||
2097 | void | |
2098 | set_gdbarch_fp0_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2099 | int fp0_regnum) |
60054393 MS |
2100 | { |
2101 | gdbarch->fp0_regnum = fp0_regnum; | |
2102 | } | |
2103 | ||
88c72b7d AC |
2104 | int |
2105 | gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr) | |
2106 | { | |
8de9bdc4 | 2107 | gdb_assert (gdbarch != NULL); |
956ac328 | 2108 | gdb_assert (gdbarch->stab_reg_to_regnum != NULL); |
88c72b7d | 2109 | if (gdbarch_debug >= 2) |
6cb06a8c | 2110 | gdb_printf (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n"); |
d3f73121 | 2111 | return gdbarch->stab_reg_to_regnum (gdbarch, stab_regnr); |
88c72b7d AC |
2112 | } |
2113 | ||
2114 | void | |
2115 | set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2116 | gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum) |
88c72b7d AC |
2117 | { |
2118 | gdbarch->stab_reg_to_regnum = stab_reg_to_regnum; | |
2119 | } | |
2120 | ||
2121 | int | |
2122 | gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr) | |
2123 | { | |
8de9bdc4 | 2124 | gdb_assert (gdbarch != NULL); |
956ac328 | 2125 | gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL); |
88c72b7d | 2126 | if (gdbarch_debug >= 2) |
6cb06a8c | 2127 | gdb_printf (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n"); |
d3f73121 | 2128 | return gdbarch->ecoff_reg_to_regnum (gdbarch, ecoff_regnr); |
88c72b7d AC |
2129 | } |
2130 | ||
2131 | void | |
2132 | set_gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2133 | gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum) |
88c72b7d AC |
2134 | { |
2135 | gdbarch->ecoff_reg_to_regnum = ecoff_reg_to_regnum; | |
2136 | } | |
2137 | ||
88c72b7d AC |
2138 | int |
2139 | gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, int sdb_regnr) | |
2140 | { | |
8de9bdc4 | 2141 | gdb_assert (gdbarch != NULL); |
956ac328 | 2142 | gdb_assert (gdbarch->sdb_reg_to_regnum != NULL); |
88c72b7d | 2143 | if (gdbarch_debug >= 2) |
6cb06a8c | 2144 | gdb_printf (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n"); |
d3f73121 | 2145 | return gdbarch->sdb_reg_to_regnum (gdbarch, sdb_regnr); |
88c72b7d AC |
2146 | } |
2147 | ||
2148 | void | |
2149 | set_gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2150 | gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum) |
88c72b7d AC |
2151 | { |
2152 | gdbarch->sdb_reg_to_regnum = sdb_reg_to_regnum; | |
2153 | } | |
2154 | ||
2155 | int | |
2156 | gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr) | |
2157 | { | |
8de9bdc4 | 2158 | gdb_assert (gdbarch != NULL); |
956ac328 | 2159 | gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL); |
88c72b7d | 2160 | if (gdbarch_debug >= 2) |
6cb06a8c | 2161 | gdb_printf (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n"); |
d3f73121 | 2162 | return gdbarch->dwarf2_reg_to_regnum (gdbarch, dwarf2_regnr); |
88c72b7d AC |
2163 | } |
2164 | ||
2165 | void | |
2166 | set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2167 | gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum) |
88c72b7d AC |
2168 | { |
2169 | gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum; | |
2170 | } | |
2171 | ||
fa88f677 | 2172 | const char * |
0f71a2f6 JM |
2173 | gdbarch_register_name (struct gdbarch *gdbarch, int regnr) |
2174 | { | |
8de9bdc4 | 2175 | gdb_assert (gdbarch != NULL); |
956ac328 | 2176 | gdb_assert (gdbarch->register_name != NULL); |
7df42400 AB |
2177 | gdb_assert (regnr >= 0); |
2178 | gdb_assert (regnr < gdbarch_num_cooked_regs (gdbarch)); | |
0f71a2f6 | 2179 | if (gdbarch_debug >= 2) |
6cb06a8c | 2180 | gdb_printf (gdb_stdlog, "gdbarch_register_name called\n"); |
7df42400 AB |
2181 | auto result = gdbarch->register_name (gdbarch, regnr); |
2182 | gdb_assert (result != nullptr); | |
2183 | return result; | |
0f71a2f6 JM |
2184 | } |
2185 | ||
2186 | void | |
104c1213 | 2187 | set_gdbarch_register_name (struct gdbarch *gdbarch, |
adc48a49 | 2188 | gdbarch_register_name_ftype register_name) |
0f71a2f6 JM |
2189 | { |
2190 | gdbarch->register_name = register_name; | |
2191 | } | |
2192 | ||
9c04cab7 AC |
2193 | struct type * |
2194 | gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr) | |
2195 | { | |
2196 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2197 | gdb_assert (gdbarch->register_type != NULL); |
0f71a2f6 | 2198 | if (gdbarch_debug >= 2) |
6cb06a8c | 2199 | gdb_printf (gdb_stdlog, "gdbarch_register_type called\n"); |
9c04cab7 | 2200 | return gdbarch->register_type (gdbarch, reg_nr); |
0f71a2f6 JM |
2201 | } |
2202 | ||
2203 | void | |
9c04cab7 | 2204 | set_gdbarch_register_type (struct gdbarch *gdbarch, |
adc48a49 | 2205 | gdbarch_register_type_ftype register_type) |
0f71a2f6 | 2206 | { |
9c04cab7 | 2207 | gdbarch->register_type = register_type; |
0f71a2f6 JM |
2208 | } |
2209 | ||
f3be58bc | 2210 | struct frame_id |
bd2b40ac | 2211 | gdbarch_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) |
f3be58bc AC |
2212 | { |
2213 | gdb_assert (gdbarch != NULL); | |
669fac23 | 2214 | gdb_assert (gdbarch->dummy_id != NULL); |
f3be58bc | 2215 | if (gdbarch_debug >= 2) |
6cb06a8c | 2216 | gdb_printf (gdb_stdlog, "gdbarch_dummy_id called\n"); |
669fac23 | 2217 | return gdbarch->dummy_id (gdbarch, this_frame); |
f3be58bc AC |
2218 | } |
2219 | ||
2220 | void | |
669fac23 | 2221 | set_gdbarch_dummy_id (struct gdbarch *gdbarch, |
adc48a49 | 2222 | gdbarch_dummy_id_ftype dummy_id) |
f3be58bc | 2223 | { |
669fac23 | 2224 | gdbarch->dummy_id = dummy_id; |
f3be58bc AC |
2225 | } |
2226 | ||
f3be58bc AC |
2227 | int |
2228 | gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch) | |
2229 | { | |
2230 | gdb_assert (gdbarch != NULL); | |
2231 | /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */ | |
2232 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2233 | gdb_printf (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n"); |
f3be58bc AC |
2234 | return gdbarch->deprecated_fp_regnum; |
2235 | } | |
2236 | ||
2237 | void | |
2238 | set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch, | |
adc48a49 | 2239 | int deprecated_fp_regnum) |
f3be58bc AC |
2240 | { |
2241 | gdbarch->deprecated_fp_regnum = deprecated_fp_regnum; | |
2242 | } | |
2243 | ||
39535193 | 2244 | bool |
b8de8283 | 2245 | gdbarch_push_dummy_call_p (struct gdbarch *gdbarch) |
0ab7a791 AC |
2246 | { |
2247 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2248 | return gdbarch->push_dummy_call != NULL; |
0ab7a791 AC |
2249 | } |
2250 | ||
b8de8283 | 2251 | CORE_ADDR |
cf84fa6b | 2252 | gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr) |
666e11c5 | 2253 | { |
8de9bdc4 | 2254 | gdb_assert (gdbarch != NULL); |
956ac328 | 2255 | gdb_assert (gdbarch->push_dummy_call != NULL); |
666e11c5 | 2256 | if (gdbarch_debug >= 2) |
6cb06a8c | 2257 | gdb_printf (gdb_stdlog, "gdbarch_push_dummy_call called\n"); |
cf84fa6b | 2258 | return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, return_method, struct_addr); |
666e11c5 EZ |
2259 | } |
2260 | ||
2261 | void | |
b8de8283 | 2262 | set_gdbarch_push_dummy_call (struct gdbarch *gdbarch, |
adc48a49 | 2263 | gdbarch_push_dummy_call_ftype push_dummy_call) |
666e11c5 | 2264 | { |
b8de8283 | 2265 | gdbarch->push_dummy_call = push_dummy_call; |
666e11c5 EZ |
2266 | } |
2267 | ||
7807dfae | 2268 | enum call_dummy_location_type |
b8de8283 | 2269 | gdbarch_call_dummy_location (struct gdbarch *gdbarch) |
2649061d | 2270 | { |
8de9bdc4 | 2271 | gdb_assert (gdbarch != NULL); |
b8de8283 AC |
2272 | /* Skip verify of call_dummy_location, invalid_p == 0 */ |
2273 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2274 | gdb_printf (gdb_stdlog, "gdbarch_call_dummy_location called\n"); |
b8de8283 | 2275 | return gdbarch->call_dummy_location; |
2649061d AC |
2276 | } |
2277 | ||
b8de8283 AC |
2278 | void |
2279 | set_gdbarch_call_dummy_location (struct gdbarch *gdbarch, | |
adc48a49 | 2280 | enum call_dummy_location_type call_dummy_location) |
b8de8283 AC |
2281 | { |
2282 | gdbarch->call_dummy_location = call_dummy_location; | |
2283 | } | |
2284 | ||
39535193 | 2285 | bool |
b8de8283 | 2286 | gdbarch_push_dummy_code_p (struct gdbarch *gdbarch) |
0f71a2f6 | 2287 | { |
8de9bdc4 | 2288 | gdb_assert (gdbarch != NULL); |
956ac328 | 2289 | return gdbarch->push_dummy_code != NULL; |
b8de8283 AC |
2290 | } |
2291 | ||
2292 | CORE_ADDR | |
82585c72 | 2293 | gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache) |
b8de8283 AC |
2294 | { |
2295 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2296 | gdb_assert (gdbarch->push_dummy_code != NULL); |
0f71a2f6 | 2297 | if (gdbarch_debug >= 2) |
6cb06a8c | 2298 | gdb_printf (gdb_stdlog, "gdbarch_push_dummy_code called\n"); |
82585c72 | 2299 | return gdbarch->push_dummy_code (gdbarch, sp, funaddr, args, nargs, value_type, real_pc, bp_addr, regcache); |
0f71a2f6 JM |
2300 | } |
2301 | ||
2302 | void | |
b8de8283 | 2303 | set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, |
adc48a49 | 2304 | gdbarch_push_dummy_code_ftype push_dummy_code) |
0f71a2f6 | 2305 | { |
b8de8283 | 2306 | gdbarch->push_dummy_code = push_dummy_code; |
0f71a2f6 JM |
2307 | } |
2308 | ||
7eb89530 | 2309 | int |
bd2b40ac | 2310 | gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame) |
7eb89530 YQ |
2311 | { |
2312 | gdb_assert (gdbarch != NULL); | |
2313 | gdb_assert (gdbarch->code_of_frame_writable != NULL); | |
2314 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2315 | gdb_printf (gdb_stdlog, "gdbarch_code_of_frame_writable called\n"); |
7eb89530 YQ |
2316 | return gdbarch->code_of_frame_writable (gdbarch, frame); |
2317 | } | |
2318 | ||
2319 | void | |
2320 | set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, | |
adc48a49 | 2321 | gdbarch_code_of_frame_writable_ftype code_of_frame_writable) |
7eb89530 YQ |
2322 | { |
2323 | gdbarch->code_of_frame_writable = code_of_frame_writable; | |
2324 | } | |
2325 | ||
b8de8283 | 2326 | void |
bd2b40ac | 2327 | gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all) |
b8de8283 AC |
2328 | { |
2329 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2330 | gdb_assert (gdbarch->print_registers_info != NULL); |
b8de8283 | 2331 | if (gdbarch_debug >= 2) |
6cb06a8c | 2332 | gdb_printf (gdb_stdlog, "gdbarch_print_registers_info called\n"); |
b8de8283 AC |
2333 | gdbarch->print_registers_info (gdbarch, file, frame, regnum, all); |
2334 | } | |
2335 | ||
2336 | void | |
2337 | set_gdbarch_print_registers_info (struct gdbarch *gdbarch, | |
adc48a49 | 2338 | gdbarch_print_registers_info_ftype print_registers_info) |
b8de8283 AC |
2339 | { |
2340 | gdbarch->print_registers_info = print_registers_info; | |
0f71a2f6 JM |
2341 | } |
2342 | ||
b8de8283 | 2343 | void |
bd2b40ac | 2344 | gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) |
0f71a2f6 | 2345 | { |
8de9bdc4 | 2346 | gdb_assert (gdbarch != NULL); |
956ac328 | 2347 | gdb_assert (gdbarch->print_float_info != NULL); |
0f71a2f6 | 2348 | if (gdbarch_debug >= 2) |
6cb06a8c | 2349 | gdb_printf (gdb_stdlog, "gdbarch_print_float_info called\n"); |
b8de8283 | 2350 | gdbarch->print_float_info (gdbarch, file, frame, args); |
0f71a2f6 JM |
2351 | } |
2352 | ||
2353 | void | |
b8de8283 | 2354 | set_gdbarch_print_float_info (struct gdbarch *gdbarch, |
adc48a49 | 2355 | gdbarch_print_float_info_ftype print_float_info) |
0f71a2f6 | 2356 | { |
b8de8283 AC |
2357 | gdbarch->print_float_info = print_float_info; |
2358 | } | |
2359 | ||
39535193 | 2360 | bool |
b8de8283 AC |
2361 | gdbarch_print_vector_info_p (struct gdbarch *gdbarch) |
2362 | { | |
2363 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2364 | return gdbarch->print_vector_info != NULL; |
b8de8283 AC |
2365 | } |
2366 | ||
2367 | void | |
bd2b40ac | 2368 | gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) |
b8de8283 AC |
2369 | { |
2370 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2371 | gdb_assert (gdbarch->print_vector_info != NULL); |
b8de8283 | 2372 | if (gdbarch_debug >= 2) |
6cb06a8c | 2373 | gdb_printf (gdb_stdlog, "gdbarch_print_vector_info called\n"); |
b8de8283 | 2374 | gdbarch->print_vector_info (gdbarch, file, frame, args); |
0f71a2f6 JM |
2375 | } |
2376 | ||
b8de8283 AC |
2377 | void |
2378 | set_gdbarch_print_vector_info (struct gdbarch *gdbarch, | |
adc48a49 | 2379 | gdbarch_print_vector_info_ftype print_vector_info) |
ae45cd16 | 2380 | { |
b8de8283 | 2381 | gdbarch->print_vector_info = print_vector_info; |
ae45cd16 AC |
2382 | } |
2383 | ||
2384 | int | |
b8de8283 | 2385 | gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr) |
0f71a2f6 | 2386 | { |
8de9bdc4 | 2387 | gdb_assert (gdbarch != NULL); |
956ac328 | 2388 | gdb_assert (gdbarch->register_sim_regno != NULL); |
0f71a2f6 | 2389 | if (gdbarch_debug >= 2) |
6cb06a8c | 2390 | gdb_printf (gdb_stdlog, "gdbarch_register_sim_regno called\n"); |
e7faf938 | 2391 | return gdbarch->register_sim_regno (gdbarch, reg_nr); |
0f71a2f6 JM |
2392 | } |
2393 | ||
2394 | void | |
b8de8283 | 2395 | set_gdbarch_register_sim_regno (struct gdbarch *gdbarch, |
adc48a49 | 2396 | gdbarch_register_sim_regno_ftype register_sim_regno) |
0f71a2f6 | 2397 | { |
b8de8283 | 2398 | gdbarch->register_sim_regno = register_sim_regno; |
0f71a2f6 JM |
2399 | } |
2400 | ||
0f71a2f6 | 2401 | int |
b8de8283 | 2402 | gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum) |
0f71a2f6 | 2403 | { |
8de9bdc4 | 2404 | gdb_assert (gdbarch != NULL); |
956ac328 | 2405 | gdb_assert (gdbarch->cannot_fetch_register != NULL); |
b8de8283 | 2406 | if (gdbarch_debug >= 2) |
6cb06a8c | 2407 | gdb_printf (gdb_stdlog, "gdbarch_cannot_fetch_register called\n"); |
64a3914f | 2408 | return gdbarch->cannot_fetch_register (gdbarch, regnum); |
b8de8283 AC |
2409 | } |
2410 | ||
2411 | void | |
2412 | set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, | |
adc48a49 | 2413 | gdbarch_cannot_fetch_register_ftype cannot_fetch_register) |
b8de8283 AC |
2414 | { |
2415 | gdbarch->cannot_fetch_register = cannot_fetch_register; | |
0f71a2f6 JM |
2416 | } |
2417 | ||
2418 | int | |
b8de8283 | 2419 | gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum) |
0f71a2f6 | 2420 | { |
8de9bdc4 | 2421 | gdb_assert (gdbarch != NULL); |
956ac328 | 2422 | gdb_assert (gdbarch->cannot_store_register != NULL); |
0f71a2f6 | 2423 | if (gdbarch_debug >= 2) |
6cb06a8c | 2424 | gdb_printf (gdb_stdlog, "gdbarch_cannot_store_register called\n"); |
64a3914f | 2425 | return gdbarch->cannot_store_register (gdbarch, regnum); |
0f71a2f6 JM |
2426 | } |
2427 | ||
2428 | void | |
b8de8283 | 2429 | set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, |
adc48a49 | 2430 | gdbarch_cannot_store_register_ftype cannot_store_register) |
0f71a2f6 | 2431 | { |
b8de8283 | 2432 | gdbarch->cannot_store_register = cannot_store_register; |
0f71a2f6 JM |
2433 | } |
2434 | ||
39535193 | 2435 | bool |
b8de8283 | 2436 | gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch) |
e8ab51f7 AC |
2437 | { |
2438 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2439 | return gdbarch->get_longjmp_target != NULL; |
e8ab51f7 AC |
2440 | } |
2441 | ||
b8de8283 | 2442 | int |
bd2b40ac | 2443 | gdbarch_get_longjmp_target (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR *pc) |
0f71a2f6 | 2444 | { |
8de9bdc4 | 2445 | gdb_assert (gdbarch != NULL); |
956ac328 | 2446 | gdb_assert (gdbarch->get_longjmp_target != NULL); |
0f71a2f6 | 2447 | if (gdbarch_debug >= 2) |
6cb06a8c | 2448 | gdb_printf (gdb_stdlog, "gdbarch_get_longjmp_target called\n"); |
60ade65d | 2449 | return gdbarch->get_longjmp_target (frame, pc); |
0f71a2f6 JM |
2450 | } |
2451 | ||
2452 | void | |
b8de8283 | 2453 | set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, |
adc48a49 | 2454 | gdbarch_get_longjmp_target_ftype get_longjmp_target) |
0f71a2f6 | 2455 | { |
b8de8283 | 2456 | gdbarch->get_longjmp_target = get_longjmp_target; |
0f71a2f6 JM |
2457 | } |
2458 | ||
2459 | int | |
104c1213 | 2460 | gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch) |
0f71a2f6 | 2461 | { |
8de9bdc4 | 2462 | gdb_assert (gdbarch != NULL); |
a5118a18 | 2463 | /* Skip verify of believe_pcc_promotion, invalid_p == 0 */ |
0f71a2f6 | 2464 | if (gdbarch_debug >= 2) |
6cb06a8c | 2465 | gdb_printf (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n"); |
0f71a2f6 JM |
2466 | return gdbarch->believe_pcc_promotion; |
2467 | } | |
2468 | ||
2469 | void | |
104c1213 | 2470 | set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, |
adc48a49 | 2471 | int believe_pcc_promotion) |
0f71a2f6 JM |
2472 | { |
2473 | gdbarch->believe_pcc_promotion = believe_pcc_promotion; | |
2474 | } | |
2475 | ||
13d01224 | 2476 | int |
ff2e87ac | 2477 | gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) |
13d01224 AC |
2478 | { |
2479 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2480 | gdb_assert (gdbarch->convert_register_p != NULL); |
13d01224 | 2481 | if (gdbarch_debug >= 2) |
6cb06a8c | 2482 | gdb_printf (gdb_stdlog, "gdbarch_convert_register_p called\n"); |
0abe36f5 | 2483 | return gdbarch->convert_register_p (gdbarch, regnum, type); |
13d01224 AC |
2484 | } |
2485 | ||
2486 | void | |
2487 | set_gdbarch_convert_register_p (struct gdbarch *gdbarch, | |
adc48a49 | 2488 | gdbarch_convert_register_p_ftype convert_register_p) |
13d01224 AC |
2489 | { |
2490 | gdbarch->convert_register_p = convert_register_p; | |
2491 | } | |
2492 | ||
8dccd430 | 2493 | int |
bd2b40ac | 2494 | gdbarch_register_to_value (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep) |
13d01224 AC |
2495 | { |
2496 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2497 | gdb_assert (gdbarch->register_to_value != NULL); |
13d01224 | 2498 | if (gdbarch_debug >= 2) |
6cb06a8c | 2499 | gdb_printf (gdb_stdlog, "gdbarch_register_to_value called\n"); |
8dccd430 | 2500 | return gdbarch->register_to_value (frame, regnum, type, buf, optimizedp, unavailablep); |
13d01224 AC |
2501 | } |
2502 | ||
2503 | void | |
2504 | set_gdbarch_register_to_value (struct gdbarch *gdbarch, | |
adc48a49 | 2505 | gdbarch_register_to_value_ftype register_to_value) |
13d01224 AC |
2506 | { |
2507 | gdbarch->register_to_value = register_to_value; | |
2508 | } | |
2509 | ||
2510 | void | |
bd2b40ac | 2511 | gdbarch_value_to_register (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf) |
13d01224 AC |
2512 | { |
2513 | gdb_assert (gdbarch != NULL); | |
956ac328 | 2514 | gdb_assert (gdbarch->value_to_register != NULL); |
13d01224 | 2515 | if (gdbarch_debug >= 2) |
6cb06a8c | 2516 | gdb_printf (gdb_stdlog, "gdbarch_value_to_register called\n"); |
ff2e87ac | 2517 | gdbarch->value_to_register (frame, regnum, type, buf); |
13d01224 AC |
2518 | } |
2519 | ||
2520 | void | |
2521 | set_gdbarch_value_to_register (struct gdbarch *gdbarch, | |
adc48a49 | 2522 | gdbarch_value_to_register_ftype value_to_register) |
13d01224 AC |
2523 | { |
2524 | gdbarch->value_to_register = value_to_register; | |
2525 | } | |
2526 | ||
9acbedc0 | 2527 | struct value * |
2ed3c037 | 2528 | gdbarch_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id) |
9acbedc0 UW |
2529 | { |
2530 | gdb_assert (gdbarch != NULL); | |
2531 | gdb_assert (gdbarch->value_from_register != NULL); | |
2532 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2533 | gdb_printf (gdb_stdlog, "gdbarch_value_from_register called\n"); |
2ed3c037 | 2534 | return gdbarch->value_from_register (gdbarch, type, regnum, frame_id); |
9acbedc0 UW |
2535 | } |
2536 | ||
2537 | void | |
2538 | set_gdbarch_value_from_register (struct gdbarch *gdbarch, | |
adc48a49 | 2539 | gdbarch_value_from_register_ftype value_from_register) |
9acbedc0 UW |
2540 | { |
2541 | gdbarch->value_from_register = value_from_register; | |
2542 | } | |
2543 | ||
4478b372 | 2544 | CORE_ADDR |
b60c417a | 2545 | gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
4478b372 | 2546 | { |
8de9bdc4 | 2547 | gdb_assert (gdbarch != NULL); |
956ac328 | 2548 | gdb_assert (gdbarch->pointer_to_address != NULL); |
4478b372 | 2549 | if (gdbarch_debug >= 2) |
6cb06a8c | 2550 | gdb_printf (gdb_stdlog, "gdbarch_pointer_to_address called\n"); |
9898f801 | 2551 | return gdbarch->pointer_to_address (gdbarch, type, buf); |
4478b372 JB |
2552 | } |
2553 | ||
2554 | void | |
2555 | set_gdbarch_pointer_to_address (struct gdbarch *gdbarch, | |
adc48a49 | 2556 | gdbarch_pointer_to_address_ftype pointer_to_address) |
4478b372 JB |
2557 | { |
2558 | gdbarch->pointer_to_address = pointer_to_address; | |
2559 | } | |
2560 | ||
2561 | void | |
b60c417a | 2562 | gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) |
4478b372 | 2563 | { |
8de9bdc4 | 2564 | gdb_assert (gdbarch != NULL); |
956ac328 | 2565 | gdb_assert (gdbarch->address_to_pointer != NULL); |
4478b372 | 2566 | if (gdbarch_debug >= 2) |
6cb06a8c | 2567 | gdb_printf (gdb_stdlog, "gdbarch_address_to_pointer called\n"); |
9898f801 | 2568 | gdbarch->address_to_pointer (gdbarch, type, buf, addr); |
4478b372 JB |
2569 | } |
2570 | ||
2571 | void | |
2572 | set_gdbarch_address_to_pointer (struct gdbarch *gdbarch, | |
adc48a49 | 2573 | gdbarch_address_to_pointer_ftype address_to_pointer) |
4478b372 JB |
2574 | { |
2575 | gdbarch->address_to_pointer = address_to_pointer; | |
2576 | } | |
2577 | ||
39535193 | 2578 | bool |
fc0c74b1 AC |
2579 | gdbarch_integer_to_address_p (struct gdbarch *gdbarch) |
2580 | { | |
8de9bdc4 | 2581 | gdb_assert (gdbarch != NULL); |
956ac328 | 2582 | return gdbarch->integer_to_address != NULL; |
fc0c74b1 AC |
2583 | } |
2584 | ||
2585 | CORE_ADDR | |
fc1a4b47 | 2586 | gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
fc0c74b1 | 2587 | { |
8de9bdc4 | 2588 | gdb_assert (gdbarch != NULL); |
956ac328 | 2589 | gdb_assert (gdbarch->integer_to_address != NULL); |
fc0c74b1 | 2590 | if (gdbarch_debug >= 2) |
6cb06a8c | 2591 | gdb_printf (gdb_stdlog, "gdbarch_integer_to_address called\n"); |
79dd2d24 | 2592 | return gdbarch->integer_to_address (gdbarch, type, buf); |
fc0c74b1 AC |
2593 | } |
2594 | ||
2595 | void | |
2596 | set_gdbarch_integer_to_address (struct gdbarch *gdbarch, | |
adc48a49 | 2597 | gdbarch_integer_to_address_ftype integer_to_address) |
fc0c74b1 AC |
2598 | { |
2599 | gdbarch->integer_to_address = integer_to_address; | |
2600 | } | |
2601 | ||
92ad9cd9 AC |
2602 | void |
2603 | set_gdbarch_return_value (struct gdbarch *gdbarch, | |
adc48a49 | 2604 | gdbarch_return_value_ftype return_value) |
92ad9cd9 AC |
2605 | { |
2606 | gdbarch->return_value = return_value; | |
2607 | } | |
2608 | ||
4e1d2f58 TT |
2609 | enum return_value_convention |
2610 | gdbarch_return_value_as_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, struct value **read_value, const gdb_byte *writebuf) | |
2611 | { | |
2612 | gdb_assert (gdbarch != NULL); | |
2613 | gdb_assert (gdbarch->return_value_as_value != NULL); | |
2614 | if (gdbarch_debug >= 2) | |
2615 | gdb_printf (gdb_stdlog, "gdbarch_return_value_as_value called\n"); | |
2616 | return gdbarch->return_value_as_value (gdbarch, function, valtype, regcache, read_value, writebuf); | |
2617 | } | |
2618 | ||
2619 | void | |
2620 | set_gdbarch_return_value_as_value (struct gdbarch *gdbarch, | |
2621 | gdbarch_return_value_as_value_ftype return_value_as_value) | |
2622 | { | |
2623 | gdbarch->return_value_as_value = return_value_as_value; | |
2624 | } | |
2625 | ||
a0eda3df CL |
2626 | CORE_ADDR |
2627 | gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, struct type *val_type, frame_info_ptr cur_frame) | |
2628 | { | |
2629 | gdb_assert (gdbarch != NULL); | |
2630 | gdb_assert (gdbarch->get_return_buf_addr != NULL); | |
2631 | if (gdbarch_debug >= 2) | |
2632 | gdb_printf (gdb_stdlog, "gdbarch_get_return_buf_addr called\n"); | |
2633 | return gdbarch->get_return_buf_addr (val_type, cur_frame); | |
2634 | } | |
2635 | ||
2636 | void | |
2637 | set_gdbarch_get_return_buf_addr (struct gdbarch *gdbarch, | |
adc48a49 | 2638 | gdbarch_get_return_buf_addr_ftype get_return_buf_addr) |
a0eda3df CL |
2639 | { |
2640 | gdbarch->get_return_buf_addr = get_return_buf_addr; | |
2641 | } | |
2642 | ||
c1a398a3 CL |
2643 | bool |
2644 | gdbarch_dwarf2_omit_typedef_p (struct gdbarch *gdbarch, struct type *target_type, const char *producer, const char *name) | |
2645 | { | |
2646 | gdb_assert (gdbarch != NULL); | |
2647 | gdb_assert (gdbarch->dwarf2_omit_typedef_p != NULL); | |
2648 | if (gdbarch_debug >= 2) | |
2649 | gdb_printf (gdb_stdlog, "gdbarch_dwarf2_omit_typedef_p called\n"); | |
2650 | return gdbarch->dwarf2_omit_typedef_p (target_type, producer, name); | |
2651 | } | |
2652 | ||
2653 | void | |
2654 | set_gdbarch_dwarf2_omit_typedef_p (struct gdbarch *gdbarch, | |
2655 | gdbarch_dwarf2_omit_typedef_p_ftype dwarf2_omit_typedef_p) | |
2656 | { | |
2657 | gdbarch->dwarf2_omit_typedef_p = dwarf2_omit_typedef_p; | |
2658 | } | |
2659 | ||
9df25c34 TT |
2660 | CORE_ADDR |
2661 | gdbarch_update_call_site_pc (struct gdbarch *gdbarch, CORE_ADDR pc) | |
2662 | { | |
2663 | gdb_assert (gdbarch != NULL); | |
2664 | gdb_assert (gdbarch->update_call_site_pc != NULL); | |
2665 | if (gdbarch_debug >= 2) | |
2666 | gdb_printf (gdb_stdlog, "gdbarch_update_call_site_pc called\n"); | |
2667 | return gdbarch->update_call_site_pc (gdbarch, pc); | |
2668 | } | |
2669 | ||
2670 | void | |
2671 | set_gdbarch_update_call_site_pc (struct gdbarch *gdbarch, | |
2672 | gdbarch_update_call_site_pc_ftype update_call_site_pc) | |
2673 | { | |
2674 | gdbarch->update_call_site_pc = update_call_site_pc; | |
2675 | } | |
2676 | ||
18648a37 YQ |
2677 | int |
2678 | gdbarch_return_in_first_hidden_param_p (struct gdbarch *gdbarch, struct type *type) | |
2679 | { | |
2680 | gdb_assert (gdbarch != NULL); | |
2681 | gdb_assert (gdbarch->return_in_first_hidden_param_p != NULL); | |
2682 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2683 | gdb_printf (gdb_stdlog, "gdbarch_return_in_first_hidden_param_p called\n"); |
18648a37 YQ |
2684 | return gdbarch->return_in_first_hidden_param_p (gdbarch, type); |
2685 | } | |
2686 | ||
2687 | void | |
2688 | set_gdbarch_return_in_first_hidden_param_p (struct gdbarch *gdbarch, | |
adc48a49 | 2689 | gdbarch_return_in_first_hidden_param_p_ftype return_in_first_hidden_param_p) |
18648a37 YQ |
2690 | { |
2691 | gdbarch->return_in_first_hidden_param_p = return_in_first_hidden_param_p; | |
2692 | } | |
2693 | ||
0f71a2f6 JM |
2694 | CORE_ADDR |
2695 | gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip) | |
2696 | { | |
8de9bdc4 | 2697 | gdb_assert (gdbarch != NULL); |
956ac328 | 2698 | gdb_assert (gdbarch->skip_prologue != NULL); |
0f71a2f6 | 2699 | if (gdbarch_debug >= 2) |
6cb06a8c | 2700 | gdb_printf (gdb_stdlog, "gdbarch_skip_prologue called\n"); |
6093d2eb | 2701 | return gdbarch->skip_prologue (gdbarch, ip); |
0f71a2f6 JM |
2702 | } |
2703 | ||
2704 | void | |
104c1213 | 2705 | set_gdbarch_skip_prologue (struct gdbarch *gdbarch, |
adc48a49 | 2706 | gdbarch_skip_prologue_ftype skip_prologue) |
0f71a2f6 JM |
2707 | { |
2708 | gdbarch->skip_prologue = skip_prologue; | |
2709 | } | |
2710 | ||
39535193 | 2711 | bool |
4309257c PM |
2712 | gdbarch_skip_main_prologue_p (struct gdbarch *gdbarch) |
2713 | { | |
2714 | gdb_assert (gdbarch != NULL); | |
2715 | return gdbarch->skip_main_prologue != NULL; | |
2716 | } | |
2717 | ||
2718 | CORE_ADDR | |
2719 | gdbarch_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR ip) | |
2720 | { | |
2721 | gdb_assert (gdbarch != NULL); | |
2722 | gdb_assert (gdbarch->skip_main_prologue != NULL); | |
2723 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2724 | gdb_printf (gdb_stdlog, "gdbarch_skip_main_prologue called\n"); |
4309257c PM |
2725 | return gdbarch->skip_main_prologue (gdbarch, ip); |
2726 | } | |
2727 | ||
2728 | void | |
2729 | set_gdbarch_skip_main_prologue (struct gdbarch *gdbarch, | |
adc48a49 | 2730 | gdbarch_skip_main_prologue_ftype skip_main_prologue) |
4309257c PM |
2731 | { |
2732 | gdbarch->skip_main_prologue = skip_main_prologue; | |
2733 | } | |
2734 | ||
39535193 | 2735 | bool |
591a12a1 UW |
2736 | gdbarch_skip_entrypoint_p (struct gdbarch *gdbarch) |
2737 | { | |
2738 | gdb_assert (gdbarch != NULL); | |
2739 | return gdbarch->skip_entrypoint != NULL; | |
2740 | } | |
2741 | ||
2742 | CORE_ADDR | |
2743 | gdbarch_skip_entrypoint (struct gdbarch *gdbarch, CORE_ADDR ip) | |
2744 | { | |
2745 | gdb_assert (gdbarch != NULL); | |
2746 | gdb_assert (gdbarch->skip_entrypoint != NULL); | |
2747 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2748 | gdb_printf (gdb_stdlog, "gdbarch_skip_entrypoint called\n"); |
591a12a1 UW |
2749 | return gdbarch->skip_entrypoint (gdbarch, ip); |
2750 | } | |
2751 | ||
2752 | void | |
2753 | set_gdbarch_skip_entrypoint (struct gdbarch *gdbarch, | |
adc48a49 | 2754 | gdbarch_skip_entrypoint_ftype skip_entrypoint) |
591a12a1 UW |
2755 | { |
2756 | gdbarch->skip_entrypoint = skip_entrypoint; | |
2757 | } | |
2758 | ||
0f71a2f6 JM |
2759 | int |
2760 | gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs) | |
2761 | { | |
8de9bdc4 | 2762 | gdb_assert (gdbarch != NULL); |
956ac328 | 2763 | gdb_assert (gdbarch->inner_than != NULL); |
0f71a2f6 | 2764 | if (gdbarch_debug >= 2) |
6cb06a8c | 2765 | gdb_printf (gdb_stdlog, "gdbarch_inner_than called\n"); |
0f71a2f6 JM |
2766 | return gdbarch->inner_than (lhs, rhs); |
2767 | } | |
2768 | ||
2769 | void | |
104c1213 | 2770 | set_gdbarch_inner_than (struct gdbarch *gdbarch, |
adc48a49 | 2771 | gdbarch_inner_than_ftype inner_than) |
0f71a2f6 JM |
2772 | { |
2773 | gdbarch->inner_than = inner_than; | |
2774 | } | |
2775 | ||
fc1a4b47 | 2776 | const gdb_byte * |
adf40b2e | 2777 | gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr) |
0f71a2f6 | 2778 | { |
8de9bdc4 | 2779 | gdb_assert (gdbarch != NULL); |
956ac328 | 2780 | gdb_assert (gdbarch->breakpoint_from_pc != NULL); |
0f71a2f6 | 2781 | if (gdbarch_debug >= 2) |
6cb06a8c | 2782 | gdb_printf (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n"); |
67d57894 | 2783 | return gdbarch->breakpoint_from_pc (gdbarch, pcptr, lenptr); |
0f71a2f6 JM |
2784 | } |
2785 | ||
2786 | void | |
104c1213 | 2787 | set_gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, |
adc48a49 | 2788 | gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc) |
0f71a2f6 JM |
2789 | { |
2790 | gdbarch->breakpoint_from_pc = breakpoint_from_pc; | |
2791 | } | |
2792 | ||
cd6c3b4f YQ |
2793 | int |
2794 | gdbarch_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) | |
2795 | { | |
2796 | gdb_assert (gdbarch != NULL); | |
2797 | gdb_assert (gdbarch->breakpoint_kind_from_pc != NULL); | |
2798 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2799 | gdb_printf (gdb_stdlog, "gdbarch_breakpoint_kind_from_pc called\n"); |
cd6c3b4f YQ |
2800 | return gdbarch->breakpoint_kind_from_pc (gdbarch, pcptr); |
2801 | } | |
2802 | ||
2803 | void | |
2804 | set_gdbarch_breakpoint_kind_from_pc (struct gdbarch *gdbarch, | |
adc48a49 | 2805 | gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc) |
cd6c3b4f YQ |
2806 | { |
2807 | gdbarch->breakpoint_kind_from_pc = breakpoint_kind_from_pc; | |
2808 | } | |
2809 | ||
2810 | const gdb_byte * | |
2811 | gdbarch_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) | |
2812 | { | |
2813 | gdb_assert (gdbarch != NULL); | |
2814 | gdb_assert (gdbarch->sw_breakpoint_from_kind != NULL); | |
2815 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2816 | gdb_printf (gdb_stdlog, "gdbarch_sw_breakpoint_from_kind called\n"); |
cd6c3b4f YQ |
2817 | return gdbarch->sw_breakpoint_from_kind (gdbarch, kind, size); |
2818 | } | |
2819 | ||
2820 | void | |
2821 | set_gdbarch_sw_breakpoint_from_kind (struct gdbarch *gdbarch, | |
adc48a49 | 2822 | gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind) |
cd6c3b4f YQ |
2823 | { |
2824 | gdbarch->sw_breakpoint_from_kind = sw_breakpoint_from_kind; | |
2825 | } | |
2826 | ||
833b7ab5 YQ |
2827 | int |
2828 | gdbarch_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR *pcptr) | |
2829 | { | |
2830 | gdb_assert (gdbarch != NULL); | |
2831 | gdb_assert (gdbarch->breakpoint_kind_from_current_state != NULL); | |
2832 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2833 | gdb_printf (gdb_stdlog, "gdbarch_breakpoint_kind_from_current_state called\n"); |
833b7ab5 YQ |
2834 | return gdbarch->breakpoint_kind_from_current_state (gdbarch, regcache, pcptr); |
2835 | } | |
2836 | ||
2837 | void | |
2838 | set_gdbarch_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, | |
adc48a49 | 2839 | gdbarch_breakpoint_kind_from_current_state_ftype breakpoint_kind_from_current_state) |
833b7ab5 YQ |
2840 | { |
2841 | gdbarch->breakpoint_kind_from_current_state = breakpoint_kind_from_current_state; | |
2842 | } | |
2843 | ||
39535193 | 2844 | bool |
a1131521 KB |
2845 | gdbarch_adjust_breakpoint_address_p (struct gdbarch *gdbarch) |
2846 | { | |
2847 | gdb_assert (gdbarch != NULL); | |
2848 | return gdbarch->adjust_breakpoint_address != NULL; | |
2849 | } | |
2850 | ||
2851 | CORE_ADDR | |
2852 | gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr) | |
2853 | { | |
2854 | gdb_assert (gdbarch != NULL); | |
2855 | gdb_assert (gdbarch->adjust_breakpoint_address != NULL); | |
2856 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2857 | gdb_printf (gdb_stdlog, "gdbarch_adjust_breakpoint_address called\n"); |
a1131521 KB |
2858 | return gdbarch->adjust_breakpoint_address (gdbarch, bpaddr); |
2859 | } | |
2860 | ||
2861 | void | |
2862 | set_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, | |
adc48a49 | 2863 | gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address) |
a1131521 KB |
2864 | { |
2865 | gdbarch->adjust_breakpoint_address = adjust_breakpoint_address; | |
2866 | } | |
2867 | ||
917317f4 | 2868 | int |
8181d85f | 2869 | gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
917317f4 | 2870 | { |
8de9bdc4 | 2871 | gdb_assert (gdbarch != NULL); |
956ac328 | 2872 | gdb_assert (gdbarch->memory_insert_breakpoint != NULL); |
917317f4 | 2873 | if (gdbarch_debug >= 2) |
6cb06a8c | 2874 | gdb_printf (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n"); |
ae4b2284 | 2875 | return gdbarch->memory_insert_breakpoint (gdbarch, bp_tgt); |
917317f4 JM |
2876 | } |
2877 | ||
2878 | void | |
2879 | set_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, | |
adc48a49 | 2880 | gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint) |
917317f4 JM |
2881 | { |
2882 | gdbarch->memory_insert_breakpoint = memory_insert_breakpoint; | |
2883 | } | |
2884 | ||
2885 | int | |
8181d85f | 2886 | gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
917317f4 | 2887 | { |
8de9bdc4 | 2888 | gdb_assert (gdbarch != NULL); |
956ac328 | 2889 | gdb_assert (gdbarch->memory_remove_breakpoint != NULL); |
917317f4 | 2890 | if (gdbarch_debug >= 2) |
6cb06a8c | 2891 | gdb_printf (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n"); |
ae4b2284 | 2892 | return gdbarch->memory_remove_breakpoint (gdbarch, bp_tgt); |
917317f4 JM |
2893 | } |
2894 | ||
2895 | void | |
2896 | set_gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, | |
adc48a49 | 2897 | gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint) |
917317f4 JM |
2898 | { |
2899 | gdbarch->memory_remove_breakpoint = memory_remove_breakpoint; | |
2900 | } | |
2901 | ||
0f71a2f6 | 2902 | CORE_ADDR |
104c1213 | 2903 | gdbarch_decr_pc_after_break (struct gdbarch *gdbarch) |
0f71a2f6 | 2904 | { |
8de9bdc4 | 2905 | gdb_assert (gdbarch != NULL); |
71bd6bd4 | 2906 | /* Skip verify of decr_pc_after_break, invalid_p == 0 */ |
0f71a2f6 | 2907 | if (gdbarch_debug >= 2) |
6cb06a8c | 2908 | gdb_printf (gdb_stdlog, "gdbarch_decr_pc_after_break called\n"); |
0f71a2f6 JM |
2909 | return gdbarch->decr_pc_after_break; |
2910 | } | |
2911 | ||
2912 | void | |
104c1213 | 2913 | set_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch, |
adc48a49 | 2914 | CORE_ADDR decr_pc_after_break) |
0f71a2f6 JM |
2915 | { |
2916 | gdbarch->decr_pc_after_break = decr_pc_after_break; | |
2917 | } | |
2918 | ||
2919 | CORE_ADDR | |
782263ab | 2920 | gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch) |
0f71a2f6 | 2921 | { |
8de9bdc4 | 2922 | gdb_assert (gdbarch != NULL); |
782263ab | 2923 | /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */ |
0f71a2f6 | 2924 | if (gdbarch_debug >= 2) |
6cb06a8c | 2925 | gdb_printf (gdb_stdlog, "gdbarch_deprecated_function_start_offset called\n"); |
782263ab | 2926 | return gdbarch->deprecated_function_start_offset; |
0f71a2f6 JM |
2927 | } |
2928 | ||
2929 | void | |
782263ab | 2930 | set_gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch, |
adc48a49 | 2931 | CORE_ADDR deprecated_function_start_offset) |
0f71a2f6 | 2932 | { |
782263ab | 2933 | gdbarch->deprecated_function_start_offset = deprecated_function_start_offset; |
0f71a2f6 JM |
2934 | } |
2935 | ||
123dc839 DJ |
2936 | int |
2937 | gdbarch_remote_register_number (struct gdbarch *gdbarch, int regno) | |
2938 | { | |
2939 | gdb_assert (gdbarch != NULL); | |
2940 | gdb_assert (gdbarch->remote_register_number != NULL); | |
2941 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2942 | gdb_printf (gdb_stdlog, "gdbarch_remote_register_number called\n"); |
123dc839 DJ |
2943 | return gdbarch->remote_register_number (gdbarch, regno); |
2944 | } | |
2945 | ||
2946 | void | |
2947 | set_gdbarch_remote_register_number (struct gdbarch *gdbarch, | |
adc48a49 | 2948 | gdbarch_remote_register_number_ftype remote_register_number) |
123dc839 DJ |
2949 | { |
2950 | gdbarch->remote_register_number = remote_register_number; | |
2951 | } | |
2952 | ||
39535193 | 2953 | bool |
b2756930 KB |
2954 | gdbarch_fetch_tls_load_module_address_p (struct gdbarch *gdbarch) |
2955 | { | |
2956 | gdb_assert (gdbarch != NULL); | |
2957 | return gdbarch->fetch_tls_load_module_address != NULL; | |
2958 | } | |
2959 | ||
2960 | CORE_ADDR | |
2961 | gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch, struct objfile *objfile) | |
2962 | { | |
2963 | gdb_assert (gdbarch != NULL); | |
2964 | gdb_assert (gdbarch->fetch_tls_load_module_address != NULL); | |
2965 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2966 | gdb_printf (gdb_stdlog, "gdbarch_fetch_tls_load_module_address called\n"); |
b2756930 KB |
2967 | return gdbarch->fetch_tls_load_module_address (objfile); |
2968 | } | |
2969 | ||
2970 | void | |
2971 | set_gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch, | |
adc48a49 | 2972 | gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address) |
b2756930 KB |
2973 | { |
2974 | gdbarch->fetch_tls_load_module_address = fetch_tls_load_module_address; | |
2975 | } | |
2976 | ||
39535193 | 2977 | bool |
6e056c81 JB |
2978 | gdbarch_get_thread_local_address_p (struct gdbarch *gdbarch) |
2979 | { | |
2980 | gdb_assert (gdbarch != NULL); | |
2981 | return gdbarch->get_thread_local_address != NULL; | |
2982 | } | |
2983 | ||
2984 | CORE_ADDR | |
2985 | gdbarch_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset) | |
2986 | { | |
2987 | gdb_assert (gdbarch != NULL); | |
2988 | gdb_assert (gdbarch->get_thread_local_address != NULL); | |
2989 | if (gdbarch_debug >= 2) | |
6cb06a8c | 2990 | gdb_printf (gdb_stdlog, "gdbarch_get_thread_local_address called\n"); |
6e056c81 JB |
2991 | return gdbarch->get_thread_local_address (gdbarch, ptid, lm_addr, offset); |
2992 | } | |
2993 | ||
2994 | void | |
2995 | set_gdbarch_get_thread_local_address (struct gdbarch *gdbarch, | |
adc48a49 | 2996 | gdbarch_get_thread_local_address_ftype get_thread_local_address) |
6e056c81 JB |
2997 | { |
2998 | gdbarch->get_thread_local_address = get_thread_local_address; | |
2999 | } | |
3000 | ||
0f71a2f6 | 3001 | CORE_ADDR |
104c1213 | 3002 | gdbarch_frame_args_skip (struct gdbarch *gdbarch) |
0f71a2f6 | 3003 | { |
8de9bdc4 | 3004 | gdb_assert (gdbarch != NULL); |
5867a2fb | 3005 | /* Skip verify of frame_args_skip, invalid_p == 0 */ |
0f71a2f6 | 3006 | if (gdbarch_debug >= 2) |
6cb06a8c | 3007 | gdb_printf (gdb_stdlog, "gdbarch_frame_args_skip called\n"); |
0f71a2f6 JM |
3008 | return gdbarch->frame_args_skip; |
3009 | } | |
3010 | ||
3011 | void | |
104c1213 | 3012 | set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, |
adc48a49 | 3013 | CORE_ADDR frame_args_skip) |
0f71a2f6 JM |
3014 | { |
3015 | gdbarch->frame_args_skip = frame_args_skip; | |
3016 | } | |
3017 | ||
12cc2063 | 3018 | CORE_ADDR |
bd2b40ac | 3019 | gdbarch_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) |
12cc2063 AC |
3020 | { |
3021 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3022 | gdb_assert (gdbarch->unwind_pc != NULL); |
12cc2063 | 3023 | if (gdbarch_debug >= 2) |
6cb06a8c | 3024 | gdb_printf (gdb_stdlog, "gdbarch_unwind_pc called\n"); |
12cc2063 AC |
3025 | return gdbarch->unwind_pc (gdbarch, next_frame); |
3026 | } | |
3027 | ||
3028 | void | |
3029 | set_gdbarch_unwind_pc (struct gdbarch *gdbarch, | |
adc48a49 | 3030 | gdbarch_unwind_pc_ftype unwind_pc) |
12cc2063 AC |
3031 | { |
3032 | gdbarch->unwind_pc = unwind_pc; | |
3033 | } | |
3034 | ||
a9e5fdc2 | 3035 | CORE_ADDR |
bd2b40ac | 3036 | gdbarch_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) |
a9e5fdc2 AC |
3037 | { |
3038 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3039 | gdb_assert (gdbarch->unwind_sp != NULL); |
a9e5fdc2 | 3040 | if (gdbarch_debug >= 2) |
6cb06a8c | 3041 | gdb_printf (gdb_stdlog, "gdbarch_unwind_sp called\n"); |
a9e5fdc2 AC |
3042 | return gdbarch->unwind_sp (gdbarch, next_frame); |
3043 | } | |
3044 | ||
3045 | void | |
3046 | set_gdbarch_unwind_sp (struct gdbarch *gdbarch, | |
adc48a49 | 3047 | gdbarch_unwind_sp_ftype unwind_sp) |
a9e5fdc2 AC |
3048 | { |
3049 | gdbarch->unwind_sp = unwind_sp; | |
3050 | } | |
3051 | ||
39535193 | 3052 | bool |
983a287a AC |
3053 | gdbarch_frame_num_args_p (struct gdbarch *gdbarch) |
3054 | { | |
3055 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3056 | return gdbarch->frame_num_args != NULL; |
983a287a AC |
3057 | } |
3058 | ||
0f71a2f6 | 3059 | int |
bd2b40ac | 3060 | gdbarch_frame_num_args (struct gdbarch *gdbarch, frame_info_ptr frame) |
0f71a2f6 | 3061 | { |
8de9bdc4 | 3062 | gdb_assert (gdbarch != NULL); |
956ac328 | 3063 | gdb_assert (gdbarch->frame_num_args != NULL); |
0f71a2f6 | 3064 | if (gdbarch_debug >= 2) |
6cb06a8c | 3065 | gdb_printf (gdb_stdlog, "gdbarch_frame_num_args called\n"); |
0f71a2f6 JM |
3066 | return gdbarch->frame_num_args (frame); |
3067 | } | |
3068 | ||
3069 | void | |
104c1213 | 3070 | set_gdbarch_frame_num_args (struct gdbarch *gdbarch, |
adc48a49 | 3071 | gdbarch_frame_num_args_ftype frame_num_args) |
0f71a2f6 JM |
3072 | { |
3073 | gdbarch->frame_num_args = frame_num_args; | |
3074 | } | |
3075 | ||
39535193 | 3076 | bool |
dc604539 AC |
3077 | gdbarch_frame_align_p (struct gdbarch *gdbarch) |
3078 | { | |
3079 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3080 | return gdbarch->frame_align != NULL; |
dc604539 AC |
3081 | } |
3082 | ||
3083 | CORE_ADDR | |
3084 | gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address) | |
3085 | { | |
3086 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3087 | gdb_assert (gdbarch->frame_align != NULL); |
dc604539 | 3088 | if (gdbarch_debug >= 2) |
6cb06a8c | 3089 | gdb_printf (gdb_stdlog, "gdbarch_frame_align called\n"); |
dc604539 AC |
3090 | return gdbarch->frame_align (gdbarch, address); |
3091 | } | |
3092 | ||
3093 | void | |
3094 | set_gdbarch_frame_align (struct gdbarch *gdbarch, | |
adc48a49 | 3095 | gdbarch_frame_align_ftype frame_align) |
dc604539 AC |
3096 | { |
3097 | gdbarch->frame_align = frame_align; | |
3098 | } | |
3099 | ||
192cb3d4 MK |
3100 | int |
3101 | gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type) | |
3102 | { | |
3103 | gdb_assert (gdbarch != NULL); | |
3104 | gdb_assert (gdbarch->stabs_argument_has_addr != NULL); | |
3105 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3106 | gdb_printf (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n"); |
192cb3d4 MK |
3107 | return gdbarch->stabs_argument_has_addr (gdbarch, type); |
3108 | } | |
3109 | ||
3110 | void | |
3111 | set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, | |
adc48a49 | 3112 | gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr) |
192cb3d4 MK |
3113 | { |
3114 | gdbarch->stabs_argument_has_addr = stabs_argument_has_addr; | |
3115 | } | |
3116 | ||
8b148df9 AC |
3117 | int |
3118 | gdbarch_frame_red_zone_size (struct gdbarch *gdbarch) | |
3119 | { | |
3120 | gdb_assert (gdbarch != NULL); | |
a5118a18 | 3121 | /* Skip verify of frame_red_zone_size, invalid_p == 0 */ |
8b148df9 | 3122 | if (gdbarch_debug >= 2) |
6cb06a8c | 3123 | gdb_printf (gdb_stdlog, "gdbarch_frame_red_zone_size called\n"); |
8b148df9 AC |
3124 | return gdbarch->frame_red_zone_size; |
3125 | } | |
3126 | ||
3127 | void | |
3128 | set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch, | |
adc48a49 | 3129 | int frame_red_zone_size) |
8b148df9 AC |
3130 | { |
3131 | gdbarch->frame_red_zone_size = frame_red_zone_size; | |
3132 | } | |
3133 | ||
f517ea4e | 3134 | CORE_ADDR |
e2d0e7eb | 3135 | gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ) |
f517ea4e | 3136 | { |
8de9bdc4 | 3137 | gdb_assert (gdbarch != NULL); |
956ac328 | 3138 | gdb_assert (gdbarch->convert_from_func_ptr_addr != NULL); |
f517ea4e | 3139 | if (gdbarch_debug >= 2) |
6cb06a8c | 3140 | gdb_printf (gdb_stdlog, "gdbarch_convert_from_func_ptr_addr called\n"); |
e2d0e7eb | 3141 | return gdbarch->convert_from_func_ptr_addr (gdbarch, addr, targ); |
f517ea4e PS |
3142 | } |
3143 | ||
3144 | void | |
3145 | set_gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, | |
adc48a49 | 3146 | gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr) |
f517ea4e PS |
3147 | { |
3148 | gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr; | |
3149 | } | |
3150 | ||
875e1767 AC |
3151 | CORE_ADDR |
3152 | gdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr) | |
3153 | { | |
8de9bdc4 | 3154 | gdb_assert (gdbarch != NULL); |
956ac328 | 3155 | gdb_assert (gdbarch->addr_bits_remove != NULL); |
875e1767 | 3156 | if (gdbarch_debug >= 2) |
6cb06a8c | 3157 | gdb_printf (gdb_stdlog, "gdbarch_addr_bits_remove called\n"); |
24568a2c | 3158 | return gdbarch->addr_bits_remove (gdbarch, addr); |
875e1767 AC |
3159 | } |
3160 | ||
3161 | void | |
3162 | set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch, | |
adc48a49 | 3163 | gdbarch_addr_bits_remove_ftype addr_bits_remove) |
875e1767 AC |
3164 | { |
3165 | gdbarch->addr_bits_remove = addr_bits_remove; | |
3166 | } | |
3167 | ||
d88cb738 LM |
3168 | CORE_ADDR |
3169 | gdbarch_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer) | |
a738ea1d YQ |
3170 | { |
3171 | gdb_assert (gdbarch != NULL); | |
d88cb738 | 3172 | gdb_assert (gdbarch->remove_non_address_bits != NULL); |
a738ea1d | 3173 | if (gdbarch_debug >= 2) |
d88cb738 LM |
3174 | gdb_printf (gdb_stdlog, "gdbarch_remove_non_address_bits called\n"); |
3175 | return gdbarch->remove_non_address_bits (gdbarch, pointer); | |
a738ea1d YQ |
3176 | } |
3177 | ||
3178 | void | |
d88cb738 LM |
3179 | set_gdbarch_remove_non_address_bits (struct gdbarch *gdbarch, |
3180 | gdbarch_remove_non_address_bits_ftype remove_non_address_bits) | |
a738ea1d | 3181 | { |
d88cb738 | 3182 | gdbarch->remove_non_address_bits = remove_non_address_bits; |
a738ea1d YQ |
3183 | } |
3184 | ||
c193949e LM |
3185 | std::string |
3186 | gdbarch_memtag_to_string (struct gdbarch *gdbarch, struct value *tag) | |
3187 | { | |
3188 | gdb_assert (gdbarch != NULL); | |
3189 | gdb_assert (gdbarch->memtag_to_string != NULL); | |
3190 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3191 | gdb_printf (gdb_stdlog, "gdbarch_memtag_to_string called\n"); |
c193949e LM |
3192 | return gdbarch->memtag_to_string (gdbarch, tag); |
3193 | } | |
3194 | ||
3195 | void | |
3196 | set_gdbarch_memtag_to_string (struct gdbarch *gdbarch, | |
adc48a49 | 3197 | gdbarch_memtag_to_string_ftype memtag_to_string) |
c193949e LM |
3198 | { |
3199 | gdbarch->memtag_to_string = memtag_to_string; | |
3200 | } | |
3201 | ||
3202 | bool | |
3203 | gdbarch_tagged_address_p (struct gdbarch *gdbarch, struct value *address) | |
3204 | { | |
3205 | gdb_assert (gdbarch != NULL); | |
3206 | gdb_assert (gdbarch->tagged_address_p != NULL); | |
3207 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3208 | gdb_printf (gdb_stdlog, "gdbarch_tagged_address_p called\n"); |
c193949e LM |
3209 | return gdbarch->tagged_address_p (gdbarch, address); |
3210 | } | |
3211 | ||
3212 | void | |
3213 | set_gdbarch_tagged_address_p (struct gdbarch *gdbarch, | |
adc48a49 | 3214 | gdbarch_tagged_address_p_ftype tagged_address_p) |
c193949e LM |
3215 | { |
3216 | gdbarch->tagged_address_p = tagged_address_p; | |
3217 | } | |
3218 | ||
3219 | bool | |
3220 | gdbarch_memtag_matches_p (struct gdbarch *gdbarch, struct value *address) | |
3221 | { | |
3222 | gdb_assert (gdbarch != NULL); | |
3223 | gdb_assert (gdbarch->memtag_matches_p != NULL); | |
3224 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3225 | gdb_printf (gdb_stdlog, "gdbarch_memtag_matches_p called\n"); |
c193949e LM |
3226 | return gdbarch->memtag_matches_p (gdbarch, address); |
3227 | } | |
3228 | ||
3229 | void | |
3230 | set_gdbarch_memtag_matches_p (struct gdbarch *gdbarch, | |
adc48a49 | 3231 | gdbarch_memtag_matches_p_ftype memtag_matches_p) |
c193949e LM |
3232 | { |
3233 | gdbarch->memtag_matches_p = memtag_matches_p; | |
3234 | } | |
3235 | ||
3236 | bool | |
3237 | gdbarch_set_memtags (struct gdbarch *gdbarch, struct value *address, size_t length, const gdb::byte_vector &tags, memtag_type tag_type) | |
3238 | { | |
3239 | gdb_assert (gdbarch != NULL); | |
3240 | gdb_assert (gdbarch->set_memtags != NULL); | |
3241 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3242 | gdb_printf (gdb_stdlog, "gdbarch_set_memtags called\n"); |
c193949e LM |
3243 | return gdbarch->set_memtags (gdbarch, address, length, tags, tag_type); |
3244 | } | |
3245 | ||
3246 | void | |
3247 | set_gdbarch_set_memtags (struct gdbarch *gdbarch, | |
adc48a49 | 3248 | gdbarch_set_memtags_ftype set_memtags) |
c193949e LM |
3249 | { |
3250 | gdbarch->set_memtags = set_memtags; | |
3251 | } | |
3252 | ||
3253 | struct value * | |
3254 | gdbarch_get_memtag (struct gdbarch *gdbarch, struct value *address, memtag_type tag_type) | |
3255 | { | |
3256 | gdb_assert (gdbarch != NULL); | |
3257 | gdb_assert (gdbarch->get_memtag != NULL); | |
3258 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3259 | gdb_printf (gdb_stdlog, "gdbarch_get_memtag called\n"); |
c193949e LM |
3260 | return gdbarch->get_memtag (gdbarch, address, tag_type); |
3261 | } | |
3262 | ||
3263 | void | |
3264 | set_gdbarch_get_memtag (struct gdbarch *gdbarch, | |
adc48a49 | 3265 | gdbarch_get_memtag_ftype get_memtag) |
c193949e LM |
3266 | { |
3267 | gdbarch->get_memtag = get_memtag; | |
3268 | } | |
3269 | ||
3270 | CORE_ADDR | |
3271 | gdbarch_memtag_granule_size (struct gdbarch *gdbarch) | |
3272 | { | |
3273 | gdb_assert (gdbarch != NULL); | |
3274 | /* Skip verify of memtag_granule_size, invalid_p == 0 */ | |
3275 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3276 | gdb_printf (gdb_stdlog, "gdbarch_memtag_granule_size called\n"); |
c193949e LM |
3277 | return gdbarch->memtag_granule_size; |
3278 | } | |
3279 | ||
3280 | void | |
3281 | set_gdbarch_memtag_granule_size (struct gdbarch *gdbarch, | |
adc48a49 | 3282 | CORE_ADDR memtag_granule_size) |
c193949e LM |
3283 | { |
3284 | gdbarch->memtag_granule_size = memtag_granule_size; | |
3285 | } | |
3286 | ||
39535193 | 3287 | bool |
64c4637f AC |
3288 | gdbarch_software_single_step_p (struct gdbarch *gdbarch) |
3289 | { | |
8de9bdc4 | 3290 | gdb_assert (gdbarch != NULL); |
956ac328 | 3291 | return gdbarch->software_single_step != NULL; |
64c4637f AC |
3292 | } |
3293 | ||
a0ff9e1a | 3294 | std::vector<CORE_ADDR> |
f5ea389a | 3295 | gdbarch_software_single_step (struct gdbarch *gdbarch, struct regcache *regcache) |
64c4637f | 3296 | { |
8de9bdc4 | 3297 | gdb_assert (gdbarch != NULL); |
956ac328 | 3298 | gdb_assert (gdbarch->software_single_step != NULL); |
64c4637f | 3299 | if (gdbarch_debug >= 2) |
6cb06a8c | 3300 | gdb_printf (gdb_stdlog, "gdbarch_software_single_step called\n"); |
f5ea389a | 3301 | return gdbarch->software_single_step (regcache); |
64c4637f AC |
3302 | } |
3303 | ||
3304 | void | |
3305 | set_gdbarch_software_single_step (struct gdbarch *gdbarch, | |
adc48a49 | 3306 | gdbarch_software_single_step_ftype software_single_step) |
64c4637f AC |
3307 | { |
3308 | gdbarch->software_single_step = software_single_step; | |
3309 | } | |
3310 | ||
39535193 | 3311 | bool |
3352ef37 AC |
3312 | gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch) |
3313 | { | |
3314 | gdb_assert (gdbarch != NULL); | |
3315 | return gdbarch->single_step_through_delay != NULL; | |
3316 | } | |
3317 | ||
3318 | int | |
bd2b40ac | 3319 | gdbarch_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr frame) |
3352ef37 AC |
3320 | { |
3321 | gdb_assert (gdbarch != NULL); | |
3322 | gdb_assert (gdbarch->single_step_through_delay != NULL); | |
3323 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3324 | gdb_printf (gdb_stdlog, "gdbarch_single_step_through_delay called\n"); |
3352ef37 AC |
3325 | return gdbarch->single_step_through_delay (gdbarch, frame); |
3326 | } | |
3327 | ||
3328 | void | |
3329 | set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch, | |
adc48a49 | 3330 | gdbarch_single_step_through_delay_ftype single_step_through_delay) |
3352ef37 AC |
3331 | { |
3332 | gdbarch->single_step_through_delay = single_step_through_delay; | |
3333 | } | |
3334 | ||
2bf0cb65 | 3335 | int |
a89aa300 | 3336 | gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info) |
2bf0cb65 | 3337 | { |
8de9bdc4 | 3338 | gdb_assert (gdbarch != NULL); |
956ac328 | 3339 | gdb_assert (gdbarch->print_insn != NULL); |
2bf0cb65 | 3340 | if (gdbarch_debug >= 2) |
6cb06a8c | 3341 | gdb_printf (gdb_stdlog, "gdbarch_print_insn called\n"); |
2bf0cb65 EZ |
3342 | return gdbarch->print_insn (vma, info); |
3343 | } | |
3344 | ||
3345 | void | |
3346 | set_gdbarch_print_insn (struct gdbarch *gdbarch, | |
adc48a49 | 3347 | gdbarch_print_insn_ftype print_insn) |
2bf0cb65 EZ |
3348 | { |
3349 | gdbarch->print_insn = print_insn; | |
3350 | } | |
3351 | ||
bdcd319a | 3352 | CORE_ADDR |
bd2b40ac | 3353 | gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) |
bdcd319a | 3354 | { |
8de9bdc4 | 3355 | gdb_assert (gdbarch != NULL); |
956ac328 | 3356 | gdb_assert (gdbarch->skip_trampoline_code != NULL); |
bdcd319a | 3357 | if (gdbarch_debug >= 2) |
6cb06a8c | 3358 | gdb_printf (gdb_stdlog, "gdbarch_skip_trampoline_code called\n"); |
52f729a7 | 3359 | return gdbarch->skip_trampoline_code (frame, pc); |
bdcd319a CV |
3360 | } |
3361 | ||
3362 | void | |
3363 | set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, | |
adc48a49 | 3364 | gdbarch_skip_trampoline_code_ftype skip_trampoline_code) |
bdcd319a CV |
3365 | { |
3366 | gdbarch->skip_trampoline_code = skip_trampoline_code; | |
3367 | } | |
3368 | ||
9e468e95 TT |
3369 | const struct target_so_ops * |
3370 | gdbarch_so_ops (struct gdbarch *gdbarch) | |
3371 | { | |
3372 | gdb_assert (gdbarch != NULL); | |
6e2d282d | 3373 | /* Skip verify of so_ops, invalid_p == 0 */ |
9e468e95 TT |
3374 | if (gdbarch_debug >= 2) |
3375 | gdb_printf (gdb_stdlog, "gdbarch_so_ops called\n"); | |
3376 | return gdbarch->so_ops; | |
3377 | } | |
3378 | ||
3379 | void | |
3380 | set_gdbarch_so_ops (struct gdbarch *gdbarch, | |
adc48a49 | 3381 | const struct target_so_ops * so_ops) |
9e468e95 TT |
3382 | { |
3383 | gdbarch->so_ops = so_ops; | |
3384 | } | |
3385 | ||
dea0c52f MK |
3386 | CORE_ADDR |
3387 | gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc) | |
3388 | { | |
3389 | gdb_assert (gdbarch != NULL); | |
3390 | gdb_assert (gdbarch->skip_solib_resolver != NULL); | |
3391 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3392 | gdb_printf (gdb_stdlog, "gdbarch_skip_solib_resolver called\n"); |
4c8c40e6 | 3393 | return gdbarch->skip_solib_resolver (gdbarch, pc); |
dea0c52f MK |
3394 | } |
3395 | ||
3396 | void | |
3397 | set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, | |
adc48a49 | 3398 | gdbarch_skip_solib_resolver_ftype skip_solib_resolver) |
dea0c52f MK |
3399 | { |
3400 | gdbarch->skip_solib_resolver = skip_solib_resolver; | |
3401 | } | |
3402 | ||
d50355b6 | 3403 | int |
2c02bd72 | 3404 | gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name) |
d50355b6 MS |
3405 | { |
3406 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3407 | gdb_assert (gdbarch->in_solib_return_trampoline != NULL); |
d50355b6 | 3408 | if (gdbarch_debug >= 2) |
6cb06a8c | 3409 | gdb_printf (gdb_stdlog, "gdbarch_in_solib_return_trampoline called\n"); |
e17a4113 | 3410 | return gdbarch->in_solib_return_trampoline (gdbarch, pc, name); |
d50355b6 MS |
3411 | } |
3412 | ||
3413 | void | |
3414 | set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, | |
adc48a49 | 3415 | gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline) |
d50355b6 MS |
3416 | { |
3417 | gdbarch->in_solib_return_trampoline = in_solib_return_trampoline; | |
3418 | } | |
3419 | ||
1d509aa6 MM |
3420 | bool |
3421 | gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc) | |
3422 | { | |
3423 | gdb_assert (gdbarch != NULL); | |
3424 | gdb_assert (gdbarch->in_indirect_branch_thunk != NULL); | |
3425 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3426 | gdb_printf (gdb_stdlog, "gdbarch_in_indirect_branch_thunk called\n"); |
1d509aa6 MM |
3427 | return gdbarch->in_indirect_branch_thunk (gdbarch, pc); |
3428 | } | |
3429 | ||
3430 | void | |
3431 | set_gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, | |
adc48a49 | 3432 | gdbarch_in_indirect_branch_thunk_ftype in_indirect_branch_thunk) |
1d509aa6 MM |
3433 | { |
3434 | gdbarch->in_indirect_branch_thunk = in_indirect_branch_thunk; | |
3435 | } | |
3436 | ||
c12260ac | 3437 | int |
c9cf6e20 | 3438 | gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr) |
c12260ac | 3439 | { |
8de9bdc4 | 3440 | gdb_assert (gdbarch != NULL); |
c9cf6e20 | 3441 | gdb_assert (gdbarch->stack_frame_destroyed_p != NULL); |
c12260ac | 3442 | if (gdbarch_debug >= 2) |
6cb06a8c | 3443 | gdb_printf (gdb_stdlog, "gdbarch_stack_frame_destroyed_p called\n"); |
c9cf6e20 | 3444 | return gdbarch->stack_frame_destroyed_p (gdbarch, addr); |
c12260ac CV |
3445 | } |
3446 | ||
3447 | void | |
c9cf6e20 | 3448 | set_gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, |
adc48a49 | 3449 | gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p) |
c12260ac | 3450 | { |
c9cf6e20 | 3451 | gdbarch->stack_frame_destroyed_p = stack_frame_destroyed_p; |
c12260ac CV |
3452 | } |
3453 | ||
39535193 | 3454 | bool |
3e29f34a MR |
3455 | gdbarch_elf_make_msymbol_special_p (struct gdbarch *gdbarch) |
3456 | { | |
3457 | gdb_assert (gdbarch != NULL); | |
3458 | return gdbarch->elf_make_msymbol_special != NULL; | |
3459 | } | |
3460 | ||
a2cf933a EZ |
3461 | void |
3462 | gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym) | |
3463 | { | |
8de9bdc4 | 3464 | gdb_assert (gdbarch != NULL); |
956ac328 | 3465 | gdb_assert (gdbarch->elf_make_msymbol_special != NULL); |
a2cf933a | 3466 | if (gdbarch_debug >= 2) |
6cb06a8c | 3467 | gdb_printf (gdb_stdlog, "gdbarch_elf_make_msymbol_special called\n"); |
a2cf933a EZ |
3468 | gdbarch->elf_make_msymbol_special (sym, msym); |
3469 | } | |
3470 | ||
3471 | void | |
3472 | set_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, | |
adc48a49 | 3473 | gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special) |
a2cf933a EZ |
3474 | { |
3475 | gdbarch->elf_make_msymbol_special = elf_make_msymbol_special; | |
3476 | } | |
3477 | ||
3478 | void | |
3479 | gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym) | |
3480 | { | |
8de9bdc4 | 3481 | gdb_assert (gdbarch != NULL); |
956ac328 | 3482 | gdb_assert (gdbarch->coff_make_msymbol_special != NULL); |
a2cf933a | 3483 | if (gdbarch_debug >= 2) |
6cb06a8c | 3484 | gdb_printf (gdb_stdlog, "gdbarch_coff_make_msymbol_special called\n"); |
a2cf933a EZ |
3485 | gdbarch->coff_make_msymbol_special (val, msym); |
3486 | } | |
3487 | ||
3488 | void | |
3489 | set_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, | |
adc48a49 | 3490 | gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special) |
a2cf933a EZ |
3491 | { |
3492 | gdbarch->coff_make_msymbol_special = coff_make_msymbol_special; | |
3493 | } | |
3494 | ||
3e29f34a MR |
3495 | void |
3496 | gdbarch_make_symbol_special (struct gdbarch *gdbarch, struct symbol *sym, struct objfile *objfile) | |
3497 | { | |
3498 | gdb_assert (gdbarch != NULL); | |
3499 | gdb_assert (gdbarch->make_symbol_special != NULL); | |
3500 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3501 | gdb_printf (gdb_stdlog, "gdbarch_make_symbol_special called\n"); |
3e29f34a MR |
3502 | gdbarch->make_symbol_special (sym, objfile); |
3503 | } | |
3504 | ||
3505 | void | |
3506 | set_gdbarch_make_symbol_special (struct gdbarch *gdbarch, | |
adc48a49 | 3507 | gdbarch_make_symbol_special_ftype make_symbol_special) |
3e29f34a MR |
3508 | { |
3509 | gdbarch->make_symbol_special = make_symbol_special; | |
3510 | } | |
3511 | ||
3512 | CORE_ADDR | |
3513 | gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, CORE_ADDR pc) | |
3514 | { | |
3515 | gdb_assert (gdbarch != NULL); | |
3516 | gdb_assert (gdbarch->adjust_dwarf2_addr != NULL); | |
3517 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3518 | gdb_printf (gdb_stdlog, "gdbarch_adjust_dwarf2_addr called\n"); |
3e29f34a MR |
3519 | return gdbarch->adjust_dwarf2_addr (pc); |
3520 | } | |
3521 | ||
3522 | void | |
3523 | set_gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, | |
adc48a49 | 3524 | gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr) |
3e29f34a MR |
3525 | { |
3526 | gdbarch->adjust_dwarf2_addr = adjust_dwarf2_addr; | |
3527 | } | |
3528 | ||
3529 | CORE_ADDR | |
3530 | gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, CORE_ADDR addr, int rel) | |
3531 | { | |
3532 | gdb_assert (gdbarch != NULL); | |
3533 | gdb_assert (gdbarch->adjust_dwarf2_line != NULL); | |
3534 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3535 | gdb_printf (gdb_stdlog, "gdbarch_adjust_dwarf2_line called\n"); |
3e29f34a MR |
3536 | return gdbarch->adjust_dwarf2_line (addr, rel); |
3537 | } | |
3538 | ||
3539 | void | |
3540 | set_gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, | |
adc48a49 | 3541 | gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line) |
3e29f34a MR |
3542 | { |
3543 | gdbarch->adjust_dwarf2_line = adjust_dwarf2_line; | |
3544 | } | |
3545 | ||
c4ed33b9 AC |
3546 | int |
3547 | gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch) | |
3548 | { | |
3549 | gdb_assert (gdbarch != NULL); | |
3550 | /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */ | |
3551 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3552 | gdb_printf (gdb_stdlog, "gdbarch_cannot_step_breakpoint called\n"); |
c4ed33b9 AC |
3553 | return gdbarch->cannot_step_breakpoint; |
3554 | } | |
3555 | ||
3556 | void | |
3557 | set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch, | |
adc48a49 | 3558 | int cannot_step_breakpoint) |
c4ed33b9 AC |
3559 | { |
3560 | gdbarch->cannot_step_breakpoint = cannot_step_breakpoint; | |
3561 | } | |
3562 | ||
f74fa174 MM |
3563 | int |
3564 | gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch) | |
3565 | { | |
3566 | gdb_assert (gdbarch != NULL); | |
3567 | /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */ | |
3568 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3569 | gdb_printf (gdb_stdlog, "gdbarch_have_nonsteppable_watchpoint called\n"); |
f74fa174 MM |
3570 | return gdbarch->have_nonsteppable_watchpoint; |
3571 | } | |
3572 | ||
3573 | void | |
3574 | set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch, | |
adc48a49 | 3575 | int have_nonsteppable_watchpoint) |
f74fa174 MM |
3576 | { |
3577 | gdbarch->have_nonsteppable_watchpoint = have_nonsteppable_watchpoint; | |
3578 | } | |
3579 | ||
39535193 | 3580 | bool |
8b2dbe47 KB |
3581 | gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch) |
3582 | { | |
3583 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3584 | return gdbarch->address_class_type_flags != NULL; |
8b2dbe47 KB |
3585 | } |
3586 | ||
314ad88d | 3587 | type_instance_flags |
8b2dbe47 KB |
3588 | gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class) |
3589 | { | |
3590 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3591 | gdb_assert (gdbarch->address_class_type_flags != NULL); |
8b2dbe47 | 3592 | if (gdbarch_debug >= 2) |
6cb06a8c | 3593 | gdb_printf (gdb_stdlog, "gdbarch_address_class_type_flags called\n"); |
8b2dbe47 KB |
3594 | return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class); |
3595 | } | |
3596 | ||
3597 | void | |
3598 | set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch, | |
adc48a49 | 3599 | gdbarch_address_class_type_flags_ftype address_class_type_flags) |
8b2dbe47 KB |
3600 | { |
3601 | gdbarch->address_class_type_flags = address_class_type_flags; | |
3602 | } | |
3603 | ||
39535193 | 3604 | bool |
8b2dbe47 KB |
3605 | gdbarch_address_class_type_flags_to_name_p (struct gdbarch *gdbarch) |
3606 | { | |
3607 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3608 | return gdbarch->address_class_type_flags_to_name != NULL; |
8b2dbe47 KB |
3609 | } |
3610 | ||
321432c0 | 3611 | const char * |
314ad88d | 3612 | gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, type_instance_flags type_flags) |
8b2dbe47 KB |
3613 | { |
3614 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3615 | gdb_assert (gdbarch->address_class_type_flags_to_name != NULL); |
8b2dbe47 | 3616 | if (gdbarch_debug >= 2) |
6cb06a8c | 3617 | gdb_printf (gdb_stdlog, "gdbarch_address_class_type_flags_to_name called\n"); |
5f11f355 | 3618 | return gdbarch->address_class_type_flags_to_name (gdbarch, type_flags); |
8b2dbe47 KB |
3619 | } |
3620 | ||
3621 | void | |
3622 | set_gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, | |
adc48a49 | 3623 | gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name) |
8b2dbe47 KB |
3624 | { |
3625 | gdbarch->address_class_type_flags_to_name = address_class_type_flags_to_name; | |
3626 | } | |
3627 | ||
b41c5a85 JW |
3628 | bool |
3629 | gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs) | |
3630 | { | |
3631 | gdb_assert (gdbarch != NULL); | |
3632 | gdb_assert (gdbarch->execute_dwarf_cfa_vendor_op != NULL); | |
3633 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3634 | gdb_printf (gdb_stdlog, "gdbarch_execute_dwarf_cfa_vendor_op called\n"); |
b41c5a85 JW |
3635 | return gdbarch->execute_dwarf_cfa_vendor_op (gdbarch, op, fs); |
3636 | } | |
3637 | ||
3638 | void | |
3639 | set_gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, | |
adc48a49 | 3640 | gdbarch_execute_dwarf_cfa_vendor_op_ftype execute_dwarf_cfa_vendor_op) |
b41c5a85 JW |
3641 | { |
3642 | gdbarch->execute_dwarf_cfa_vendor_op = execute_dwarf_cfa_vendor_op; | |
3643 | } | |
3644 | ||
39535193 | 3645 | bool |
8b2dbe47 KB |
3646 | gdbarch_address_class_name_to_type_flags_p (struct gdbarch *gdbarch) |
3647 | { | |
3648 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3649 | return gdbarch->address_class_name_to_type_flags != NULL; |
8b2dbe47 KB |
3650 | } |
3651 | ||
314ad88d PA |
3652 | bool |
3653 | gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, type_instance_flags *type_flags_ptr) | |
8b2dbe47 KB |
3654 | { |
3655 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3656 | gdb_assert (gdbarch->address_class_name_to_type_flags != NULL); |
8b2dbe47 | 3657 | if (gdbarch_debug >= 2) |
6cb06a8c | 3658 | gdb_printf (gdb_stdlog, "gdbarch_address_class_name_to_type_flags called\n"); |
5f11f355 | 3659 | return gdbarch->address_class_name_to_type_flags (gdbarch, name, type_flags_ptr); |
8b2dbe47 KB |
3660 | } |
3661 | ||
3662 | void | |
3663 | set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, | |
adc48a49 | 3664 | gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags) |
8b2dbe47 KB |
3665 | { |
3666 | gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags; | |
3667 | } | |
3668 | ||
b59ff9d5 | 3669 | int |
dbf5d61b | 3670 | gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup) |
b59ff9d5 AC |
3671 | { |
3672 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3673 | gdb_assert (gdbarch->register_reggroup_p != NULL); |
b59ff9d5 | 3674 | if (gdbarch_debug >= 2) |
6cb06a8c | 3675 | gdb_printf (gdb_stdlog, "gdbarch_register_reggroup_p called\n"); |
b59ff9d5 AC |
3676 | return gdbarch->register_reggroup_p (gdbarch, regnum, reggroup); |
3677 | } | |
3678 | ||
3679 | void | |
3680 | set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, | |
adc48a49 | 3681 | gdbarch_register_reggroup_p_ftype register_reggroup_p) |
b59ff9d5 AC |
3682 | { |
3683 | gdbarch->register_reggroup_p = register_reggroup_p; | |
3684 | } | |
3685 | ||
39535193 | 3686 | bool |
143985b7 AF |
3687 | gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch) |
3688 | { | |
3689 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3690 | return gdbarch->fetch_pointer_argument != NULL; |
143985b7 AF |
3691 | } |
3692 | ||
3693 | CORE_ADDR | |
bd2b40ac | 3694 | gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, frame_info_ptr frame, int argi, struct type *type) |
143985b7 AF |
3695 | { |
3696 | gdb_assert (gdbarch != NULL); | |
956ac328 | 3697 | gdb_assert (gdbarch->fetch_pointer_argument != NULL); |
143985b7 | 3698 | if (gdbarch_debug >= 2) |
6cb06a8c | 3699 | gdb_printf (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n"); |
143985b7 AF |
3700 | return gdbarch->fetch_pointer_argument (frame, argi, type); |
3701 | } | |
3702 | ||
3703 | void | |
3704 | set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, | |
adc48a49 | 3705 | gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument) |
143985b7 AF |
3706 | { |
3707 | gdbarch->fetch_pointer_argument = fetch_pointer_argument; | |
3708 | } | |
3709 | ||
39535193 | 3710 | bool |
5aa82d05 AA |
3711 | gdbarch_iterate_over_regset_sections_p (struct gdbarch *gdbarch) |
3712 | { | |
3713 | gdb_assert (gdbarch != NULL); | |
3714 | return gdbarch->iterate_over_regset_sections != NULL; | |
3715 | } | |
3716 | ||
3717 | void | |
3718 | gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) | |
17ea7499 CES |
3719 | { |
3720 | gdb_assert (gdbarch != NULL); | |
5aa82d05 | 3721 | gdb_assert (gdbarch->iterate_over_regset_sections != NULL); |
17ea7499 | 3722 | if (gdbarch_debug >= 2) |
6cb06a8c | 3723 | gdb_printf (gdb_stdlog, "gdbarch_iterate_over_regset_sections called\n"); |
5aa82d05 | 3724 | gdbarch->iterate_over_regset_sections (gdbarch, cb, cb_data, regcache); |
17ea7499 CES |
3725 | } |
3726 | ||
3727 | void | |
5aa82d05 | 3728 | set_gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, |
adc48a49 | 3729 | gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections) |
17ea7499 | 3730 | { |
5aa82d05 | 3731 | gdbarch->iterate_over_regset_sections = iterate_over_regset_sections; |
17ea7499 CES |
3732 | } |
3733 | ||
39535193 | 3734 | bool |
6432734d UW |
3735 | gdbarch_make_corefile_notes_p (struct gdbarch *gdbarch) |
3736 | { | |
3737 | gdb_assert (gdbarch != NULL); | |
3738 | return gdbarch->make_corefile_notes != NULL; | |
3739 | } | |
3740 | ||
c21f37a8 | 3741 | gdb::unique_xmalloc_ptr<char> |
6432734d UW |
3742 | gdbarch_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size) |
3743 | { | |
3744 | gdb_assert (gdbarch != NULL); | |
3745 | gdb_assert (gdbarch->make_corefile_notes != NULL); | |
3746 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3747 | gdb_printf (gdb_stdlog, "gdbarch_make_corefile_notes called\n"); |
6432734d UW |
3748 | return gdbarch->make_corefile_notes (gdbarch, obfd, note_size); |
3749 | } | |
3750 | ||
3751 | void | |
3752 | set_gdbarch_make_corefile_notes (struct gdbarch *gdbarch, | |
adc48a49 | 3753 | gdbarch_make_corefile_notes_ftype make_corefile_notes) |
6432734d UW |
3754 | { |
3755 | gdbarch->make_corefile_notes = make_corefile_notes; | |
3756 | } | |
3757 | ||
39535193 | 3758 | bool |
35c2fab7 UW |
3759 | gdbarch_find_memory_regions_p (struct gdbarch *gdbarch) |
3760 | { | |
3761 | gdb_assert (gdbarch != NULL); | |
3762 | return gdbarch->find_memory_regions != NULL; | |
3763 | } | |
3764 | ||
3765 | int | |
3766 | gdbarch_find_memory_regions (struct gdbarch *gdbarch, find_memory_region_ftype func, void *data) | |
3767 | { | |
3768 | gdb_assert (gdbarch != NULL); | |
3769 | gdb_assert (gdbarch->find_memory_regions != NULL); | |
3770 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3771 | gdb_printf (gdb_stdlog, "gdbarch_find_memory_regions called\n"); |
35c2fab7 UW |
3772 | return gdbarch->find_memory_regions (gdbarch, func, data); |
3773 | } | |
3774 | ||
3775 | void | |
3776 | set_gdbarch_find_memory_regions (struct gdbarch *gdbarch, | |
adc48a49 | 3777 | gdbarch_find_memory_regions_ftype find_memory_regions) |
35c2fab7 UW |
3778 | { |
3779 | gdbarch->find_memory_regions = find_memory_regions; | |
3780 | } | |
3781 | ||
68cffbbd LM |
3782 | bool |
3783 | gdbarch_create_memtag_section_p (struct gdbarch *gdbarch) | |
3784 | { | |
3785 | gdb_assert (gdbarch != NULL); | |
3786 | return gdbarch->create_memtag_section != NULL; | |
3787 | } | |
3788 | ||
3789 | asection * | |
3790 | gdbarch_create_memtag_section (struct gdbarch *gdbarch, bfd *obfd, CORE_ADDR address, size_t size) | |
3791 | { | |
3792 | gdb_assert (gdbarch != NULL); | |
3793 | gdb_assert (gdbarch->create_memtag_section != NULL); | |
3794 | if (gdbarch_debug >= 2) | |
3795 | gdb_printf (gdb_stdlog, "gdbarch_create_memtag_section called\n"); | |
3796 | return gdbarch->create_memtag_section (gdbarch, obfd, address, size); | |
3797 | } | |
3798 | ||
3799 | void | |
3800 | set_gdbarch_create_memtag_section (struct gdbarch *gdbarch, | |
adc48a49 | 3801 | gdbarch_create_memtag_section_ftype create_memtag_section) |
68cffbbd LM |
3802 | { |
3803 | gdbarch->create_memtag_section = create_memtag_section; | |
3804 | } | |
3805 | ||
3806 | bool | |
3807 | gdbarch_fill_memtag_section_p (struct gdbarch *gdbarch) | |
3808 | { | |
3809 | gdb_assert (gdbarch != NULL); | |
3810 | return gdbarch->fill_memtag_section != NULL; | |
3811 | } | |
3812 | ||
3813 | bool | |
3814 | gdbarch_fill_memtag_section (struct gdbarch *gdbarch, asection *osec) | |
3815 | { | |
3816 | gdb_assert (gdbarch != NULL); | |
3817 | gdb_assert (gdbarch->fill_memtag_section != NULL); | |
3818 | if (gdbarch_debug >= 2) | |
3819 | gdb_printf (gdb_stdlog, "gdbarch_fill_memtag_section called\n"); | |
3820 | return gdbarch->fill_memtag_section (gdbarch, osec); | |
3821 | } | |
3822 | ||
3823 | void | |
3824 | set_gdbarch_fill_memtag_section (struct gdbarch *gdbarch, | |
adc48a49 | 3825 | gdbarch_fill_memtag_section_ftype fill_memtag_section) |
68cffbbd LM |
3826 | { |
3827 | gdbarch->fill_memtag_section = fill_memtag_section; | |
3828 | } | |
3829 | ||
3830 | bool | |
3831 | gdbarch_decode_memtag_section_p (struct gdbarch *gdbarch) | |
3832 | { | |
3833 | gdb_assert (gdbarch != NULL); | |
3834 | return gdbarch->decode_memtag_section != NULL; | |
3835 | } | |
3836 | ||
3837 | gdb::byte_vector | |
3838 | gdbarch_decode_memtag_section (struct gdbarch *gdbarch, bfd_section *section, int type, CORE_ADDR address, size_t length) | |
3839 | { | |
3840 | gdb_assert (gdbarch != NULL); | |
3841 | gdb_assert (gdbarch->decode_memtag_section != NULL); | |
3842 | if (gdbarch_debug >= 2) | |
3843 | gdb_printf (gdb_stdlog, "gdbarch_decode_memtag_section called\n"); | |
3844 | return gdbarch->decode_memtag_section (gdbarch, section, type, address, length); | |
3845 | } | |
3846 | ||
3847 | void | |
3848 | set_gdbarch_decode_memtag_section (struct gdbarch *gdbarch, | |
adc48a49 | 3849 | gdbarch_decode_memtag_section_ftype decode_memtag_section) |
68cffbbd LM |
3850 | { |
3851 | gdbarch->decode_memtag_section = decode_memtag_section; | |
3852 | } | |
3853 | ||
39535193 | 3854 | bool |
de584861 PA |
3855 | gdbarch_core_xfer_shared_libraries_p (struct gdbarch *gdbarch) |
3856 | { | |
3857 | gdb_assert (gdbarch != NULL); | |
3858 | return gdbarch->core_xfer_shared_libraries != NULL; | |
3859 | } | |
3860 | ||
c09f20e4 | 3861 | ULONGEST |
7ec1862d | 3862 | gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) |
de584861 PA |
3863 | { |
3864 | gdb_assert (gdbarch != NULL); | |
3865 | gdb_assert (gdbarch->core_xfer_shared_libraries != NULL); | |
3866 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3867 | gdb_printf (gdb_stdlog, "gdbarch_core_xfer_shared_libraries called\n"); |
de584861 PA |
3868 | return gdbarch->core_xfer_shared_libraries (gdbarch, readbuf, offset, len); |
3869 | } | |
3870 | ||
3871 | void | |
3872 | set_gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, | |
adc48a49 | 3873 | gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries) |
de584861 PA |
3874 | { |
3875 | gdbarch->core_xfer_shared_libraries = core_xfer_shared_libraries; | |
3876 | } | |
3877 | ||
39535193 | 3878 | bool |
356a5233 JB |
3879 | gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch *gdbarch) |
3880 | { | |
3881 | gdb_assert (gdbarch != NULL); | |
3882 | return gdbarch->core_xfer_shared_libraries_aix != NULL; | |
3883 | } | |
3884 | ||
c09f20e4 | 3885 | ULONGEST |
7ec1862d | 3886 | gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) |
356a5233 JB |
3887 | { |
3888 | gdb_assert (gdbarch != NULL); | |
3889 | gdb_assert (gdbarch->core_xfer_shared_libraries_aix != NULL); | |
3890 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3891 | gdb_printf (gdb_stdlog, "gdbarch_core_xfer_shared_libraries_aix called\n"); |
356a5233 JB |
3892 | return gdbarch->core_xfer_shared_libraries_aix (gdbarch, readbuf, offset, len); |
3893 | } | |
3894 | ||
3895 | void | |
3896 | set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, | |
adc48a49 | 3897 | gdbarch_core_xfer_shared_libraries_aix_ftype core_xfer_shared_libraries_aix) |
356a5233 JB |
3898 | { |
3899 | gdbarch->core_xfer_shared_libraries_aix = core_xfer_shared_libraries_aix; | |
3900 | } | |
3901 | ||
39535193 | 3902 | bool |
28439f5e PA |
3903 | gdbarch_core_pid_to_str_p (struct gdbarch *gdbarch) |
3904 | { | |
3905 | gdb_assert (gdbarch != NULL); | |
3906 | return gdbarch->core_pid_to_str != NULL; | |
3907 | } | |
3908 | ||
a068643d | 3909 | std::string |
28439f5e PA |
3910 | gdbarch_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid) |
3911 | { | |
3912 | gdb_assert (gdbarch != NULL); | |
3913 | gdb_assert (gdbarch->core_pid_to_str != NULL); | |
3914 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3915 | gdb_printf (gdb_stdlog, "gdbarch_core_pid_to_str called\n"); |
28439f5e PA |
3916 | return gdbarch->core_pid_to_str (gdbarch, ptid); |
3917 | } | |
3918 | ||
3919 | void | |
3920 | set_gdbarch_core_pid_to_str (struct gdbarch *gdbarch, | |
adc48a49 | 3921 | gdbarch_core_pid_to_str_ftype core_pid_to_str) |
28439f5e PA |
3922 | { |
3923 | gdbarch->core_pid_to_str = core_pid_to_str; | |
3924 | } | |
3925 | ||
39535193 | 3926 | bool |
4dfc5dbc JB |
3927 | gdbarch_core_thread_name_p (struct gdbarch *gdbarch) |
3928 | { | |
3929 | gdb_assert (gdbarch != NULL); | |
3930 | return gdbarch->core_thread_name != NULL; | |
3931 | } | |
3932 | ||
3933 | const char * | |
3934 | gdbarch_core_thread_name (struct gdbarch *gdbarch, struct thread_info *thr) | |
3935 | { | |
3936 | gdb_assert (gdbarch != NULL); | |
3937 | gdb_assert (gdbarch->core_thread_name != NULL); | |
3938 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3939 | gdb_printf (gdb_stdlog, "gdbarch_core_thread_name called\n"); |
4dfc5dbc JB |
3940 | return gdbarch->core_thread_name (gdbarch, thr); |
3941 | } | |
3942 | ||
3943 | void | |
3944 | set_gdbarch_core_thread_name (struct gdbarch *gdbarch, | |
adc48a49 | 3945 | gdbarch_core_thread_name_ftype core_thread_name) |
4dfc5dbc JB |
3946 | { |
3947 | gdbarch->core_thread_name = core_thread_name; | |
3948 | } | |
3949 | ||
39535193 | 3950 | bool |
382b69bb JB |
3951 | gdbarch_core_xfer_siginfo_p (struct gdbarch *gdbarch) |
3952 | { | |
3953 | gdb_assert (gdbarch != NULL); | |
3954 | return gdbarch->core_xfer_siginfo != NULL; | |
3955 | } | |
3956 | ||
3957 | LONGEST | |
3958 | gdbarch_core_xfer_siginfo (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) | |
3959 | { | |
3960 | gdb_assert (gdbarch != NULL); | |
3961 | gdb_assert (gdbarch->core_xfer_siginfo != NULL); | |
3962 | if (gdbarch_debug >= 2) | |
6cb06a8c | 3963 | gdb_printf (gdb_stdlog, "gdbarch_core_xfer_siginfo called\n"); |
fb14eb08 | 3964 | return gdbarch->core_xfer_siginfo (gdbarch, readbuf, offset, len); |
382b69bb JB |
3965 | } |
3966 | ||
3967 | void | |
3968 | set_gdbarch_core_xfer_siginfo (struct gdbarch *gdbarch, | |
adc48a49 | 3969 | gdbarch_core_xfer_siginfo_ftype core_xfer_siginfo) |
382b69bb JB |
3970 | { |
3971 | gdbarch->core_xfer_siginfo = core_xfer_siginfo; | |
3972 | } | |
3973 | ||
c689d1fe JB |
3974 | bool |
3975 | gdbarch_core_read_x86_xsave_layout_p (struct gdbarch *gdbarch) | |
3976 | { | |
3977 | gdb_assert (gdbarch != NULL); | |
3978 | return gdbarch->core_read_x86_xsave_layout != NULL; | |
3979 | } | |
3980 | ||
3981 | bool | |
3982 | gdbarch_core_read_x86_xsave_layout (struct gdbarch *gdbarch, x86_xsave_layout &xsave_layout) | |
3983 | { | |
3984 | gdb_assert (gdbarch != NULL); | |
3985 | gdb_assert (gdbarch->core_read_x86_xsave_layout != NULL); | |
3986 | if (gdbarch_debug >= 2) | |
3987 | gdb_printf (gdb_stdlog, "gdbarch_core_read_x86_xsave_layout called\n"); | |
3988 | return gdbarch->core_read_x86_xsave_layout (gdbarch, xsave_layout); | |
3989 | } | |
3990 | ||
3991 | void | |
3992 | set_gdbarch_core_read_x86_xsave_layout (struct gdbarch *gdbarch, | |
3993 | gdbarch_core_read_x86_xsave_layout_ftype core_read_x86_xsave_layout) | |
3994 | { | |
3995 | gdbarch->core_read_x86_xsave_layout = core_read_x86_xsave_layout; | |
3996 | } | |
3997 | ||
39535193 | 3998 | bool |
a78c2d62 UW |
3999 | gdbarch_gcore_bfd_target_p (struct gdbarch *gdbarch) |
4000 | { | |
4001 | gdb_assert (gdbarch != NULL); | |
a3e200ef | 4002 | return gdbarch->gcore_bfd_target != NULL; |
a78c2d62 UW |
4003 | } |
4004 | ||
4005 | const char * | |
4006 | gdbarch_gcore_bfd_target (struct gdbarch *gdbarch) | |
4007 | { | |
4008 | gdb_assert (gdbarch != NULL); | |
c317ea57 AB |
4009 | /* Check predicate was used. */ |
4010 | gdb_assert (gdbarch_gcore_bfd_target_p (gdbarch)); | |
a78c2d62 | 4011 | if (gdbarch_debug >= 2) |
6cb06a8c | 4012 | gdb_printf (gdb_stdlog, "gdbarch_gcore_bfd_target called\n"); |
a78c2d62 UW |
4013 | return gdbarch->gcore_bfd_target; |
4014 | } | |
4015 | ||
4016 | void | |
4017 | set_gdbarch_gcore_bfd_target (struct gdbarch *gdbarch, | |
adc48a49 | 4018 | const char * gcore_bfd_target) |
a78c2d62 UW |
4019 | { |
4020 | gdbarch->gcore_bfd_target = gcore_bfd_target; | |
4021 | } | |
4022 | ||
0d5de010 DJ |
4023 | int |
4024 | gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch) | |
4025 | { | |
4026 | gdb_assert (gdbarch != NULL); | |
4027 | /* Skip verify of vtable_function_descriptors, invalid_p == 0 */ | |
4028 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4029 | gdb_printf (gdb_stdlog, "gdbarch_vtable_function_descriptors called\n"); |
0d5de010 DJ |
4030 | return gdbarch->vtable_function_descriptors; |
4031 | } | |
4032 | ||
4033 | void | |
4034 | set_gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch, | |
adc48a49 | 4035 | int vtable_function_descriptors) |
0d5de010 DJ |
4036 | { |
4037 | gdbarch->vtable_function_descriptors = vtable_function_descriptors; | |
4038 | } | |
4039 | ||
4040 | int | |
4041 | gdbarch_vbit_in_delta (struct gdbarch *gdbarch) | |
4042 | { | |
4043 | gdb_assert (gdbarch != NULL); | |
4044 | /* Skip verify of vbit_in_delta, invalid_p == 0 */ | |
4045 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4046 | gdb_printf (gdb_stdlog, "gdbarch_vbit_in_delta called\n"); |
0d5de010 DJ |
4047 | return gdbarch->vbit_in_delta; |
4048 | } | |
4049 | ||
4050 | void | |
4051 | set_gdbarch_vbit_in_delta (struct gdbarch *gdbarch, | |
adc48a49 | 4052 | int vbit_in_delta) |
0d5de010 DJ |
4053 | { |
4054 | gdbarch->vbit_in_delta = vbit_in_delta; | |
4055 | } | |
4056 | ||
6d350bb5 UW |
4057 | void |
4058 | gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, struct regcache *regcache) | |
4059 | { | |
4060 | gdb_assert (gdbarch != NULL); | |
4061 | gdb_assert (gdbarch->skip_permanent_breakpoint != NULL); | |
4062 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4063 | gdb_printf (gdb_stdlog, "gdbarch_skip_permanent_breakpoint called\n"); |
6d350bb5 UW |
4064 | gdbarch->skip_permanent_breakpoint (regcache); |
4065 | } | |
4066 | ||
4067 | void | |
4068 | set_gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, | |
adc48a49 | 4069 | gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint) |
6d350bb5 UW |
4070 | { |
4071 | gdbarch->skip_permanent_breakpoint = skip_permanent_breakpoint; | |
4072 | } | |
4073 | ||
39535193 | 4074 | bool |
237fc4c9 PA |
4075 | gdbarch_max_insn_length_p (struct gdbarch *gdbarch) |
4076 | { | |
4077 | gdb_assert (gdbarch != NULL); | |
4078 | return gdbarch->max_insn_length != 0; | |
4079 | } | |
4080 | ||
4081 | ULONGEST | |
4082 | gdbarch_max_insn_length (struct gdbarch *gdbarch) | |
4083 | { | |
4084 | gdb_assert (gdbarch != NULL); | |
c317ea57 AB |
4085 | /* Check predicate was used. */ |
4086 | gdb_assert (gdbarch_max_insn_length_p (gdbarch)); | |
237fc4c9 | 4087 | if (gdbarch_debug >= 2) |
6cb06a8c | 4088 | gdb_printf (gdb_stdlog, "gdbarch_max_insn_length called\n"); |
237fc4c9 PA |
4089 | return gdbarch->max_insn_length; |
4090 | } | |
4091 | ||
4092 | void | |
4093 | set_gdbarch_max_insn_length (struct gdbarch *gdbarch, | |
adc48a49 | 4094 | ULONGEST max_insn_length) |
237fc4c9 PA |
4095 | { |
4096 | gdbarch->max_insn_length = max_insn_length; | |
4097 | } | |
4098 | ||
39535193 | 4099 | bool |
237fc4c9 PA |
4100 | gdbarch_displaced_step_copy_insn_p (struct gdbarch *gdbarch) |
4101 | { | |
4102 | gdb_assert (gdbarch != NULL); | |
4103 | return gdbarch->displaced_step_copy_insn != NULL; | |
4104 | } | |
4105 | ||
1152d984 | 4106 | displaced_step_copy_insn_closure_up |
237fc4c9 PA |
4107 | gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs) |
4108 | { | |
4109 | gdb_assert (gdbarch != NULL); | |
4110 | gdb_assert (gdbarch->displaced_step_copy_insn != NULL); | |
4111 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4112 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_copy_insn called\n"); |
237fc4c9 PA |
4113 | return gdbarch->displaced_step_copy_insn (gdbarch, from, to, regs); |
4114 | } | |
4115 | ||
4116 | void | |
4117 | set_gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, | |
adc48a49 | 4118 | gdbarch_displaced_step_copy_insn_ftype displaced_step_copy_insn) |
237fc4c9 PA |
4119 | { |
4120 | gdbarch->displaced_step_copy_insn = displaced_step_copy_insn; | |
4121 | } | |
4122 | ||
07fbbd01 | 4123 | bool |
40a53766 | 4124 | gdbarch_displaced_step_hw_singlestep (struct gdbarch *gdbarch) |
99e40580 UW |
4125 | { |
4126 | gdb_assert (gdbarch != NULL); | |
4127 | gdb_assert (gdbarch->displaced_step_hw_singlestep != NULL); | |
4128 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4129 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_hw_singlestep called\n"); |
40a53766 | 4130 | return gdbarch->displaced_step_hw_singlestep (gdbarch); |
99e40580 UW |
4131 | } |
4132 | ||
4133 | void | |
4134 | set_gdbarch_displaced_step_hw_singlestep (struct gdbarch *gdbarch, | |
adc48a49 | 4135 | gdbarch_displaced_step_hw_singlestep_ftype displaced_step_hw_singlestep) |
99e40580 UW |
4136 | { |
4137 | gdbarch->displaced_step_hw_singlestep = displaced_step_hw_singlestep; | |
4138 | } | |
4139 | ||
237fc4c9 | 4140 | void |
cf141dd8 | 4141 | gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_copy_insn_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, bool completed_p) |
237fc4c9 PA |
4142 | { |
4143 | gdb_assert (gdbarch != NULL); | |
4144 | gdb_assert (gdbarch->displaced_step_fixup != NULL); | |
237fc4c9 | 4145 | if (gdbarch_debug >= 2) |
6cb06a8c | 4146 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_fixup called\n"); |
cf141dd8 | 4147 | gdbarch->displaced_step_fixup (gdbarch, closure, from, to, regs, completed_p); |
237fc4c9 PA |
4148 | } |
4149 | ||
4150 | void | |
4151 | set_gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, | |
adc48a49 | 4152 | gdbarch_displaced_step_fixup_ftype displaced_step_fixup) |
237fc4c9 PA |
4153 | { |
4154 | gdbarch->displaced_step_fixup = displaced_step_fixup; | |
4155 | } | |
4156 | ||
187b041e SM |
4157 | bool |
4158 | gdbarch_displaced_step_prepare_p (struct gdbarch *gdbarch) | |
4159 | { | |
4160 | gdb_assert (gdbarch != NULL); | |
4161 | return gdbarch->displaced_step_prepare != NULL; | |
4162 | } | |
4163 | ||
4164 | displaced_step_prepare_status | |
4165 | gdbarch_displaced_step_prepare (struct gdbarch *gdbarch, thread_info *thread, CORE_ADDR &displaced_pc) | |
4166 | { | |
4167 | gdb_assert (gdbarch != NULL); | |
4168 | gdb_assert (gdbarch->displaced_step_prepare != NULL); | |
4169 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4170 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_prepare called\n"); |
187b041e SM |
4171 | return gdbarch->displaced_step_prepare (gdbarch, thread, displaced_pc); |
4172 | } | |
4173 | ||
4174 | void | |
4175 | set_gdbarch_displaced_step_prepare (struct gdbarch *gdbarch, | |
adc48a49 | 4176 | gdbarch_displaced_step_prepare_ftype displaced_step_prepare) |
187b041e SM |
4177 | { |
4178 | gdbarch->displaced_step_prepare = displaced_step_prepare; | |
4179 | } | |
4180 | ||
4181 | displaced_step_finish_status | |
58c01087 | 4182 | gdbarch_displaced_step_finish (struct gdbarch *gdbarch, thread_info *thread, const target_waitstatus &ws) |
187b041e SM |
4183 | { |
4184 | gdb_assert (gdbarch != NULL); | |
4185 | gdb_assert (gdbarch->displaced_step_finish != NULL); | |
4186 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4187 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_finish called\n"); |
58c01087 | 4188 | return gdbarch->displaced_step_finish (gdbarch, thread, ws); |
187b041e SM |
4189 | } |
4190 | ||
4191 | void | |
4192 | set_gdbarch_displaced_step_finish (struct gdbarch *gdbarch, | |
adc48a49 | 4193 | gdbarch_displaced_step_finish_ftype displaced_step_finish) |
187b041e SM |
4194 | { |
4195 | gdbarch->displaced_step_finish = displaced_step_finish; | |
4196 | } | |
4197 | ||
4198 | bool | |
4199 | gdbarch_displaced_step_copy_insn_closure_by_addr_p (struct gdbarch *gdbarch) | |
4200 | { | |
4201 | gdb_assert (gdbarch != NULL); | |
4202 | return gdbarch->displaced_step_copy_insn_closure_by_addr != NULL; | |
4203 | } | |
4204 | ||
4205 | const displaced_step_copy_insn_closure * | |
4206 | gdbarch_displaced_step_copy_insn_closure_by_addr (struct gdbarch *gdbarch, inferior *inf, CORE_ADDR addr) | |
4207 | { | |
4208 | gdb_assert (gdbarch != NULL); | |
4209 | gdb_assert (gdbarch->displaced_step_copy_insn_closure_by_addr != NULL); | |
4210 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4211 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_copy_insn_closure_by_addr called\n"); |
187b041e SM |
4212 | return gdbarch->displaced_step_copy_insn_closure_by_addr (inf, addr); |
4213 | } | |
4214 | ||
4215 | void | |
4216 | set_gdbarch_displaced_step_copy_insn_closure_by_addr (struct gdbarch *gdbarch, | |
adc48a49 | 4217 | gdbarch_displaced_step_copy_insn_closure_by_addr_ftype displaced_step_copy_insn_closure_by_addr) |
187b041e SM |
4218 | { |
4219 | gdbarch->displaced_step_copy_insn_closure_by_addr = displaced_step_copy_insn_closure_by_addr; | |
4220 | } | |
4221 | ||
4222 | void | |
4223 | gdbarch_displaced_step_restore_all_in_ptid (struct gdbarch *gdbarch, inferior *parent_inf, ptid_t child_ptid) | |
237fc4c9 PA |
4224 | { |
4225 | gdb_assert (gdbarch != NULL); | |
187b041e | 4226 | gdb_assert (gdbarch->displaced_step_restore_all_in_ptid != NULL); |
237fc4c9 | 4227 | if (gdbarch_debug >= 2) |
6cb06a8c | 4228 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_restore_all_in_ptid called\n"); |
187b041e | 4229 | gdbarch->displaced_step_restore_all_in_ptid (parent_inf, child_ptid); |
237fc4c9 PA |
4230 | } |
4231 | ||
4232 | void | |
187b041e | 4233 | set_gdbarch_displaced_step_restore_all_in_ptid (struct gdbarch *gdbarch, |
adc48a49 | 4234 | gdbarch_displaced_step_restore_all_in_ptid_ftype displaced_step_restore_all_in_ptid) |
237fc4c9 | 4235 | { |
187b041e | 4236 | gdbarch->displaced_step_restore_all_in_ptid = displaced_step_restore_all_in_ptid; |
237fc4c9 PA |
4237 | } |
4238 | ||
deb65a3c AB |
4239 | ULONGEST |
4240 | gdbarch_displaced_step_buffer_length (struct gdbarch *gdbarch) | |
4241 | { | |
4242 | gdb_assert (gdbarch != NULL); | |
4243 | /* Check variable is valid. */ | |
4244 | gdb_assert (!(gdbarch->displaced_step_buffer_length < gdbarch->max_insn_length)); | |
4245 | if (gdbarch_debug >= 2) | |
4246 | gdb_printf (gdb_stdlog, "gdbarch_displaced_step_buffer_length called\n"); | |
4247 | return gdbarch->displaced_step_buffer_length; | |
4248 | } | |
4249 | ||
4250 | void | |
4251 | set_gdbarch_displaced_step_buffer_length (struct gdbarch *gdbarch, | |
4252 | ULONGEST displaced_step_buffer_length) | |
4253 | { | |
4254 | gdbarch->displaced_step_buffer_length = displaced_step_buffer_length; | |
4255 | } | |
4256 | ||
39535193 | 4257 | bool |
dde08ee1 PA |
4258 | gdbarch_relocate_instruction_p (struct gdbarch *gdbarch) |
4259 | { | |
4260 | gdb_assert (gdbarch != NULL); | |
4261 | return gdbarch->relocate_instruction != NULL; | |
4262 | } | |
4263 | ||
4264 | void | |
4265 | gdbarch_relocate_instruction (struct gdbarch *gdbarch, CORE_ADDR *to, CORE_ADDR from) | |
4266 | { | |
4267 | gdb_assert (gdbarch != NULL); | |
4268 | gdb_assert (gdbarch->relocate_instruction != NULL); | |
4269 | /* Do not check predicate: gdbarch->relocate_instruction != NULL, allow call. */ | |
4270 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4271 | gdb_printf (gdb_stdlog, "gdbarch_relocate_instruction called\n"); |
dde08ee1 PA |
4272 | gdbarch->relocate_instruction (gdbarch, to, from); |
4273 | } | |
4274 | ||
4275 | void | |
4276 | set_gdbarch_relocate_instruction (struct gdbarch *gdbarch, | |
adc48a49 | 4277 | gdbarch_relocate_instruction_ftype relocate_instruction) |
dde08ee1 PA |
4278 | { |
4279 | gdbarch->relocate_instruction = relocate_instruction; | |
4280 | } | |
4281 | ||
39535193 | 4282 | bool |
1c772458 UW |
4283 | gdbarch_overlay_update_p (struct gdbarch *gdbarch) |
4284 | { | |
4285 | gdb_assert (gdbarch != NULL); | |
4286 | return gdbarch->overlay_update != NULL; | |
4287 | } | |
4288 | ||
4289 | void | |
4290 | gdbarch_overlay_update (struct gdbarch *gdbarch, struct obj_section *osect) | |
4291 | { | |
4292 | gdb_assert (gdbarch != NULL); | |
4293 | gdb_assert (gdbarch->overlay_update != NULL); | |
4294 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4295 | gdb_printf (gdb_stdlog, "gdbarch_overlay_update called\n"); |
1c772458 UW |
4296 | gdbarch->overlay_update (osect); |
4297 | } | |
4298 | ||
4299 | void | |
4300 | set_gdbarch_overlay_update (struct gdbarch *gdbarch, | |
adc48a49 | 4301 | gdbarch_overlay_update_ftype overlay_update) |
1c772458 UW |
4302 | { |
4303 | gdbarch->overlay_update = overlay_update; | |
4304 | } | |
4305 | ||
39535193 | 4306 | bool |
4eb0ad19 DJ |
4307 | gdbarch_core_read_description_p (struct gdbarch *gdbarch) |
4308 | { | |
4309 | gdb_assert (gdbarch != NULL); | |
4310 | return gdbarch->core_read_description != NULL; | |
4311 | } | |
4312 | ||
4313 | const struct target_desc * | |
4314 | gdbarch_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd) | |
4315 | { | |
4316 | gdb_assert (gdbarch != NULL); | |
4317 | gdb_assert (gdbarch->core_read_description != NULL); | |
4318 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4319 | gdb_printf (gdb_stdlog, "gdbarch_core_read_description called\n"); |
4eb0ad19 DJ |
4320 | return gdbarch->core_read_description (gdbarch, target, abfd); |
4321 | } | |
4322 | ||
4323 | void | |
4324 | set_gdbarch_core_read_description (struct gdbarch *gdbarch, | |
adc48a49 | 4325 | gdbarch_core_read_description_ftype core_read_description) |
4eb0ad19 DJ |
4326 | { |
4327 | gdbarch->core_read_description = core_read_description; | |
4328 | } | |
4329 | ||
203c3895 UW |
4330 | int |
4331 | gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch) | |
4332 | { | |
4333 | gdb_assert (gdbarch != NULL); | |
4334 | /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */ | |
4335 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4336 | gdb_printf (gdb_stdlog, "gdbarch_sofun_address_maybe_missing called\n"); |
203c3895 UW |
4337 | return gdbarch->sofun_address_maybe_missing; |
4338 | } | |
4339 | ||
4340 | void | |
4341 | set_gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch, | |
adc48a49 | 4342 | int sofun_address_maybe_missing) |
203c3895 UW |
4343 | { |
4344 | gdbarch->sofun_address_maybe_missing = sofun_address_maybe_missing; | |
4345 | } | |
4346 | ||
39535193 | 4347 | bool |
0508c3ec HZ |
4348 | gdbarch_process_record_p (struct gdbarch *gdbarch) |
4349 | { | |
4350 | gdb_assert (gdbarch != NULL); | |
4351 | return gdbarch->process_record != NULL; | |
4352 | } | |
4353 | ||
4354 | int | |
4355 | gdbarch_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) | |
4356 | { | |
4357 | gdb_assert (gdbarch != NULL); | |
4358 | gdb_assert (gdbarch->process_record != NULL); | |
4359 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4360 | gdb_printf (gdb_stdlog, "gdbarch_process_record called\n"); |
0508c3ec HZ |
4361 | return gdbarch->process_record (gdbarch, regcache, addr); |
4362 | } | |
4363 | ||
4364 | void | |
4365 | set_gdbarch_process_record (struct gdbarch *gdbarch, | |
adc48a49 | 4366 | gdbarch_process_record_ftype process_record) |
0508c3ec HZ |
4367 | { |
4368 | gdbarch->process_record = process_record; | |
4369 | } | |
4370 | ||
39535193 | 4371 | bool |
3846b520 HZ |
4372 | gdbarch_process_record_signal_p (struct gdbarch *gdbarch) |
4373 | { | |
4374 | gdb_assert (gdbarch != NULL); | |
4375 | return gdbarch->process_record_signal != NULL; | |
4376 | } | |
4377 | ||
4378 | int | |
2ea28649 | 4379 | gdbarch_process_record_signal (struct gdbarch *gdbarch, struct regcache *regcache, enum gdb_signal signal) |
3846b520 HZ |
4380 | { |
4381 | gdb_assert (gdbarch != NULL); | |
4382 | gdb_assert (gdbarch->process_record_signal != NULL); | |
4383 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4384 | gdb_printf (gdb_stdlog, "gdbarch_process_record_signal called\n"); |
3846b520 HZ |
4385 | return gdbarch->process_record_signal (gdbarch, regcache, signal); |
4386 | } | |
4387 | ||
4388 | void | |
4389 | set_gdbarch_process_record_signal (struct gdbarch *gdbarch, | |
adc48a49 | 4390 | gdbarch_process_record_signal_ftype process_record_signal) |
3846b520 HZ |
4391 | { |
4392 | gdbarch->process_record_signal = process_record_signal; | |
4393 | } | |
4394 | ||
39535193 | 4395 | bool |
1f8cf220 PA |
4396 | gdbarch_gdb_signal_from_target_p (struct gdbarch *gdbarch) |
4397 | { | |
4398 | gdb_assert (gdbarch != NULL); | |
4399 | return gdbarch->gdb_signal_from_target != NULL; | |
4400 | } | |
4401 | ||
2ea28649 | 4402 | enum gdb_signal |
22203bbf | 4403 | gdbarch_gdb_signal_from_target (struct gdbarch *gdbarch, int signo) |
1cded358 AR |
4404 | { |
4405 | gdb_assert (gdbarch != NULL); | |
22203bbf | 4406 | gdb_assert (gdbarch->gdb_signal_from_target != NULL); |
1cded358 | 4407 | if (gdbarch_debug >= 2) |
6cb06a8c | 4408 | gdb_printf (gdb_stdlog, "gdbarch_gdb_signal_from_target called\n"); |
22203bbf | 4409 | return gdbarch->gdb_signal_from_target (gdbarch, signo); |
1cded358 AR |
4410 | } |
4411 | ||
4412 | void | |
22203bbf | 4413 | set_gdbarch_gdb_signal_from_target (struct gdbarch *gdbarch, |
adc48a49 | 4414 | gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target) |
1cded358 | 4415 | { |
22203bbf | 4416 | gdbarch->gdb_signal_from_target = gdb_signal_from_target; |
1cded358 AR |
4417 | } |
4418 | ||
39535193 | 4419 | bool |
eb14d406 SDJ |
4420 | gdbarch_gdb_signal_to_target_p (struct gdbarch *gdbarch) |
4421 | { | |
4422 | gdb_assert (gdbarch != NULL); | |
4423 | return gdbarch->gdb_signal_to_target != NULL; | |
4424 | } | |
4425 | ||
4426 | int | |
4427 | gdbarch_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal) | |
4428 | { | |
4429 | gdb_assert (gdbarch != NULL); | |
4430 | gdb_assert (gdbarch->gdb_signal_to_target != NULL); | |
4431 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4432 | gdb_printf (gdb_stdlog, "gdbarch_gdb_signal_to_target called\n"); |
eb14d406 SDJ |
4433 | return gdbarch->gdb_signal_to_target (gdbarch, signal); |
4434 | } | |
4435 | ||
4436 | void | |
4437 | set_gdbarch_gdb_signal_to_target (struct gdbarch *gdbarch, | |
adc48a49 | 4438 | gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target) |
eb14d406 SDJ |
4439 | { |
4440 | gdbarch->gdb_signal_to_target = gdb_signal_to_target; | |
4441 | } | |
4442 | ||
39535193 | 4443 | bool |
4aa995e1 PA |
4444 | gdbarch_get_siginfo_type_p (struct gdbarch *gdbarch) |
4445 | { | |
4446 | gdb_assert (gdbarch != NULL); | |
4447 | return gdbarch->get_siginfo_type != NULL; | |
4448 | } | |
4449 | ||
4450 | struct type * | |
4451 | gdbarch_get_siginfo_type (struct gdbarch *gdbarch) | |
4452 | { | |
4453 | gdb_assert (gdbarch != NULL); | |
4454 | gdb_assert (gdbarch->get_siginfo_type != NULL); | |
4455 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4456 | gdb_printf (gdb_stdlog, "gdbarch_get_siginfo_type called\n"); |
4aa995e1 PA |
4457 | return gdbarch->get_siginfo_type (gdbarch); |
4458 | } | |
4459 | ||
4460 | void | |
4461 | set_gdbarch_get_siginfo_type (struct gdbarch *gdbarch, | |
adc48a49 | 4462 | gdbarch_get_siginfo_type_ftype get_siginfo_type) |
4aa995e1 PA |
4463 | { |
4464 | gdbarch->get_siginfo_type = get_siginfo_type; | |
4465 | } | |
4466 | ||
39535193 | 4467 | bool |
60c5725c DJ |
4468 | gdbarch_record_special_symbol_p (struct gdbarch *gdbarch) |
4469 | { | |
4470 | gdb_assert (gdbarch != NULL); | |
4471 | return gdbarch->record_special_symbol != NULL; | |
4472 | } | |
4473 | ||
4474 | void | |
4475 | gdbarch_record_special_symbol (struct gdbarch *gdbarch, struct objfile *objfile, asymbol *sym) | |
4476 | { | |
4477 | gdb_assert (gdbarch != NULL); | |
4478 | gdb_assert (gdbarch->record_special_symbol != NULL); | |
4479 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4480 | gdb_printf (gdb_stdlog, "gdbarch_record_special_symbol called\n"); |
60c5725c DJ |
4481 | gdbarch->record_special_symbol (gdbarch, objfile, sym); |
4482 | } | |
4483 | ||
4484 | void | |
4485 | set_gdbarch_record_special_symbol (struct gdbarch *gdbarch, | |
adc48a49 | 4486 | gdbarch_record_special_symbol_ftype record_special_symbol) |
60c5725c DJ |
4487 | { |
4488 | gdbarch->record_special_symbol = record_special_symbol; | |
4489 | } | |
4490 | ||
39535193 | 4491 | bool |
a96d9b2e SDJ |
4492 | gdbarch_get_syscall_number_p (struct gdbarch *gdbarch) |
4493 | { | |
4494 | gdb_assert (gdbarch != NULL); | |
4495 | return gdbarch->get_syscall_number != NULL; | |
4496 | } | |
4497 | ||
4498 | LONGEST | |
00431a78 | 4499 | gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread) |
a96d9b2e SDJ |
4500 | { |
4501 | gdb_assert (gdbarch != NULL); | |
4502 | gdb_assert (gdbarch->get_syscall_number != NULL); | |
4503 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4504 | gdb_printf (gdb_stdlog, "gdbarch_get_syscall_number called\n"); |
00431a78 | 4505 | return gdbarch->get_syscall_number (gdbarch, thread); |
a96d9b2e SDJ |
4506 | } |
4507 | ||
4508 | void | |
4509 | set_gdbarch_get_syscall_number (struct gdbarch *gdbarch, | |
adc48a49 | 4510 | gdbarch_get_syscall_number_ftype get_syscall_number) |
a96d9b2e SDJ |
4511 | { |
4512 | gdbarch->get_syscall_number = get_syscall_number; | |
4513 | } | |
4514 | ||
458c8db8 SDJ |
4515 | const char * |
4516 | gdbarch_xml_syscall_file (struct gdbarch *gdbarch) | |
4517 | { | |
4518 | gdb_assert (gdbarch != NULL); | |
4519 | /* Skip verify of xml_syscall_file, invalid_p == 0 */ | |
4520 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4521 | gdb_printf (gdb_stdlog, "gdbarch_xml_syscall_file called\n"); |
458c8db8 SDJ |
4522 | return gdbarch->xml_syscall_file; |
4523 | } | |
4524 | ||
4525 | void | |
4526 | set_gdbarch_xml_syscall_file (struct gdbarch *gdbarch, | |
adc48a49 | 4527 | const char * xml_syscall_file) |
458c8db8 SDJ |
4528 | { |
4529 | gdbarch->xml_syscall_file = xml_syscall_file; | |
4530 | } | |
4531 | ||
4532 | struct syscalls_info * | |
4533 | gdbarch_syscalls_info (struct gdbarch *gdbarch) | |
4534 | { | |
4535 | gdb_assert (gdbarch != NULL); | |
4536 | /* Skip verify of syscalls_info, invalid_p == 0 */ | |
4537 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4538 | gdb_printf (gdb_stdlog, "gdbarch_syscalls_info called\n"); |
458c8db8 SDJ |
4539 | return gdbarch->syscalls_info; |
4540 | } | |
4541 | ||
4542 | void | |
4543 | set_gdbarch_syscalls_info (struct gdbarch *gdbarch, | |
adc48a49 | 4544 | struct syscalls_info * syscalls_info) |
458c8db8 SDJ |
4545 | { |
4546 | gdbarch->syscalls_info = syscalls_info; | |
4547 | } | |
4548 | ||
05c0465e SDJ |
4549 | const char *const * |
4550 | gdbarch_stap_integer_prefixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4551 | { |
4552 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4553 | /* Skip verify of stap_integer_prefixes, invalid_p == 0 */ |
55aa24fb | 4554 | if (gdbarch_debug >= 2) |
6cb06a8c | 4555 | gdb_printf (gdb_stdlog, "gdbarch_stap_integer_prefixes called\n"); |
05c0465e | 4556 | return gdbarch->stap_integer_prefixes; |
55aa24fb SDJ |
4557 | } |
4558 | ||
4559 | void | |
05c0465e | 4560 | set_gdbarch_stap_integer_prefixes (struct gdbarch *gdbarch, |
adc48a49 | 4561 | const char *const * stap_integer_prefixes) |
55aa24fb | 4562 | { |
05c0465e | 4563 | gdbarch->stap_integer_prefixes = stap_integer_prefixes; |
55aa24fb SDJ |
4564 | } |
4565 | ||
05c0465e SDJ |
4566 | const char *const * |
4567 | gdbarch_stap_integer_suffixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4568 | { |
4569 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4570 | /* Skip verify of stap_integer_suffixes, invalid_p == 0 */ |
55aa24fb | 4571 | if (gdbarch_debug >= 2) |
6cb06a8c | 4572 | gdb_printf (gdb_stdlog, "gdbarch_stap_integer_suffixes called\n"); |
05c0465e | 4573 | return gdbarch->stap_integer_suffixes; |
55aa24fb SDJ |
4574 | } |
4575 | ||
4576 | void | |
05c0465e | 4577 | set_gdbarch_stap_integer_suffixes (struct gdbarch *gdbarch, |
adc48a49 | 4578 | const char *const * stap_integer_suffixes) |
55aa24fb | 4579 | { |
05c0465e | 4580 | gdbarch->stap_integer_suffixes = stap_integer_suffixes; |
55aa24fb SDJ |
4581 | } |
4582 | ||
05c0465e SDJ |
4583 | const char *const * |
4584 | gdbarch_stap_register_prefixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4585 | { |
4586 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4587 | /* Skip verify of stap_register_prefixes, invalid_p == 0 */ |
55aa24fb | 4588 | if (gdbarch_debug >= 2) |
6cb06a8c | 4589 | gdb_printf (gdb_stdlog, "gdbarch_stap_register_prefixes called\n"); |
05c0465e | 4590 | return gdbarch->stap_register_prefixes; |
55aa24fb SDJ |
4591 | } |
4592 | ||
4593 | void | |
05c0465e | 4594 | set_gdbarch_stap_register_prefixes (struct gdbarch *gdbarch, |
adc48a49 | 4595 | const char *const * stap_register_prefixes) |
55aa24fb | 4596 | { |
05c0465e | 4597 | gdbarch->stap_register_prefixes = stap_register_prefixes; |
55aa24fb SDJ |
4598 | } |
4599 | ||
05c0465e SDJ |
4600 | const char *const * |
4601 | gdbarch_stap_register_suffixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4602 | { |
4603 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4604 | /* Skip verify of stap_register_suffixes, invalid_p == 0 */ |
55aa24fb | 4605 | if (gdbarch_debug >= 2) |
6cb06a8c | 4606 | gdb_printf (gdb_stdlog, "gdbarch_stap_register_suffixes called\n"); |
05c0465e | 4607 | return gdbarch->stap_register_suffixes; |
55aa24fb SDJ |
4608 | } |
4609 | ||
4610 | void | |
05c0465e | 4611 | set_gdbarch_stap_register_suffixes (struct gdbarch *gdbarch, |
adc48a49 | 4612 | const char *const * stap_register_suffixes) |
55aa24fb | 4613 | { |
05c0465e | 4614 | gdbarch->stap_register_suffixes = stap_register_suffixes; |
55aa24fb SDJ |
4615 | } |
4616 | ||
05c0465e SDJ |
4617 | const char *const * |
4618 | gdbarch_stap_register_indirection_prefixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4619 | { |
4620 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4621 | /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */ |
55aa24fb | 4622 | if (gdbarch_debug >= 2) |
6cb06a8c | 4623 | gdb_printf (gdb_stdlog, "gdbarch_stap_register_indirection_prefixes called\n"); |
05c0465e | 4624 | return gdbarch->stap_register_indirection_prefixes; |
55aa24fb SDJ |
4625 | } |
4626 | ||
4627 | void | |
05c0465e | 4628 | set_gdbarch_stap_register_indirection_prefixes (struct gdbarch *gdbarch, |
adc48a49 | 4629 | const char *const * stap_register_indirection_prefixes) |
55aa24fb | 4630 | { |
05c0465e | 4631 | gdbarch->stap_register_indirection_prefixes = stap_register_indirection_prefixes; |
55aa24fb SDJ |
4632 | } |
4633 | ||
05c0465e SDJ |
4634 | const char *const * |
4635 | gdbarch_stap_register_indirection_suffixes (struct gdbarch *gdbarch) | |
55aa24fb SDJ |
4636 | { |
4637 | gdb_assert (gdbarch != NULL); | |
05c0465e | 4638 | /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */ |
55aa24fb | 4639 | if (gdbarch_debug >= 2) |
6cb06a8c | 4640 | gdb_printf (gdb_stdlog, "gdbarch_stap_register_indirection_suffixes called\n"); |
05c0465e | 4641 | return gdbarch->stap_register_indirection_suffixes; |
55aa24fb SDJ |
4642 | } |
4643 | ||
4644 | void | |
05c0465e | 4645 | set_gdbarch_stap_register_indirection_suffixes (struct gdbarch *gdbarch, |
adc48a49 | 4646 | const char *const * stap_register_indirection_suffixes) |
55aa24fb | 4647 | { |
05c0465e | 4648 | gdbarch->stap_register_indirection_suffixes = stap_register_indirection_suffixes; |
55aa24fb SDJ |
4649 | } |
4650 | ||
4651 | const char * | |
4652 | gdbarch_stap_gdb_register_prefix (struct gdbarch *gdbarch) | |
4653 | { | |
4654 | gdb_assert (gdbarch != NULL); | |
4655 | /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */ | |
4656 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4657 | gdb_printf (gdb_stdlog, "gdbarch_stap_gdb_register_prefix called\n"); |
55aa24fb SDJ |
4658 | return gdbarch->stap_gdb_register_prefix; |
4659 | } | |
4660 | ||
4661 | void | |
4662 | set_gdbarch_stap_gdb_register_prefix (struct gdbarch *gdbarch, | |
adc48a49 | 4663 | const char * stap_gdb_register_prefix) |
55aa24fb SDJ |
4664 | { |
4665 | gdbarch->stap_gdb_register_prefix = stap_gdb_register_prefix; | |
4666 | } | |
4667 | ||
4668 | const char * | |
4669 | gdbarch_stap_gdb_register_suffix (struct gdbarch *gdbarch) | |
4670 | { | |
4671 | gdb_assert (gdbarch != NULL); | |
4672 | /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */ | |
4673 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4674 | gdb_printf (gdb_stdlog, "gdbarch_stap_gdb_register_suffix called\n"); |
55aa24fb SDJ |
4675 | return gdbarch->stap_gdb_register_suffix; |
4676 | } | |
4677 | ||
4678 | void | |
4679 | set_gdbarch_stap_gdb_register_suffix (struct gdbarch *gdbarch, | |
adc48a49 | 4680 | const char * stap_gdb_register_suffix) |
55aa24fb SDJ |
4681 | { |
4682 | gdbarch->stap_gdb_register_suffix = stap_gdb_register_suffix; | |
4683 | } | |
4684 | ||
39535193 | 4685 | bool |
55aa24fb SDJ |
4686 | gdbarch_stap_is_single_operand_p (struct gdbarch *gdbarch) |
4687 | { | |
4688 | gdb_assert (gdbarch != NULL); | |
4689 | return gdbarch->stap_is_single_operand != NULL; | |
4690 | } | |
4691 | ||
4692 | int | |
4693 | gdbarch_stap_is_single_operand (struct gdbarch *gdbarch, const char *s) | |
4694 | { | |
4695 | gdb_assert (gdbarch != NULL); | |
4696 | gdb_assert (gdbarch->stap_is_single_operand != NULL); | |
4697 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4698 | gdb_printf (gdb_stdlog, "gdbarch_stap_is_single_operand called\n"); |
55aa24fb SDJ |
4699 | return gdbarch->stap_is_single_operand (gdbarch, s); |
4700 | } | |
4701 | ||
4702 | void | |
4703 | set_gdbarch_stap_is_single_operand (struct gdbarch *gdbarch, | |
adc48a49 | 4704 | gdbarch_stap_is_single_operand_ftype stap_is_single_operand) |
55aa24fb SDJ |
4705 | { |
4706 | gdbarch->stap_is_single_operand = stap_is_single_operand; | |
4707 | } | |
4708 | ||
39535193 | 4709 | bool |
55aa24fb SDJ |
4710 | gdbarch_stap_parse_special_token_p (struct gdbarch *gdbarch) |
4711 | { | |
4712 | gdb_assert (gdbarch != NULL); | |
4713 | return gdbarch->stap_parse_special_token != NULL; | |
4714 | } | |
4715 | ||
4c5e7a93 | 4716 | expr::operation_up |
55aa24fb SDJ |
4717 | gdbarch_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p) |
4718 | { | |
4719 | gdb_assert (gdbarch != NULL); | |
4720 | gdb_assert (gdbarch->stap_parse_special_token != NULL); | |
4721 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4722 | gdb_printf (gdb_stdlog, "gdbarch_stap_parse_special_token called\n"); |
55aa24fb SDJ |
4723 | return gdbarch->stap_parse_special_token (gdbarch, p); |
4724 | } | |
4725 | ||
4726 | void | |
4727 | set_gdbarch_stap_parse_special_token (struct gdbarch *gdbarch, | |
adc48a49 | 4728 | gdbarch_stap_parse_special_token_ftype stap_parse_special_token) |
55aa24fb SDJ |
4729 | { |
4730 | gdbarch->stap_parse_special_token = stap_parse_special_token; | |
4731 | } | |
4732 | ||
39535193 | 4733 | bool |
7d7571f0 SDJ |
4734 | gdbarch_stap_adjust_register_p (struct gdbarch *gdbarch) |
4735 | { | |
4736 | gdb_assert (gdbarch != NULL); | |
4737 | return gdbarch->stap_adjust_register != NULL; | |
4738 | } | |
4739 | ||
6b78c3f8 AB |
4740 | std::string |
4741 | gdbarch_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p, const std::string ®name, int regnum) | |
7d7571f0 SDJ |
4742 | { |
4743 | gdb_assert (gdbarch != NULL); | |
4744 | gdb_assert (gdbarch->stap_adjust_register != NULL); | |
4745 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4746 | gdb_printf (gdb_stdlog, "gdbarch_stap_adjust_register called\n"); |
6b78c3f8 | 4747 | return gdbarch->stap_adjust_register (gdbarch, p, regname, regnum); |
7d7571f0 SDJ |
4748 | } |
4749 | ||
4750 | void | |
4751 | set_gdbarch_stap_adjust_register (struct gdbarch *gdbarch, | |
adc48a49 | 4752 | gdbarch_stap_adjust_register_ftype stap_adjust_register) |
7d7571f0 SDJ |
4753 | { |
4754 | gdbarch->stap_adjust_register = stap_adjust_register; | |
4755 | } | |
4756 | ||
39535193 | 4757 | bool |
8b367e17 JM |
4758 | gdbarch_dtrace_parse_probe_argument_p (struct gdbarch *gdbarch) |
4759 | { | |
4760 | gdb_assert (gdbarch != NULL); | |
4761 | return gdbarch->dtrace_parse_probe_argument != NULL; | |
4762 | } | |
4763 | ||
482ddd69 TT |
4764 | expr::operation_up |
4765 | gdbarch_dtrace_parse_probe_argument (struct gdbarch *gdbarch, int narg) | |
8b367e17 JM |
4766 | { |
4767 | gdb_assert (gdbarch != NULL); | |
4768 | gdb_assert (gdbarch->dtrace_parse_probe_argument != NULL); | |
4769 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4770 | gdb_printf (gdb_stdlog, "gdbarch_dtrace_parse_probe_argument called\n"); |
482ddd69 | 4771 | return gdbarch->dtrace_parse_probe_argument (gdbarch, narg); |
8b367e17 JM |
4772 | } |
4773 | ||
4774 | void | |
4775 | set_gdbarch_dtrace_parse_probe_argument (struct gdbarch *gdbarch, | |
adc48a49 | 4776 | gdbarch_dtrace_parse_probe_argument_ftype dtrace_parse_probe_argument) |
8b367e17 JM |
4777 | { |
4778 | gdbarch->dtrace_parse_probe_argument = dtrace_parse_probe_argument; | |
4779 | } | |
4780 | ||
39535193 | 4781 | bool |
8b367e17 JM |
4782 | gdbarch_dtrace_probe_is_enabled_p (struct gdbarch *gdbarch) |
4783 | { | |
4784 | gdb_assert (gdbarch != NULL); | |
4785 | return gdbarch->dtrace_probe_is_enabled != NULL; | |
4786 | } | |
4787 | ||
4788 | int | |
4789 | gdbarch_dtrace_probe_is_enabled (struct gdbarch *gdbarch, CORE_ADDR addr) | |
4790 | { | |
4791 | gdb_assert (gdbarch != NULL); | |
4792 | gdb_assert (gdbarch->dtrace_probe_is_enabled != NULL); | |
4793 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4794 | gdb_printf (gdb_stdlog, "gdbarch_dtrace_probe_is_enabled called\n"); |
8b367e17 JM |
4795 | return gdbarch->dtrace_probe_is_enabled (gdbarch, addr); |
4796 | } | |
4797 | ||
4798 | void | |
4799 | set_gdbarch_dtrace_probe_is_enabled (struct gdbarch *gdbarch, | |
adc48a49 | 4800 | gdbarch_dtrace_probe_is_enabled_ftype dtrace_probe_is_enabled) |
8b367e17 JM |
4801 | { |
4802 | gdbarch->dtrace_probe_is_enabled = dtrace_probe_is_enabled; | |
4803 | } | |
4804 | ||
39535193 | 4805 | bool |
8b367e17 JM |
4806 | gdbarch_dtrace_enable_probe_p (struct gdbarch *gdbarch) |
4807 | { | |
4808 | gdb_assert (gdbarch != NULL); | |
4809 | return gdbarch->dtrace_enable_probe != NULL; | |
4810 | } | |
4811 | ||
4812 | void | |
4813 | gdbarch_dtrace_enable_probe (struct gdbarch *gdbarch, CORE_ADDR addr) | |
4814 | { | |
4815 | gdb_assert (gdbarch != NULL); | |
4816 | gdb_assert (gdbarch->dtrace_enable_probe != NULL); | |
4817 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4818 | gdb_printf (gdb_stdlog, "gdbarch_dtrace_enable_probe called\n"); |
8b367e17 JM |
4819 | gdbarch->dtrace_enable_probe (gdbarch, addr); |
4820 | } | |
4821 | ||
4822 | void | |
4823 | set_gdbarch_dtrace_enable_probe (struct gdbarch *gdbarch, | |
adc48a49 | 4824 | gdbarch_dtrace_enable_probe_ftype dtrace_enable_probe) |
8b367e17 JM |
4825 | { |
4826 | gdbarch->dtrace_enable_probe = dtrace_enable_probe; | |
4827 | } | |
4828 | ||
39535193 | 4829 | bool |
8b367e17 JM |
4830 | gdbarch_dtrace_disable_probe_p (struct gdbarch *gdbarch) |
4831 | { | |
4832 | gdb_assert (gdbarch != NULL); | |
4833 | return gdbarch->dtrace_disable_probe != NULL; | |
4834 | } | |
4835 | ||
4836 | void | |
4837 | gdbarch_dtrace_disable_probe (struct gdbarch *gdbarch, CORE_ADDR addr) | |
4838 | { | |
4839 | gdb_assert (gdbarch != NULL); | |
4840 | gdb_assert (gdbarch->dtrace_disable_probe != NULL); | |
4841 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4842 | gdb_printf (gdb_stdlog, "gdbarch_dtrace_disable_probe called\n"); |
8b367e17 JM |
4843 | gdbarch->dtrace_disable_probe (gdbarch, addr); |
4844 | } | |
4845 | ||
4846 | void | |
4847 | set_gdbarch_dtrace_disable_probe (struct gdbarch *gdbarch, | |
adc48a49 | 4848 | gdbarch_dtrace_disable_probe_ftype dtrace_disable_probe) |
8b367e17 JM |
4849 | { |
4850 | gdbarch->dtrace_disable_probe = dtrace_disable_probe; | |
4851 | } | |
4852 | ||
50c71eaf PA |
4853 | int |
4854 | gdbarch_has_global_solist (struct gdbarch *gdbarch) | |
4855 | { | |
4856 | gdb_assert (gdbarch != NULL); | |
4857 | /* Skip verify of has_global_solist, invalid_p == 0 */ | |
4858 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4859 | gdb_printf (gdb_stdlog, "gdbarch_has_global_solist called\n"); |
50c71eaf PA |
4860 | return gdbarch->has_global_solist; |
4861 | } | |
4862 | ||
4863 | void | |
4864 | set_gdbarch_has_global_solist (struct gdbarch *gdbarch, | |
adc48a49 | 4865 | int has_global_solist) |
50c71eaf PA |
4866 | { |
4867 | gdbarch->has_global_solist = has_global_solist; | |
4868 | } | |
4869 | ||
2567c7d9 PA |
4870 | int |
4871 | gdbarch_has_global_breakpoints (struct gdbarch *gdbarch) | |
4872 | { | |
4873 | gdb_assert (gdbarch != NULL); | |
4874 | /* Skip verify of has_global_breakpoints, invalid_p == 0 */ | |
4875 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4876 | gdb_printf (gdb_stdlog, "gdbarch_has_global_breakpoints called\n"); |
2567c7d9 PA |
4877 | return gdbarch->has_global_breakpoints; |
4878 | } | |
4879 | ||
4880 | void | |
4881 | set_gdbarch_has_global_breakpoints (struct gdbarch *gdbarch, | |
adc48a49 | 4882 | int has_global_breakpoints) |
2567c7d9 PA |
4883 | { |
4884 | gdbarch->has_global_breakpoints = has_global_breakpoints; | |
4885 | } | |
4886 | ||
6c95b8df PA |
4887 | int |
4888 | gdbarch_has_shared_address_space (struct gdbarch *gdbarch) | |
4889 | { | |
4890 | gdb_assert (gdbarch != NULL); | |
4891 | gdb_assert (gdbarch->has_shared_address_space != NULL); | |
4892 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4893 | gdb_printf (gdb_stdlog, "gdbarch_has_shared_address_space called\n"); |
6c95b8df PA |
4894 | return gdbarch->has_shared_address_space (gdbarch); |
4895 | } | |
4896 | ||
4897 | void | |
4898 | set_gdbarch_has_shared_address_space (struct gdbarch *gdbarch, | |
adc48a49 | 4899 | gdbarch_has_shared_address_space_ftype has_shared_address_space) |
6c95b8df PA |
4900 | { |
4901 | gdbarch->has_shared_address_space = has_shared_address_space; | |
4902 | } | |
4903 | ||
7a697b8d | 4904 | int |
281d762b | 4905 | gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg) |
7a697b8d SS |
4906 | { |
4907 | gdb_assert (gdbarch != NULL); | |
4908 | gdb_assert (gdbarch->fast_tracepoint_valid_at != NULL); | |
4909 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4910 | gdb_printf (gdb_stdlog, "gdbarch_fast_tracepoint_valid_at called\n"); |
6b940e6a | 4911 | return gdbarch->fast_tracepoint_valid_at (gdbarch, addr, msg); |
7a697b8d SS |
4912 | } |
4913 | ||
4914 | void | |
4915 | set_gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, | |
adc48a49 | 4916 | gdbarch_fast_tracepoint_valid_at_ftype fast_tracepoint_valid_at) |
7a697b8d SS |
4917 | { |
4918 | gdbarch->fast_tracepoint_valid_at = fast_tracepoint_valid_at; | |
4919 | } | |
4920 | ||
5f034a78 MK |
4921 | void |
4922 | gdbarch_guess_tracepoint_registers (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) | |
4923 | { | |
4924 | gdb_assert (gdbarch != NULL); | |
4925 | gdb_assert (gdbarch->guess_tracepoint_registers != NULL); | |
4926 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4927 | gdb_printf (gdb_stdlog, "gdbarch_guess_tracepoint_registers called\n"); |
5f034a78 MK |
4928 | gdbarch->guess_tracepoint_registers (gdbarch, regcache, addr); |
4929 | } | |
4930 | ||
4931 | void | |
4932 | set_gdbarch_guess_tracepoint_registers (struct gdbarch *gdbarch, | |
adc48a49 | 4933 | gdbarch_guess_tracepoint_registers_ftype guess_tracepoint_registers) |
5f034a78 MK |
4934 | { |
4935 | gdbarch->guess_tracepoint_registers = guess_tracepoint_registers; | |
4936 | } | |
4937 | ||
f870a310 TT |
4938 | const char * |
4939 | gdbarch_auto_charset (struct gdbarch *gdbarch) | |
4940 | { | |
4941 | gdb_assert (gdbarch != NULL); | |
4942 | gdb_assert (gdbarch->auto_charset != NULL); | |
4943 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4944 | gdb_printf (gdb_stdlog, "gdbarch_auto_charset called\n"); |
f870a310 TT |
4945 | return gdbarch->auto_charset (); |
4946 | } | |
4947 | ||
4948 | void | |
4949 | set_gdbarch_auto_charset (struct gdbarch *gdbarch, | |
adc48a49 | 4950 | gdbarch_auto_charset_ftype auto_charset) |
f870a310 TT |
4951 | { |
4952 | gdbarch->auto_charset = auto_charset; | |
4953 | } | |
4954 | ||
4955 | const char * | |
4956 | gdbarch_auto_wide_charset (struct gdbarch *gdbarch) | |
4957 | { | |
4958 | gdb_assert (gdbarch != NULL); | |
4959 | gdb_assert (gdbarch->auto_wide_charset != NULL); | |
4960 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4961 | gdb_printf (gdb_stdlog, "gdbarch_auto_wide_charset called\n"); |
f870a310 TT |
4962 | return gdbarch->auto_wide_charset (); |
4963 | } | |
4964 | ||
4965 | void | |
4966 | set_gdbarch_auto_wide_charset (struct gdbarch *gdbarch, | |
adc48a49 | 4967 | gdbarch_auto_wide_charset_ftype auto_wide_charset) |
f870a310 TT |
4968 | { |
4969 | gdbarch->auto_wide_charset = auto_wide_charset; | |
4970 | } | |
4971 | ||
08105857 PA |
4972 | const char * |
4973 | gdbarch_solib_symbols_extension (struct gdbarch *gdbarch) | |
4974 | { | |
4975 | gdb_assert (gdbarch != NULL); | |
a5118a18 | 4976 | /* Skip verify of solib_symbols_extension, invalid_p == 0 */ |
08105857 | 4977 | if (gdbarch_debug >= 2) |
6cb06a8c | 4978 | gdb_printf (gdb_stdlog, "gdbarch_solib_symbols_extension called\n"); |
08105857 PA |
4979 | return gdbarch->solib_symbols_extension; |
4980 | } | |
4981 | ||
4982 | void | |
4983 | set_gdbarch_solib_symbols_extension (struct gdbarch *gdbarch, | |
adc48a49 | 4984 | const char * solib_symbols_extension) |
08105857 PA |
4985 | { |
4986 | gdbarch->solib_symbols_extension = solib_symbols_extension; | |
4987 | } | |
4988 | ||
ab38a727 PA |
4989 | int |
4990 | gdbarch_has_dos_based_file_system (struct gdbarch *gdbarch) | |
4991 | { | |
4992 | gdb_assert (gdbarch != NULL); | |
4993 | /* Skip verify of has_dos_based_file_system, invalid_p == 0 */ | |
4994 | if (gdbarch_debug >= 2) | |
6cb06a8c | 4995 | gdb_printf (gdb_stdlog, "gdbarch_has_dos_based_file_system called\n"); |
ab38a727 PA |
4996 | return gdbarch->has_dos_based_file_system; |
4997 | } | |
4998 | ||
4999 | void | |
5000 | set_gdbarch_has_dos_based_file_system (struct gdbarch *gdbarch, | |
adc48a49 | 5001 | int has_dos_based_file_system) |
ab38a727 PA |
5002 | { |
5003 | gdbarch->has_dos_based_file_system = has_dos_based_file_system; | |
5004 | } | |
5005 | ||
6710bf39 SS |
5006 | void |
5007 | gdbarch_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope) | |
5008 | { | |
5009 | gdb_assert (gdbarch != NULL); | |
5010 | gdb_assert (gdbarch->gen_return_address != NULL); | |
5011 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5012 | gdb_printf (gdb_stdlog, "gdbarch_gen_return_address called\n"); |
6710bf39 SS |
5013 | gdbarch->gen_return_address (gdbarch, ax, value, scope); |
5014 | } | |
5015 | ||
5016 | void | |
5017 | set_gdbarch_gen_return_address (struct gdbarch *gdbarch, | |
adc48a49 | 5018 | gdbarch_gen_return_address_ftype gen_return_address) |
6710bf39 SS |
5019 | { |
5020 | gdbarch->gen_return_address = gen_return_address; | |
5021 | } | |
5022 | ||
39535193 | 5023 | bool |
3030c96e UW |
5024 | gdbarch_info_proc_p (struct gdbarch *gdbarch) |
5025 | { | |
5026 | gdb_assert (gdbarch != NULL); | |
5027 | return gdbarch->info_proc != NULL; | |
5028 | } | |
5029 | ||
5030 | void | |
7bc112c1 | 5031 | gdbarch_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what) |
3030c96e UW |
5032 | { |
5033 | gdb_assert (gdbarch != NULL); | |
5034 | gdb_assert (gdbarch->info_proc != NULL); | |
5035 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5036 | gdb_printf (gdb_stdlog, "gdbarch_info_proc called\n"); |
3030c96e UW |
5037 | gdbarch->info_proc (gdbarch, args, what); |
5038 | } | |
5039 | ||
5040 | void | |
5041 | set_gdbarch_info_proc (struct gdbarch *gdbarch, | |
adc48a49 | 5042 | gdbarch_info_proc_ftype info_proc) |
3030c96e UW |
5043 | { |
5044 | gdbarch->info_proc = info_proc; | |
5045 | } | |
5046 | ||
39535193 | 5047 | bool |
451b7c33 TT |
5048 | gdbarch_core_info_proc_p (struct gdbarch *gdbarch) |
5049 | { | |
5050 | gdb_assert (gdbarch != NULL); | |
5051 | return gdbarch->core_info_proc != NULL; | |
5052 | } | |
5053 | ||
5054 | void | |
7bc112c1 | 5055 | gdbarch_core_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what) |
451b7c33 TT |
5056 | { |
5057 | gdb_assert (gdbarch != NULL); | |
5058 | gdb_assert (gdbarch->core_info_proc != NULL); | |
5059 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5060 | gdb_printf (gdb_stdlog, "gdbarch_core_info_proc called\n"); |
451b7c33 TT |
5061 | gdbarch->core_info_proc (gdbarch, args, what); |
5062 | } | |
5063 | ||
5064 | void | |
5065 | set_gdbarch_core_info_proc (struct gdbarch *gdbarch, | |
adc48a49 | 5066 | gdbarch_core_info_proc_ftype core_info_proc) |
451b7c33 TT |
5067 | { |
5068 | gdbarch->core_info_proc = core_info_proc; | |
5069 | } | |
5070 | ||
19630284 | 5071 | void |
6e9cd73e | 5072 | gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype cb, struct objfile *current_objfile) |
19630284 JB |
5073 | { |
5074 | gdb_assert (gdbarch != NULL); | |
5075 | gdb_assert (gdbarch->iterate_over_objfiles_in_search_order != NULL); | |
5076 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5077 | gdb_printf (gdb_stdlog, "gdbarch_iterate_over_objfiles_in_search_order called\n"); |
6e9cd73e | 5078 | gdbarch->iterate_over_objfiles_in_search_order (gdbarch, cb, current_objfile); |
19630284 JB |
5079 | } |
5080 | ||
5081 | void | |
5082 | set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, | |
adc48a49 | 5083 | gdbarch_iterate_over_objfiles_in_search_order_ftype iterate_over_objfiles_in_search_order) |
19630284 JB |
5084 | { |
5085 | gdbarch->iterate_over_objfiles_in_search_order = iterate_over_objfiles_in_search_order; | |
5086 | } | |
5087 | ||
7e35103a JB |
5088 | struct ravenscar_arch_ops * |
5089 | gdbarch_ravenscar_ops (struct gdbarch *gdbarch) | |
5090 | { | |
5091 | gdb_assert (gdbarch != NULL); | |
5092 | /* Skip verify of ravenscar_ops, invalid_p == 0 */ | |
5093 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5094 | gdb_printf (gdb_stdlog, "gdbarch_ravenscar_ops called\n"); |
7e35103a JB |
5095 | return gdbarch->ravenscar_ops; |
5096 | } | |
5097 | ||
5098 | void | |
5099 | set_gdbarch_ravenscar_ops (struct gdbarch *gdbarch, | |
adc48a49 | 5100 | struct ravenscar_arch_ops * ravenscar_ops) |
7e35103a JB |
5101 | { |
5102 | gdbarch->ravenscar_ops = ravenscar_ops; | |
5103 | } | |
5104 | ||
c2170eef MM |
5105 | int |
5106 | gdbarch_insn_is_call (struct gdbarch *gdbarch, CORE_ADDR addr) | |
5107 | { | |
5108 | gdb_assert (gdbarch != NULL); | |
5109 | gdb_assert (gdbarch->insn_is_call != NULL); | |
5110 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5111 | gdb_printf (gdb_stdlog, "gdbarch_insn_is_call called\n"); |
c2170eef MM |
5112 | return gdbarch->insn_is_call (gdbarch, addr); |
5113 | } | |
5114 | ||
5115 | void | |
5116 | set_gdbarch_insn_is_call (struct gdbarch *gdbarch, | |
adc48a49 | 5117 | gdbarch_insn_is_call_ftype insn_is_call) |
c2170eef MM |
5118 | { |
5119 | gdbarch->insn_is_call = insn_is_call; | |
5120 | } | |
5121 | ||
5122 | int | |
5123 | gdbarch_insn_is_ret (struct gdbarch *gdbarch, CORE_ADDR addr) | |
5124 | { | |
5125 | gdb_assert (gdbarch != NULL); | |
5126 | gdb_assert (gdbarch->insn_is_ret != NULL); | |
5127 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5128 | gdb_printf (gdb_stdlog, "gdbarch_insn_is_ret called\n"); |
c2170eef MM |
5129 | return gdbarch->insn_is_ret (gdbarch, addr); |
5130 | } | |
5131 | ||
5132 | void | |
5133 | set_gdbarch_insn_is_ret (struct gdbarch *gdbarch, | |
adc48a49 | 5134 | gdbarch_insn_is_ret_ftype insn_is_ret) |
c2170eef MM |
5135 | { |
5136 | gdbarch->insn_is_ret = insn_is_ret; | |
5137 | } | |
5138 | ||
5139 | int | |
5140 | gdbarch_insn_is_jump (struct gdbarch *gdbarch, CORE_ADDR addr) | |
5141 | { | |
5142 | gdb_assert (gdbarch != NULL); | |
5143 | gdb_assert (gdbarch->insn_is_jump != NULL); | |
5144 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5145 | gdb_printf (gdb_stdlog, "gdbarch_insn_is_jump called\n"); |
c2170eef MM |
5146 | return gdbarch->insn_is_jump (gdbarch, addr); |
5147 | } | |
5148 | ||
5149 | void | |
5150 | set_gdbarch_insn_is_jump (struct gdbarch *gdbarch, | |
adc48a49 | 5151 | gdbarch_insn_is_jump_ftype insn_is_jump) |
c2170eef MM |
5152 | { |
5153 | gdbarch->insn_is_jump = insn_is_jump; | |
5154 | } | |
5155 | ||
5133a315 LM |
5156 | bool |
5157 | gdbarch_program_breakpoint_here_p (struct gdbarch *gdbarch, CORE_ADDR address) | |
5158 | { | |
5159 | gdb_assert (gdbarch != NULL); | |
5160 | gdb_assert (gdbarch->program_breakpoint_here_p != NULL); | |
5161 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5162 | gdb_printf (gdb_stdlog, "gdbarch_program_breakpoint_here_p called\n"); |
5133a315 LM |
5163 | return gdbarch->program_breakpoint_here_p (gdbarch, address); |
5164 | } | |
5165 | ||
5166 | void | |
5167 | set_gdbarch_program_breakpoint_here_p (struct gdbarch *gdbarch, | |
adc48a49 | 5168 | gdbarch_program_breakpoint_here_p_ftype program_breakpoint_here_p) |
5133a315 LM |
5169 | { |
5170 | gdbarch->program_breakpoint_here_p = program_breakpoint_here_p; | |
5171 | } | |
5172 | ||
39535193 | 5173 | bool |
27a48a92 MK |
5174 | gdbarch_auxv_parse_p (struct gdbarch *gdbarch) |
5175 | { | |
5176 | gdb_assert (gdbarch != NULL); | |
5177 | return gdbarch->auxv_parse != NULL; | |
5178 | } | |
5179 | ||
5180 | int | |
3fe639b8 | 5181 | gdbarch_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr, const gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp) |
27a48a92 MK |
5182 | { |
5183 | gdb_assert (gdbarch != NULL); | |
5184 | gdb_assert (gdbarch->auxv_parse != NULL); | |
5185 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5186 | gdb_printf (gdb_stdlog, "gdbarch_auxv_parse called\n"); |
27a48a92 MK |
5187 | return gdbarch->auxv_parse (gdbarch, readptr, endptr, typep, valp); |
5188 | } | |
5189 | ||
5190 | void | |
5191 | set_gdbarch_auxv_parse (struct gdbarch *gdbarch, | |
adc48a49 | 5192 | gdbarch_auxv_parse_ftype auxv_parse) |
27a48a92 MK |
5193 | { |
5194 | gdbarch->auxv_parse = auxv_parse; | |
5195 | } | |
5196 | ||
2faa3447 JB |
5197 | void |
5198 | gdbarch_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file, CORE_ADDR type, CORE_ADDR val) | |
5199 | { | |
5200 | gdb_assert (gdbarch != NULL); | |
5201 | gdb_assert (gdbarch->print_auxv_entry != NULL); | |
5202 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5203 | gdb_printf (gdb_stdlog, "gdbarch_print_auxv_entry called\n"); |
2faa3447 JB |
5204 | gdbarch->print_auxv_entry (gdbarch, file, type, val); |
5205 | } | |
5206 | ||
5207 | void | |
5208 | set_gdbarch_print_auxv_entry (struct gdbarch *gdbarch, | |
adc48a49 | 5209 | gdbarch_print_auxv_entry_ftype print_auxv_entry) |
2faa3447 JB |
5210 | { |
5211 | gdbarch->print_auxv_entry = print_auxv_entry; | |
5212 | } | |
5213 | ||
3437254d PA |
5214 | int |
5215 | gdbarch_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range) | |
5216 | { | |
5217 | gdb_assert (gdbarch != NULL); | |
5218 | gdb_assert (gdbarch->vsyscall_range != NULL); | |
5219 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5220 | gdb_printf (gdb_stdlog, "gdbarch_vsyscall_range called\n"); |
3437254d PA |
5221 | return gdbarch->vsyscall_range (gdbarch, range); |
5222 | } | |
5223 | ||
5224 | void | |
5225 | set_gdbarch_vsyscall_range (struct gdbarch *gdbarch, | |
adc48a49 | 5226 | gdbarch_vsyscall_range_ftype vsyscall_range) |
3437254d PA |
5227 | { |
5228 | gdbarch->vsyscall_range = vsyscall_range; | |
5229 | } | |
5230 | ||
f208eee0 JK |
5231 | CORE_ADDR |
5232 | gdbarch_infcall_mmap (struct gdbarch *gdbarch, CORE_ADDR size, unsigned prot) | |
5233 | { | |
5234 | gdb_assert (gdbarch != NULL); | |
5235 | gdb_assert (gdbarch->infcall_mmap != NULL); | |
5236 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5237 | gdb_printf (gdb_stdlog, "gdbarch_infcall_mmap called\n"); |
f208eee0 JK |
5238 | return gdbarch->infcall_mmap (size, prot); |
5239 | } | |
5240 | ||
5241 | void | |
5242 | set_gdbarch_infcall_mmap (struct gdbarch *gdbarch, | |
adc48a49 | 5243 | gdbarch_infcall_mmap_ftype infcall_mmap) |
f208eee0 JK |
5244 | { |
5245 | gdbarch->infcall_mmap = infcall_mmap; | |
5246 | } | |
5247 | ||
7f361056 JK |
5248 | void |
5249 | gdbarch_infcall_munmap (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR size) | |
5250 | { | |
5251 | gdb_assert (gdbarch != NULL); | |
5252 | gdb_assert (gdbarch->infcall_munmap != NULL); | |
5253 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5254 | gdb_printf (gdb_stdlog, "gdbarch_infcall_munmap called\n"); |
7f361056 JK |
5255 | gdbarch->infcall_munmap (addr, size); |
5256 | } | |
5257 | ||
5258 | void | |
5259 | set_gdbarch_infcall_munmap (struct gdbarch *gdbarch, | |
adc48a49 | 5260 | gdbarch_infcall_munmap_ftype infcall_munmap) |
7f361056 JK |
5261 | { |
5262 | gdbarch->infcall_munmap = infcall_munmap; | |
5263 | } | |
5264 | ||
953cff56 | 5265 | std::string |
f208eee0 JK |
5266 | gdbarch_gcc_target_options (struct gdbarch *gdbarch) |
5267 | { | |
5268 | gdb_assert (gdbarch != NULL); | |
5269 | gdb_assert (gdbarch->gcc_target_options != NULL); | |
5270 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5271 | gdb_printf (gdb_stdlog, "gdbarch_gcc_target_options called\n"); |
f208eee0 JK |
5272 | return gdbarch->gcc_target_options (gdbarch); |
5273 | } | |
5274 | ||
5275 | void | |
5276 | set_gdbarch_gcc_target_options (struct gdbarch *gdbarch, | |
adc48a49 | 5277 | gdbarch_gcc_target_options_ftype gcc_target_options) |
f208eee0 JK |
5278 | { |
5279 | gdbarch->gcc_target_options = gcc_target_options; | |
5280 | } | |
5281 | ||
ac04f72b TT |
5282 | const char * |
5283 | gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch) | |
5284 | { | |
5285 | gdb_assert (gdbarch != NULL); | |
5286 | gdb_assert (gdbarch->gnu_triplet_regexp != NULL); | |
5287 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5288 | gdb_printf (gdb_stdlog, "gdbarch_gnu_triplet_regexp called\n"); |
ac04f72b TT |
5289 | return gdbarch->gnu_triplet_regexp (gdbarch); |
5290 | } | |
5291 | ||
5292 | void | |
5293 | set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch, | |
adc48a49 | 5294 | gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp) |
ac04f72b TT |
5295 | { |
5296 | gdbarch->gnu_triplet_regexp = gnu_triplet_regexp; | |
5297 | } | |
5298 | ||
3374165f SM |
5299 | int |
5300 | gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch) | |
5301 | { | |
5302 | gdb_assert (gdbarch != NULL); | |
5303 | gdb_assert (gdbarch->addressable_memory_unit_size != NULL); | |
5304 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5305 | gdb_printf (gdb_stdlog, "gdbarch_addressable_memory_unit_size called\n"); |
3374165f SM |
5306 | return gdbarch->addressable_memory_unit_size (gdbarch); |
5307 | } | |
5308 | ||
5309 | void | |
5310 | set_gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch, | |
adc48a49 | 5311 | gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size) |
3374165f SM |
5312 | { |
5313 | gdbarch->addressable_memory_unit_size = addressable_memory_unit_size; | |
5314 | } | |
5315 | ||
471b9d15 MR |
5316 | const char * |
5317 | gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch) | |
5318 | { | |
5319 | gdb_assert (gdbarch != NULL); | |
5320 | /* Skip verify of disassembler_options_implicit, invalid_p == 0 */ | |
5321 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5322 | gdb_printf (gdb_stdlog, "gdbarch_disassembler_options_implicit called\n"); |
471b9d15 MR |
5323 | return gdbarch->disassembler_options_implicit; |
5324 | } | |
5325 | ||
5326 | void | |
5327 | set_gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch, | |
adc48a49 | 5328 | const char * disassembler_options_implicit) |
471b9d15 MR |
5329 | { |
5330 | gdbarch->disassembler_options_implicit = disassembler_options_implicit; | |
5331 | } | |
5332 | ||
65b48a81 PB |
5333 | char ** |
5334 | gdbarch_disassembler_options (struct gdbarch *gdbarch) | |
5335 | { | |
5336 | gdb_assert (gdbarch != NULL); | |
5337 | /* Skip verify of disassembler_options, invalid_p == 0 */ | |
5338 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5339 | gdb_printf (gdb_stdlog, "gdbarch_disassembler_options called\n"); |
65b48a81 PB |
5340 | return gdbarch->disassembler_options; |
5341 | } | |
5342 | ||
5343 | void | |
5344 | set_gdbarch_disassembler_options (struct gdbarch *gdbarch, | |
adc48a49 | 5345 | char ** disassembler_options) |
65b48a81 PB |
5346 | { |
5347 | gdbarch->disassembler_options = disassembler_options; | |
5348 | } | |
5349 | ||
471b9d15 | 5350 | const disasm_options_and_args_t * |
65b48a81 PB |
5351 | gdbarch_valid_disassembler_options (struct gdbarch *gdbarch) |
5352 | { | |
5353 | gdb_assert (gdbarch != NULL); | |
5354 | /* Skip verify of valid_disassembler_options, invalid_p == 0 */ | |
5355 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5356 | gdb_printf (gdb_stdlog, "gdbarch_valid_disassembler_options called\n"); |
65b48a81 PB |
5357 | return gdbarch->valid_disassembler_options; |
5358 | } | |
5359 | ||
5360 | void | |
5361 | set_gdbarch_valid_disassembler_options (struct gdbarch *gdbarch, | |
adc48a49 | 5362 | const disasm_options_and_args_t * valid_disassembler_options) |
65b48a81 PB |
5363 | { |
5364 | gdbarch->valid_disassembler_options = valid_disassembler_options; | |
5365 | } | |
5366 | ||
2b4424c3 TT |
5367 | ULONGEST |
5368 | gdbarch_type_align (struct gdbarch *gdbarch, struct type *type) | |
5369 | { | |
5370 | gdb_assert (gdbarch != NULL); | |
5371 | gdb_assert (gdbarch->type_align != NULL); | |
5372 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5373 | gdb_printf (gdb_stdlog, "gdbarch_type_align called\n"); |
2b4424c3 TT |
5374 | return gdbarch->type_align (gdbarch, type); |
5375 | } | |
5376 | ||
5377 | void | |
5378 | set_gdbarch_type_align (struct gdbarch *gdbarch, | |
adc48a49 | 5379 | gdbarch_type_align_ftype type_align) |
2b4424c3 TT |
5380 | { |
5381 | gdbarch->type_align = type_align; | |
5382 | } | |
5383 | ||
aa7ca1bb | 5384 | std::string |
bd2b40ac | 5385 | gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) |
aa7ca1bb AH |
5386 | { |
5387 | gdb_assert (gdbarch != NULL); | |
5388 | gdb_assert (gdbarch->get_pc_address_flags != NULL); | |
5389 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5390 | gdb_printf (gdb_stdlog, "gdbarch_get_pc_address_flags called\n"); |
aa7ca1bb AH |
5391 | return gdbarch->get_pc_address_flags (frame, pc); |
5392 | } | |
5393 | ||
5394 | void | |
5395 | set_gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, | |
adc48a49 | 5396 | gdbarch_get_pc_address_flags_ftype get_pc_address_flags) |
aa7ca1bb AH |
5397 | { |
5398 | gdbarch->get_pc_address_flags = get_pc_address_flags; | |
5399 | } | |
5400 | ||
7e183d27 | 5401 | void |
aa95b2d4 | 5402 | gdbarch_read_core_file_mappings (struct gdbarch *gdbarch, struct bfd *cbfd, read_core_file_mappings_pre_loop_ftype pre_loop_cb, read_core_file_mappings_loop_ftype loop_cb) |
7e183d27 KB |
5403 | { |
5404 | gdb_assert (gdbarch != NULL); | |
5405 | gdb_assert (gdbarch->read_core_file_mappings != NULL); | |
5406 | if (gdbarch_debug >= 2) | |
6cb06a8c | 5407 | gdb_printf (gdb_stdlog, "gdbarch_read_core_file_mappings called\n"); |
7e183d27 KB |
5408 | gdbarch->read_core_file_mappings (gdbarch, cbfd, pre_loop_cb, loop_cb); |
5409 | } | |
5410 | ||
5411 | void | |
5412 | set_gdbarch_read_core_file_mappings (struct gdbarch *gdbarch, | |
adc48a49 | 5413 | gdbarch_read_core_file_mappings_ftype read_core_file_mappings) |
7e183d27 KB |
5414 | { |
5415 | gdbarch->read_core_file_mappings = read_core_file_mappings; | |
5416 | } | |
b93d537f LM |
5417 | |
5418 | bool | |
5419 | gdbarch_use_target_description_from_corefile_notes (struct gdbarch *gdbarch, struct bfd *corefile_bfd) | |
5420 | { | |
5421 | gdb_assert (gdbarch != NULL); | |
5422 | gdb_assert (gdbarch->use_target_description_from_corefile_notes != NULL); | |
5423 | if (gdbarch_debug >= 2) | |
5424 | gdb_printf (gdb_stdlog, "gdbarch_use_target_description_from_corefile_notes called\n"); | |
5425 | return gdbarch->use_target_description_from_corefile_notes (gdbarch, corefile_bfd); | |
5426 | } | |
5427 | ||
5428 | void | |
5429 | set_gdbarch_use_target_description_from_corefile_notes (struct gdbarch *gdbarch, | |
5430 | gdbarch_use_target_description_from_corefile_notes_ftype use_target_description_from_corefile_notes) | |
5431 | { | |
5432 | gdbarch->use_target_description_from_corefile_notes = use_target_description_from_corefile_notes; | |
5433 | } |