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