* config/djgpp/fnchange.lst: Add translation rules for
[deliverable/binutils-gdb.git] / gdb / gdbarch.c
CommitLineData
59233f88
AC
1/* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
2
adf40b2e 3/* Dynamic architecture support for GDB, the GNU debugger.
79d45cd4
AC
4
5 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
6 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
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
c906108c 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.
c906108c 19
96baa820
JM
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330,
23 Boston, MA 02111-1307, USA. */
adf40b2e 24
104c1213
JM
25/* This file was created with the aid of ``gdbarch.sh''.
26
52204a0b 27 The Bourne shell script ``gdbarch.sh'' creates the files
104c1213
JM
28 ``new-gdbarch.c'' and ``new-gdbarch.h and then compares them
29 against the existing ``gdbarch.[hc]''. Any differences found
30 being reported.
31
32 If editing this file, please also run gdbarch.sh and merge any
52204a0b 33 changes into that script. Conversely, when making sweeping changes
104c1213
JM
34 to this file, modifying gdbarch.sh and using its output may prove
35 easier. */
c906108c 36
c906108c
SS
37
38#include "defs.h"
1ad03bde 39#include "arch-utils.h"
c906108c 40
0f71a2f6 41#include "gdbcmd.h"
adf40b2e 42#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */
7a292a7a 43#include "symcat.h"
c906108c 44
f0d4cc9e 45#include "floatformat.h"
c906108c 46
95160752 47#include "gdb_assert.h"
b66d6d2e 48#include "gdb_string.h"
67c2c32c 49#include "gdb-events.h"
b59ff9d5 50#include "reggroups.h"
4be87837 51#include "osabi.h"
aebd7893 52#include "gdb_obstack.h"
95160752 53
104c1213
JM
54/* Static function declarations */
55
b3cc3077 56static void alloc_gdbarch_data (struct gdbarch *);
104c1213 57
0f71a2f6
JM
58/* Non-zero if we want to trace architecture code. */
59
60#ifndef GDBARCH_DEBUG
61#define GDBARCH_DEBUG 0
62#endif
63int gdbarch_debug = GDBARCH_DEBUG;
64
65
66/* Maintain the struct gdbarch object */
67
68struct gdbarch
adf40b2e 69{
76860b5f
AC
70 /* Has this architecture been fully initialized? */
71 int initialized_p;
aebd7893
AC
72
73 /* An obstack bound to the lifetime of the architecture. */
74 struct obstack *obstack;
75
adf40b2e
JM
76 /* basic architectural information */
77 const struct bfd_arch_info * bfd_arch_info;
78 int byte_order;
4be87837 79 enum gdb_osabi osabi;
0f71a2f6 80
adf40b2e
JM
81 /* target specific vector. */
82 struct gdbarch_tdep *tdep;
4b9b3959 83 gdbarch_dump_tdep_ftype *dump_tdep;
0f71a2f6 84
adf40b2e 85 /* per-architecture data-pointers */
95160752 86 unsigned nr_data;
adf40b2e 87 void **data;
0f71a2f6 88
adf40b2e
JM
89 /* per-architecture swap-regions */
90 struct gdbarch_swap *swap;
0f71a2f6 91
adf40b2e 92 /* Multi-arch values.
0f71a2f6 93
adf40b2e 94 When extending this structure you must:
0f71a2f6 95
adf40b2e 96 Add the field below.
0f71a2f6 97
adf40b2e
JM
98 Declare set/get functions and define the corresponding
99 macro in gdbarch.h.
0f71a2f6 100
adf40b2e
JM
101 gdbarch_alloc(): If zero/NULL is not a suitable default,
102 initialize the new field.
0f71a2f6 103
adf40b2e
JM
104 verify_gdbarch(): Confirm that the target updated the field
105 correctly.
0f71a2f6 106
7e73cedf 107 gdbarch_dump(): Add a fprintf_unfiltered call so that the new
adf40b2e 108 field is dumped out
0f71a2f6 109
c0e8c252 110 ``startup_gdbarch()'': Append an initial value to the static
adf40b2e 111 variable (base values on the host's c-type system).
0f71a2f6 112
adf40b2e
JM
113 get_gdbarch(): Implement the set/get functions (probably using
114 the macro's as shortcuts).
0f71a2f6
JM
115
116 */
117
adf40b2e
JM
118 int short_bit;
119 int int_bit;
120 int long_bit;
121 int long_long_bit;
122 int float_bit;
123 int double_bit;
124 int long_double_bit;
66b43ecb 125 int ptr_bit;
52204a0b 126 int addr_bit;
66b43ecb 127 int bfd_vma_bit;
4e409299 128 int char_signed;
adf40b2e
JM
129 gdbarch_read_pc_ftype *read_pc;
130 gdbarch_write_pc_ftype *write_pc;
adf40b2e 131 gdbarch_read_sp_ftype *read_sp;
39d4ef09 132 gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer;
d8124050
AC
133 gdbarch_pseudo_register_read_ftype *pseudo_register_read;
134 gdbarch_pseudo_register_write_ftype *pseudo_register_write;
adf40b2e 135 int num_regs;
0aba1244 136 int num_pseudo_regs;
adf40b2e 137 int sp_regnum;
adf40b2e 138 int pc_regnum;
c2169756 139 int ps_regnum;
60054393 140 int fp0_regnum;
88c72b7d
AC
141 gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum;
142 gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum;
143 gdbarch_dwarf_reg_to_regnum_ftype *dwarf_reg_to_regnum;
144 gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum;
145 gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum;
adf40b2e 146 gdbarch_register_name_ftype *register_name;
9c04cab7
AC
147 gdbarch_register_type_ftype *register_type;
148 gdbarch_deprecated_register_virtual_type_ftype *deprecated_register_virtual_type;
b8b527c5 149 int deprecated_register_bytes;
9c04cab7
AC
150 gdbarch_deprecated_register_byte_ftype *deprecated_register_byte;
151 gdbarch_deprecated_register_raw_size_ftype *deprecated_register_raw_size;
152 gdbarch_deprecated_register_virtual_size_ftype *deprecated_register_virtual_size;
a0ed5532 153 int deprecated_max_register_raw_size;
a0ed5532 154 int deprecated_max_register_virtual_size;
f3be58bc 155 gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
a59fe496 156 gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos;
f3be58bc
AC
157 int deprecated_fp_regnum;
158 gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp;
b8de8283
AC
159 gdbarch_push_dummy_call_ftype *push_dummy_call;
160 gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments;
b8de8283
AC
161 gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address;
162 gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp;
163 int deprecated_register_size;
adf40b2e 164 int call_dummy_location;
b1e29e33
AC
165 CORE_ADDR deprecated_call_dummy_start_offset;
166 CORE_ADDR deprecated_call_dummy_breakpoint_offset;
b1e29e33
AC
167 LONGEST * deprecated_call_dummy_words;
168 int deprecated_sizeof_call_dummy_words;
b1e29e33 169 gdbarch_deprecated_fix_call_dummy_ftype *deprecated_fix_call_dummy;
7043d8dc 170 gdbarch_push_dummy_code_ftype *push_dummy_code;
b8de8283 171 gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame;
b8de8283
AC
172 gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info;
173 gdbarch_print_registers_info_ftype *print_registers_info;
174 gdbarch_print_float_info_ftype *print_float_info;
175 gdbarch_print_vector_info_ftype *print_vector_info;
176 gdbarch_register_sim_regno_ftype *register_sim_regno;
177 gdbarch_register_bytes_ok_ftype *register_bytes_ok;
178 gdbarch_cannot_fetch_register_ftype *cannot_fetch_register;
179 gdbarch_cannot_store_register_ftype *cannot_store_register;
180 gdbarch_get_longjmp_target_ftype *get_longjmp_target;
181 gdbarch_deprecated_pc_in_call_dummy_ftype *deprecated_pc_in_call_dummy;
a5afb99f 182 gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc;
adf40b2e 183 int believe_pcc_promotion;
129c1cd6 184 gdbarch_deprecated_get_saved_register_ftype *deprecated_get_saved_register;
781a750d
AC
185 gdbarch_deprecated_register_convertible_ftype *deprecated_register_convertible;
186 gdbarch_deprecated_register_convert_to_virtual_ftype *deprecated_register_convert_to_virtual;
187 gdbarch_deprecated_register_convert_to_raw_ftype *deprecated_register_convert_to_raw;
13d01224
AC
188 gdbarch_convert_register_p_ftype *convert_register_p;
189 gdbarch_register_to_value_ftype *register_to_value;
190 gdbarch_value_to_register_ftype *value_to_register;
4478b372
JB
191 gdbarch_pointer_to_address_ftype *pointer_to_address;
192 gdbarch_address_to_pointer_ftype *address_to_pointer;
fc0c74b1 193 gdbarch_integer_to_address_ftype *integer_to_address;
749b82f6 194 gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame;
4183d812 195 gdbarch_deprecated_store_struct_return_ftype *deprecated_store_struct_return;
92ad9cd9
AC
196 gdbarch_return_value_ftype *return_value;
197 gdbarch_return_value_on_stack_ftype *return_value_on_stack;
ebba8386 198 gdbarch_extract_return_value_ftype *extract_return_value;
adf40b2e 199 gdbarch_store_return_value_ftype *store_return_value;
ebba8386
AC
200 gdbarch_deprecated_extract_return_value_ftype *deprecated_extract_return_value;
201 gdbarch_deprecated_store_return_value_ftype *deprecated_store_return_value;
92ad9cd9 202 gdbarch_use_struct_convention_ftype *use_struct_convention;
74055713 203 gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address;
f30ee0bc 204 gdbarch_deprecated_frame_init_saved_regs_ftype *deprecated_frame_init_saved_regs;
e9582e71 205 gdbarch_deprecated_init_extra_frame_info_ftype *deprecated_init_extra_frame_info;
adf40b2e
JM
206 gdbarch_skip_prologue_ftype *skip_prologue;
207 gdbarch_inner_than_ftype *inner_than;
208 gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
a1131521 209 gdbarch_adjust_breakpoint_address_ftype *adjust_breakpoint_address;
917317f4
JM
210 gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint;
211 gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint;
adf40b2e
JM
212 CORE_ADDR decr_pc_after_break;
213 CORE_ADDR function_start_offset;
214 gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
215 CORE_ADDR frame_args_skip;
19772a2c 216 gdbarch_deprecated_frameless_function_invocation_ftype *deprecated_frameless_function_invocation;
618ce49f
AC
217 gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
218 gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
8bedc050 219 gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
12cc2063 220 gdbarch_unwind_pc_ftype *unwind_pc;
a9e5fdc2 221 gdbarch_unwind_sp_ftype *unwind_sp;
42efa47a
AC
222 gdbarch_deprecated_frame_args_address_ftype *deprecated_frame_args_address;
223 gdbarch_deprecated_frame_locals_address_ftype *deprecated_frame_locals_address;
6913c89a 224 gdbarch_deprecated_saved_pc_after_call_ftype *deprecated_saved_pc_after_call;
adf40b2e 225 gdbarch_frame_num_args_ftype *frame_num_args;
f27dd7fd 226 gdbarch_deprecated_stack_align_ftype *deprecated_stack_align;
dc604539 227 gdbarch_frame_align_ftype *frame_align;
88d89dbb 228 gdbarch_deprecated_reg_struct_has_addr_ftype *deprecated_reg_struct_has_addr;
192cb3d4 229 gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr;
8b148df9 230 int frame_red_zone_size;
f0d4cc9e
AC
231 const struct floatformat * float_format;
232 const struct floatformat * double_format;
233 const struct floatformat * long_double_format;
f517ea4e 234 gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
875e1767 235 gdbarch_addr_bits_remove_ftype *addr_bits_remove;
181c1381 236 gdbarch_smash_text_address_ftype *smash_text_address;
64c4637f 237 gdbarch_software_single_step_ftype *software_single_step;
2bf0cb65 238 gdbarch_print_insn_ftype *print_insn;
bdcd319a 239 gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
dea0c52f 240 gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
68e9cc94 241 gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline;
d50355b6 242 gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
c12260ac 243 gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
552c04a7 244 gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
a2cf933a
EZ
245 gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
246 gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
5720643c 247 const char * name_of_malloc;
c4ed33b9 248 int cannot_step_breakpoint;
f74fa174 249 int have_nonsteppable_watchpoint;
8b2dbe47
KB
250 gdbarch_address_class_type_flags_ftype *address_class_type_flags;
251 gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name;
252 gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags;
b59ff9d5 253 gdbarch_register_reggroup_p_ftype *register_reggroup_p;
143985b7 254 gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
6ce6d90f 255 gdbarch_regset_from_core_section_ftype *regset_from_core_section;
adf40b2e 256};
0f71a2f6
JM
257
258
259/* The default architecture uses host values (for want of a better
260 choice). */
261
262extern const struct bfd_arch_info bfd_default_arch_struct;
263
4b9b3959
AC
264struct gdbarch startup_gdbarch =
265{
76860b5f 266 1, /* Always initialized. */
aebd7893 267 NULL, /* The obstack. */
0f71a2f6 268 /* basic architecture information */
ec5cbaec
AC
269 &bfd_default_arch_struct, /* bfd_arch_info */
270 BFD_ENDIAN_BIG, /* byte_order */
271 GDB_OSABI_UNKNOWN, /* osabi */
4b9b3959
AC
272 /* target specific vector and its dump routine */
273 NULL, NULL,
0f71a2f6
JM
274 /*per-architecture data-pointers and swap regions */
275 0, NULL, NULL,
276 /* Multi-arch values */
ec5cbaec
AC
277 8 * sizeof (short), /* short_bit */
278 8 * sizeof (int), /* int_bit */
279 8 * sizeof (long), /* long_bit */
280 8 * sizeof (LONGEST), /* long_long_bit */
281 8 * sizeof (float), /* float_bit */
282 8 * sizeof (double), /* double_bit */
283 8 * sizeof (long double), /* long_double_bit */
284 8 * sizeof (void*), /* ptr_bit */
285 8 * sizeof (void*), /* addr_bit */
286 8 * sizeof (void*), /* bfd_vma_bit */
287 1, /* char_signed */
288 0, /* read_pc */
289 0, /* write_pc */
ec5cbaec 290 0, /* read_sp */
ec5cbaec
AC
291 0, /* virtual_frame_pointer */
292 0, /* pseudo_register_read */
293 0, /* pseudo_register_write */
294 0, /* num_regs */
295 0, /* num_pseudo_regs */
296 -1, /* sp_regnum */
ec5cbaec
AC
297 -1, /* pc_regnum */
298 -1, /* ps_regnum */
299 0, /* fp0_regnum */
ec5cbaec
AC
300 0, /* stab_reg_to_regnum */
301 0, /* ecoff_reg_to_regnum */
302 0, /* dwarf_reg_to_regnum */
303 0, /* sdb_reg_to_regnum */
304 0, /* dwarf2_reg_to_regnum */
305 0, /* register_name */
9c04cab7
AC
306 0, /* register_type */
307 0, /* deprecated_register_virtual_type */
ec5cbaec 308 0, /* deprecated_register_bytes */
9c04cab7
AC
309 generic_register_byte, /* deprecated_register_byte */
310 generic_register_size, /* deprecated_register_raw_size */
311 generic_register_size, /* deprecated_register_virtual_size */
ec5cbaec 312 0, /* deprecated_max_register_raw_size */
ec5cbaec 313 0, /* deprecated_max_register_virtual_size */
f3be58bc 314 0, /* unwind_dummy_id */
a59fe496 315 0, /* deprecated_save_dummy_frame_tos */
f3be58bc
AC
316 -1, /* deprecated_fp_regnum */
317 0, /* deprecated_target_read_fp */
b8de8283
AC
318 0, /* push_dummy_call */
319 0, /* deprecated_push_arguments */
b8de8283
AC
320 0, /* deprecated_push_return_address */
321 0, /* deprecated_dummy_write_sp */
322 0, /* deprecated_register_size */
ec5cbaec 323 0, /* call_dummy_location */
ec5cbaec
AC
324 0, /* deprecated_call_dummy_start_offset */
325 0, /* deprecated_call_dummy_breakpoint_offset */
ec5cbaec
AC
326 0, /* deprecated_call_dummy_words */
327 0, /* deprecated_sizeof_call_dummy_words */
ec5cbaec
AC
328 0, /* deprecated_fix_call_dummy */
329 0, /* push_dummy_code */
b8de8283 330 0, /* deprecated_push_dummy_frame */
b8de8283
AC
331 0, /* deprecated_do_registers_info */
332 default_print_registers_info, /* print_registers_info */
333 0, /* print_float_info */
334 0, /* print_vector_info */
335 0, /* register_sim_regno */
336 0, /* register_bytes_ok */
337 0, /* cannot_fetch_register */
338 0, /* cannot_store_register */
339 0, /* get_longjmp_target */
90ba813f 340 deprecated_pc_in_call_dummy, /* deprecated_pc_in_call_dummy */
ec5cbaec
AC
341 0, /* deprecated_init_frame_pc */
342 0, /* believe_pcc_promotion */
ec5cbaec 343 0, /* deprecated_get_saved_register */
781a750d
AC
344 0, /* deprecated_register_convertible */
345 0, /* deprecated_register_convert_to_virtual */
346 0, /* deprecated_register_convert_to_raw */
ec5cbaec
AC
347 0, /* convert_register_p */
348 0, /* register_to_value */
349 0, /* value_to_register */
350 0, /* pointer_to_address */
351 0, /* address_to_pointer */
352 0, /* integer_to_address */
ec5cbaec
AC
353 0, /* deprecated_pop_frame */
354 0, /* deprecated_store_struct_return */
92ad9cd9
AC
355 0, /* return_value */
356 0, /* return_value_on_stack */
ec5cbaec
AC
357 0, /* extract_return_value */
358 0, /* store_return_value */
359 0, /* deprecated_extract_return_value */
360 0, /* deprecated_store_return_value */
92ad9cd9 361 0, /* use_struct_convention */
74055713 362 0, /* deprecated_extract_struct_value_address */
ec5cbaec
AC
363 0, /* deprecated_frame_init_saved_regs */
364 0, /* deprecated_init_extra_frame_info */
365 0, /* skip_prologue */
ec5cbaec
AC
366 0, /* inner_than */
367 0, /* breakpoint_from_pc */
a1131521 368 0, /* adjust_breakpoint_address */
ec5cbaec
AC
369 0, /* memory_insert_breakpoint */
370 0, /* memory_remove_breakpoint */
371 0, /* decr_pc_after_break */
ec5cbaec
AC
372 0, /* function_start_offset */
373 generic_remote_translate_xfer_address, /* remote_translate_xfer_address */
374 0, /* frame_args_skip */
19772a2c 375 0, /* deprecated_frameless_function_invocation */
ec5cbaec
AC
376 0, /* deprecated_frame_chain */
377 0, /* deprecated_frame_chain_valid */
378 0, /* deprecated_frame_saved_pc */
379 0, /* unwind_pc */
a9e5fdc2 380 0, /* unwind_sp */
42efa47a
AC
381 get_frame_base, /* deprecated_frame_args_address */
382 get_frame_base, /* deprecated_frame_locals_address */
ec5cbaec
AC
383 0, /* deprecated_saved_pc_after_call */
384 0, /* frame_num_args */
f27dd7fd 385 0, /* deprecated_stack_align */
ec5cbaec 386 0, /* frame_align */
88d89dbb 387 0, /* deprecated_reg_struct_has_addr */
192cb3d4 388 default_stabs_argument_has_addr, /* stabs_argument_has_addr */
8b148df9 389 0, /* frame_red_zone_size */
ec5cbaec
AC
390 0, /* float_format */
391 0, /* double_format */
392 0, /* long_double_format */
e2d0e7eb 393 convert_from_func_ptr_addr_identity, /* convert_from_func_ptr_addr */
ec5cbaec
AC
394 0, /* addr_bits_remove */
395 0, /* smash_text_address */
396 0, /* software_single_step */
397 0, /* print_insn */
398 0, /* skip_trampoline_code */
4c8c40e6 399 generic_skip_solib_resolver, /* skip_solib_resolver */
ec5cbaec
AC
400 0, /* in_solib_call_trampoline */
401 0, /* in_solib_return_trampoline */
ec5cbaec
AC
402 generic_in_function_epilogue_p, /* in_function_epilogue_p */
403 construct_inferior_arguments, /* construct_inferior_arguments */
ec5cbaec
AC
404 0, /* elf_make_msymbol_special */
405 0, /* coff_make_msymbol_special */
406 "malloc", /* name_of_malloc */
407 0, /* cannot_step_breakpoint */
408 0, /* have_nonsteppable_watchpoint */
409 0, /* address_class_type_flags */
410 0, /* address_class_type_flags_to_name */
411 0, /* address_class_name_to_type_flags */
412 default_register_reggroup_p, /* register_reggroup_p */
413 0, /* fetch_pointer_argument */
6ce6d90f 414 0, /* regset_from_core_section */
c0e8c252 415 /* startup_gdbarch() */
0f71a2f6 416};
4b9b3959 417
c0e8c252 418struct gdbarch *current_gdbarch = &startup_gdbarch;
0f71a2f6 419
66b43ecb 420/* Create a new ``struct gdbarch'' based on information provided by
0f71a2f6
JM
421 ``struct gdbarch_info''. */
422
423struct gdbarch *
104c1213
JM
424gdbarch_alloc (const struct gdbarch_info *info,
425 struct gdbarch_tdep *tdep)
0f71a2f6 426{
85de9627
AC
427 /* NOTE: The new architecture variable is named ``current_gdbarch''
428 so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to
429 the current local architecture and not the previous global
430 architecture. This ensures that the new architectures initial
431 values are not influenced by the previous architecture. Once
432 everything is parameterised with gdbarch, this will go away. */
aebd7893
AC
433 struct gdbarch *current_gdbarch;
434
435 /* Create an obstack for allocating all the per-architecture memory,
436 then use that to allocate the architecture vector. */
437 struct obstack *obstack = XMALLOC (struct obstack);
438 obstack_init (obstack);
439 current_gdbarch = obstack_alloc (obstack, sizeof (*current_gdbarch));
85de9627 440 memset (current_gdbarch, 0, sizeof (*current_gdbarch));
aebd7893 441 current_gdbarch->obstack = obstack;
0f71a2f6 442
85de9627 443 alloc_gdbarch_data (current_gdbarch);
b3cc3077 444
85de9627 445 current_gdbarch->tdep = tdep;
0f71a2f6 446
85de9627
AC
447 current_gdbarch->bfd_arch_info = info->bfd_arch_info;
448 current_gdbarch->byte_order = info->byte_order;
4be87837 449 current_gdbarch->osabi = info->osabi;
0f71a2f6
JM
450
451 /* Force the explicit initialization of these. */
85de9627
AC
452 current_gdbarch->short_bit = 2*TARGET_CHAR_BIT;
453 current_gdbarch->int_bit = 4*TARGET_CHAR_BIT;
454 current_gdbarch->long_bit = 4*TARGET_CHAR_BIT;
455 current_gdbarch->long_long_bit = 2*TARGET_LONG_BIT;
456 current_gdbarch->float_bit = 4*TARGET_CHAR_BIT;
457 current_gdbarch->double_bit = 8*TARGET_CHAR_BIT;
17ef5d92 458 current_gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
85de9627
AC
459 current_gdbarch->ptr_bit = TARGET_INT_BIT;
460 current_gdbarch->bfd_vma_bit = TARGET_ARCHITECTURE->bits_per_address;
4e409299 461 current_gdbarch->char_signed = -1;
85de9627 462 current_gdbarch->write_pc = generic_target_write_pc;
85de9627
AC
463 current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
464 current_gdbarch->num_regs = -1;
465 current_gdbarch->sp_regnum = -1;
85de9627 466 current_gdbarch->pc_regnum = -1;
c2169756 467 current_gdbarch->ps_regnum = -1;
85de9627 468 current_gdbarch->fp0_regnum = -1;
85de9627
AC
469 current_gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
470 current_gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
471 current_gdbarch->dwarf_reg_to_regnum = no_op_reg_to_regnum;
472 current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
473 current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
9c04cab7
AC
474 current_gdbarch->deprecated_register_byte = generic_register_byte;
475 current_gdbarch->deprecated_register_raw_size = generic_register_size;
476 current_gdbarch->deprecated_register_virtual_size = generic_register_size;
f3be58bc 477 current_gdbarch->deprecated_fp_regnum = -1;
b99fa2d2 478 current_gdbarch->call_dummy_location = AT_ENTRY_POINT;
b1e29e33
AC
479 current_gdbarch->deprecated_call_dummy_words = legacy_call_dummy_words;
480 current_gdbarch->deprecated_sizeof_call_dummy_words = legacy_sizeof_call_dummy_words;
b8de8283
AC
481 current_gdbarch->print_registers_info = default_print_registers_info;
482 current_gdbarch->register_sim_regno = legacy_register_sim_regno;
483 current_gdbarch->cannot_fetch_register = cannot_register_not;
484 current_gdbarch->cannot_store_register = cannot_register_not;
90ba813f 485 current_gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy;
13d01224
AC
486 current_gdbarch->convert_register_p = legacy_convert_register_p;
487 current_gdbarch->register_to_value = legacy_register_to_value;
488 current_gdbarch->value_to_register = legacy_value_to_register;
85de9627
AC
489 current_gdbarch->pointer_to_address = unsigned_pointer_to_address;
490 current_gdbarch->address_to_pointer = unsigned_address_to_pointer;
491 current_gdbarch->return_value_on_stack = generic_return_value_on_stack_not;
ebba8386
AC
492 current_gdbarch->extract_return_value = legacy_extract_return_value;
493 current_gdbarch->store_return_value = legacy_store_return_value;
56f12751 494 current_gdbarch->use_struct_convention = generic_use_struct_convention;
85de9627
AC
495 current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
496 current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
85de9627 497 current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address;
42efa47a
AC
498 current_gdbarch->deprecated_frame_args_address = get_frame_base;
499 current_gdbarch->deprecated_frame_locals_address = get_frame_base;
192cb3d4 500 current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
e2d0e7eb 501 current_gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
85de9627 502 current_gdbarch->addr_bits_remove = core_addr_identity;
181c1381 503 current_gdbarch->smash_text_address = core_addr_identity;
85de9627 504 current_gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
dea0c52f 505 current_gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
68e9cc94 506 current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
d50355b6 507 current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
c12260ac 508 current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
552c04a7 509 current_gdbarch->construct_inferior_arguments = construct_inferior_arguments;
a2cf933a
EZ
510 current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
511 current_gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
5720643c 512 current_gdbarch->name_of_malloc = "malloc";
b59ff9d5 513 current_gdbarch->register_reggroup_p = default_register_reggroup_p;
0f71a2f6
JM
514 /* gdbarch_alloc() */
515
85de9627 516 return current_gdbarch;
0f71a2f6
JM
517}
518
519
aebd7893
AC
520/* Allocate extra space using the per-architecture obstack. */
521
522void *
523gdbarch_obstack_zalloc (struct gdbarch *arch, long size)
524{
525 void *data = obstack_alloc (arch->obstack, size);
526 memset (data, 0, size);
527 return data;
528}
529
530
058f20d5
JB
531/* Free a gdbarch struct. This should never happen in normal
532 operation --- once you've created a gdbarch, you keep it around.
533 However, if an architecture's init function encounters an error
534 building the structure, it may need to clean up a partially
535 constructed gdbarch. */
4b9b3959 536
058f20d5
JB
537void
538gdbarch_free (struct gdbarch *arch)
539{
aebd7893 540 struct obstack *obstack;
95160752 541 gdb_assert (arch != NULL);
aebd7893
AC
542 gdb_assert (!arch->initialized_p);
543 obstack = arch->obstack;
544 obstack_free (obstack, 0); /* Includes the ARCH. */
545 xfree (obstack);
058f20d5
JB
546}
547
548
db446970
AC
549/* Ensure that all values in a GDBARCH are reasonable. */
550
551/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
552 just happens to match the global variable ``current_gdbarch''. That
553 way macros refering to that variable get the local and not the global
554 version - ulgh. Once everything is parameterised with gdbarch, this
555 will go away. */
0f71a2f6 556
0f71a2f6 557static void
db446970 558verify_gdbarch (struct gdbarch *current_gdbarch)
0f71a2f6 559{
f16a1923
AC
560 struct ui_file *log;
561 struct cleanup *cleanups;
562 long dummy;
563 char *buf;
f16a1923
AC
564 log = mem_fileopen ();
565 cleanups = make_cleanup_ui_file_delete (log);
0f71a2f6 566 /* fundamental */
db446970 567 if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
f16a1923 568 fprintf_unfiltered (log, "\n\tbyte-order");
db446970 569 if (current_gdbarch->bfd_arch_info == NULL)
f16a1923 570 fprintf_unfiltered (log, "\n\tbfd_arch_info");
0f71a2f6 571 /* Check those that need to be defined for the given multi-arch level. */
66b43ecb
AC
572 /* Skip verify of short_bit, invalid_p == 0 */
573 /* Skip verify of int_bit, invalid_p == 0 */
574 /* Skip verify of long_bit, invalid_p == 0 */
575 /* Skip verify of long_long_bit, invalid_p == 0 */
576 /* Skip verify of float_bit, invalid_p == 0 */
577 /* Skip verify of double_bit, invalid_p == 0 */
578 /* Skip verify of long_double_bit, invalid_p == 0 */
579 /* Skip verify of ptr_bit, invalid_p == 0 */
db446970
AC
580 if (current_gdbarch->addr_bit == 0)
581 current_gdbarch->addr_bit = TARGET_PTR_BIT;
c0e8c252 582 /* Skip verify of bfd_vma_bit, invalid_p == 0 */
db446970
AC
583 if (current_gdbarch->char_signed == -1)
584 current_gdbarch->char_signed = 1;
cde9ea48 585 /* Skip verify of read_pc, has predicate */
be8dfb87 586 /* Skip verify of write_pc, invalid_p == 0 */
bd1ce8ba 587 /* Skip verify of read_sp, has predicate */
39d4ef09 588 /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
d8124050
AC
589 /* Skip verify of pseudo_register_read, has predicate */
590 /* Skip verify of pseudo_register_write, has predicate */
50248794 591 if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
db446970 592 && (current_gdbarch->num_regs == -1))
f16a1923 593 fprintf_unfiltered (log, "\n\tnum_regs");
0aba1244 594 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
1200cd6e 595 /* Skip verify of sp_regnum, invalid_p == 0 */
1200cd6e 596 /* Skip verify of pc_regnum, invalid_p == 0 */
c2169756 597 /* Skip verify of ps_regnum, invalid_p == 0 */
60054393 598 /* Skip verify of fp0_regnum, invalid_p == 0 */
88c72b7d
AC
599 /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
600 /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
601 /* Skip verify of dwarf_reg_to_regnum, invalid_p == 0 */
602 /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
603 /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
9c04cab7
AC
604 /* Skip verify of register_type, has predicate */
605 /* Skip verify of deprecated_register_virtual_type, has predicate */
606 /* Skip verify of deprecated_register_byte, has predicate */
dadd712e
AC
607 /* Skip verify of deprecated_register_raw_size, has predicate */
608 /* Skip verify of deprecated_register_virtual_size, has predicate */
a0ed5532 609 /* Skip verify of deprecated_max_register_raw_size, has predicate */
a0ed5532 610 /* Skip verify of deprecated_max_register_virtual_size, has predicate */
f3be58bc 611 /* Skip verify of unwind_dummy_id, has predicate */
a59fe496 612 /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */
f3be58bc
AC
613 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
614 /* Skip verify of deprecated_target_read_fp, has predicate */
b8de8283
AC
615 /* Skip verify of push_dummy_call, has predicate */
616 /* Skip verify of deprecated_push_arguments, has predicate */
b8de8283
AC
617 /* Skip verify of deprecated_push_return_address, has predicate */
618 /* Skip verify of deprecated_dummy_write_sp, has predicate */
619 /* Skip verify of call_dummy_location, invalid_p == 0 */
b8de8283
AC
620 /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
621 /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
b8de8283
AC
622 /* Skip verify of deprecated_fix_call_dummy, has predicate */
623 /* Skip verify of push_dummy_code, has predicate */
624 /* Skip verify of deprecated_push_dummy_frame, has predicate */
903ad3a6 625 /* Skip verify of deprecated_do_registers_info, has predicate */
0ab7a791 626 /* Skip verify of print_registers_info, invalid_p == 0 */
23e3a7ac 627 /* Skip verify of print_float_info, has predicate */
e76f1f2e 628 /* Skip verify of print_vector_info, has predicate */
7c7651b2 629 /* Skip verify of register_sim_regno, invalid_p == 0 */
2649061d 630 /* Skip verify of register_bytes_ok, has predicate */
01fb7433
AC
631 /* Skip verify of cannot_fetch_register, invalid_p == 0 */
632 /* Skip verify of cannot_store_register, invalid_p == 0 */
9df628e0 633 /* Skip verify of get_longjmp_target, has predicate */
ae45cd16 634 /* Skip verify of deprecated_pc_in_call_dummy, has predicate */
a5afb99f 635 /* Skip verify of deprecated_init_frame_pc, has predicate */
129c1cd6 636 /* Skip verify of deprecated_get_saved_register, has predicate */
cd0bfa36 637 /* Skip verify of deprecated_register_convertible, has predicate */
781a750d
AC
638 /* Skip verify of deprecated_register_convert_to_virtual, invalid_p == 0 */
639 /* Skip verify of deprecated_register_convert_to_raw, invalid_p == 0 */
13d01224
AC
640 /* Skip verify of convert_register_p, invalid_p == 0 */
641 /* Skip verify of register_to_value, invalid_p == 0 */
642 /* Skip verify of value_to_register, invalid_p == 0 */
4478b372
JB
643 /* Skip verify of pointer_to_address, invalid_p == 0 */
644 /* Skip verify of address_to_pointer, invalid_p == 0 */
fc0c74b1 645 /* Skip verify of integer_to_address, has predicate */
749b82f6 646 /* Skip verify of deprecated_pop_frame, has predicate */
4183d812 647 /* Skip verify of deprecated_store_struct_return, has predicate */
92ad9cd9
AC
648 /* Skip verify of return_value, has predicate */
649 /* Skip verify of return_value_on_stack, invalid_p == 0 */
ebba8386
AC
650 /* Skip verify of extract_return_value, invalid_p == 0 */
651 /* Skip verify of store_return_value, invalid_p == 0 */
92ad9cd9 652 /* Skip verify of use_struct_convention, invalid_p == 0 */
74055713 653 /* Skip verify of deprecated_extract_struct_value_address, has predicate */
f30ee0bc 654 /* Skip verify of deprecated_frame_init_saved_regs, has predicate */
e9582e71 655 /* Skip verify of deprecated_init_extra_frame_info, has predicate */
50248794 656 if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
db446970 657 && (current_gdbarch->skip_prologue == 0))
f16a1923 658 fprintf_unfiltered (log, "\n\tskip_prologue");
50248794 659 if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
db446970 660 && (current_gdbarch->inner_than == 0))
f16a1923 661 fprintf_unfiltered (log, "\n\tinner_than");
aaab4dba 662 if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
db446970 663 && (current_gdbarch->breakpoint_from_pc == 0))
aaab4dba 664 fprintf_unfiltered (log, "\n\tbreakpoint_from_pc");
a1131521 665 /* Skip verify of adjust_breakpoint_address, has predicate */
c0e8c252
AC
666 /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
667 /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
71bd6bd4 668 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
6503b91e 669 /* Skip verify of function_start_offset, invalid_p == 0 */
c0e8c252 670 /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
5867a2fb 671 /* Skip verify of frame_args_skip, invalid_p == 0 */
19772a2c 672 /* Skip verify of deprecated_frameless_function_invocation, has predicate */
618ce49f
AC
673 /* Skip verify of deprecated_frame_chain, has predicate */
674 /* Skip verify of deprecated_frame_chain_valid, has predicate */
8bedc050 675 /* Skip verify of deprecated_frame_saved_pc, has predicate */
12cc2063 676 /* Skip verify of unwind_pc, has predicate */
a9e5fdc2 677 /* Skip verify of unwind_sp, has predicate */
42efa47a
AC
678 /* Skip verify of deprecated_frame_args_address, has predicate */
679 /* Skip verify of deprecated_frame_locals_address, has predicate */
6913c89a 680 /* Skip verify of deprecated_saved_pc_after_call, has predicate */
983a287a 681 /* Skip verify of frame_num_args, has predicate */
f27dd7fd 682 /* Skip verify of deprecated_stack_align, has predicate */
dc604539 683 /* Skip verify of frame_align, has predicate */
88d89dbb 684 /* Skip verify of deprecated_reg_struct_has_addr, has predicate */
192cb3d4 685 /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
db446970
AC
686 if (current_gdbarch->float_format == 0)
687 current_gdbarch->float_format = default_float_format (current_gdbarch);
688 if (current_gdbarch->double_format == 0)
689 current_gdbarch->double_format = default_double_format (current_gdbarch);
690 if (current_gdbarch->long_double_format == 0)
691 current_gdbarch->long_double_format = default_double_format (current_gdbarch);
f517ea4e 692 /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
875e1767 693 /* Skip verify of addr_bits_remove, invalid_p == 0 */
181c1381 694 /* Skip verify of smash_text_address, invalid_p == 0 */
64c4637f 695 /* Skip verify of software_single_step, has predicate */
f6c40618 696 if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
db446970 697 && (current_gdbarch->print_insn == 0))
f6c40618 698 fprintf_unfiltered (log, "\n\tprint_insn");
bdcd319a 699 /* Skip verify of skip_trampoline_code, invalid_p == 0 */
dea0c52f 700 /* Skip verify of skip_solib_resolver, invalid_p == 0 */
68e9cc94 701 /* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
d50355b6 702 /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
c12260ac 703 /* Skip verify of in_function_epilogue_p, invalid_p == 0 */
552c04a7 704 /* Skip verify of construct_inferior_arguments, invalid_p == 0 */
a2cf933a
EZ
705 /* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
706 /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
5720643c 707 /* Skip verify of name_of_malloc, invalid_p == 0 */
c4ed33b9 708 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
f74fa174 709 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
8b2dbe47
KB
710 /* Skip verify of address_class_type_flags, has predicate */
711 /* Skip verify of address_class_type_flags_to_name, has predicate */
712 /* Skip verify of address_class_name_to_type_flags, has predicate */
7e20f3fb 713 /* Skip verify of register_reggroup_p, invalid_p == 0 */
143985b7 714 /* Skip verify of fetch_pointer_argument, has predicate */
6ce6d90f 715 /* Skip verify of regset_from_core_section, has predicate */
f16a1923
AC
716 buf = ui_file_xstrdup (log, &dummy);
717 make_cleanup (xfree, buf);
718 if (strlen (buf) > 0)
719 internal_error (__FILE__, __LINE__,
720 "verify_gdbarch: the following are invalid ...%s",
721 buf);
722 do_cleanups (cleanups);
0f71a2f6
JM
723}
724
725
726/* Print out the details of the current architecture. */
727
4b9b3959
AC
728/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
729 just happens to match the global variable ``current_gdbarch''. That
730 way macros refering to that variable get the local and not the global
731 version - ulgh. Once everything is parameterised with gdbarch, this
732 will go away. */
733
0f71a2f6 734void
db446970 735gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
0f71a2f6 736{
4b9b3959
AC
737 fprintf_unfiltered (file,
738 "gdbarch_dump: GDB_MULTI_ARCH = %d\n",
739 GDB_MULTI_ARCH);
e2d0e7eb
AC
740 fprintf_unfiltered (file,
741 "gdbarch_dump: convert_from_func_ptr_addr = 0x%08lx\n",
742 (long) current_gdbarch->convert_from_func_ptr_addr);
7996bcec
AC
743 fprintf_unfiltered (file,
744 "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
745 gdbarch_frame_align_p (current_gdbarch));
746 fprintf_unfiltered (file,
747 "gdbarch_dump: frame_align = 0x%08lx\n",
748 (long) current_gdbarch->frame_align);
6ce6d90f
MK
749 fprintf_unfiltered (file,
750 "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
751 gdbarch_regset_from_core_section_p (current_gdbarch));
752 fprintf_unfiltered (file,
753 "gdbarch_dump: regset_from_core_section = 0x%08lx\n",
754 (long) current_gdbarch->regset_from_core_section);
92ad9cd9
AC
755 fprintf_unfiltered (file,
756 "gdbarch_dump: gdbarch_return_value_p() = %d\n",
757 gdbarch_return_value_p (current_gdbarch));
758 fprintf_unfiltered (file,
759 "gdbarch_dump: return_value = 0x%08lx\n",
760 (long) current_gdbarch->return_value);
7996bcec
AC
761 fprintf_unfiltered (file,
762 "gdbarch_dump: in_function_epilogue_p = 0x%08lx\n",
763 (long) current_gdbarch->in_function_epilogue_p);
764 fprintf_unfiltered (file,
765 "gdbarch_dump: register_reggroup_p = 0x%08lx\n",
766 (long) current_gdbarch->register_reggroup_p);
192cb3d4
MK
767 fprintf_unfiltered (file,
768 "gdbarch_dump: stabs_argument_has_addr = 0x%08lx\n",
769 (long) current_gdbarch->stabs_argument_has_addr);
7996bcec
AC
770 fprintf_unfiltered (file,
771 "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
772 gdbarch_pseudo_register_read_p (current_gdbarch));
773 fprintf_unfiltered (file,
774 "gdbarch_dump: pseudo_register_read = 0x%08lx\n",
775 (long) current_gdbarch->pseudo_register_read);
776 fprintf_unfiltered (file,
777 "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
778 gdbarch_pseudo_register_write_p (current_gdbarch));
779 fprintf_unfiltered (file,
780 "gdbarch_dump: pseudo_register_write = 0x%08lx\n",
781 (long) current_gdbarch->pseudo_register_write);
782 fprintf_unfiltered (file,
783 "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
784 gdbarch_address_class_name_to_type_flags_p (current_gdbarch));
785 fprintf_unfiltered (file,
786 "gdbarch_dump: address_class_name_to_type_flags = 0x%08lx\n",
787 (long) current_gdbarch->address_class_name_to_type_flags);
1e9f55d0
AC
788#ifdef ADDRESS_CLASS_TYPE_FLAGS_P
789 fprintf_unfiltered (file,
790 "gdbarch_dump: %s # %s\n",
791 "ADDRESS_CLASS_TYPE_FLAGS_P()",
792 XSTRING (ADDRESS_CLASS_TYPE_FLAGS_P ()));
793 fprintf_unfiltered (file,
794 "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS_P() = %d\n",
795 ADDRESS_CLASS_TYPE_FLAGS_P ());
796#endif
8b2dbe47
KB
797#ifdef ADDRESS_CLASS_TYPE_FLAGS
798 fprintf_unfiltered (file,
799 "gdbarch_dump: %s # %s\n",
800 "ADDRESS_CLASS_TYPE_FLAGS(byte_size, dwarf2_addr_class)",
801 XSTRING (ADDRESS_CLASS_TYPE_FLAGS (byte_size, dwarf2_addr_class)));
7996bcec
AC
802 fprintf_unfiltered (file,
803 "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS = <0x%08lx>\n",
804 (long) current_gdbarch->address_class_type_flags
805 /*ADDRESS_CLASS_TYPE_FLAGS ()*/);
8b2dbe47 806#endif
7996bcec
AC
807 fprintf_unfiltered (file,
808 "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
809 gdbarch_address_class_type_flags_to_name_p (current_gdbarch));
810 fprintf_unfiltered (file,
811 "gdbarch_dump: address_class_type_flags_to_name = 0x%08lx\n",
812 (long) current_gdbarch->address_class_type_flags_to_name);
08e45a40 813#ifdef ADDRESS_TO_POINTER
4b9b3959 814 fprintf_unfiltered (file,
08e45a40
AC
815 "gdbarch_dump: %s # %s\n",
816 "ADDRESS_TO_POINTER(type, buf, addr)",
817 XSTRING (ADDRESS_TO_POINTER (type, buf, addr)));
7996bcec
AC
818 fprintf_unfiltered (file,
819 "gdbarch_dump: ADDRESS_TO_POINTER = <0x%08lx>\n",
820 (long) current_gdbarch->address_to_pointer
821 /*ADDRESS_TO_POINTER ()*/);
4b9b3959 822#endif
5e74b15c
RE
823#ifdef ADDR_BITS_REMOVE
824 fprintf_unfiltered (file,
825 "gdbarch_dump: %s # %s\n",
826 "ADDR_BITS_REMOVE(addr)",
827 XSTRING (ADDR_BITS_REMOVE (addr)));
7996bcec
AC
828 fprintf_unfiltered (file,
829 "gdbarch_dump: ADDR_BITS_REMOVE = <0x%08lx>\n",
830 (long) current_gdbarch->addr_bits_remove
831 /*ADDR_BITS_REMOVE ()*/);
5e74b15c 832#endif
a1131521
KB
833 fprintf_unfiltered (file,
834 "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
835 gdbarch_adjust_breakpoint_address_p (current_gdbarch));
836 fprintf_unfiltered (file,
837 "gdbarch_dump: adjust_breakpoint_address = 0x%08lx\n",
838 (long) current_gdbarch->adjust_breakpoint_address);
08e45a40 839#ifdef BELIEVE_PCC_PROMOTION
4b9b3959 840 fprintf_unfiltered (file,
08e45a40
AC
841 "gdbarch_dump: BELIEVE_PCC_PROMOTION # %s\n",
842 XSTRING (BELIEVE_PCC_PROMOTION));
843 fprintf_unfiltered (file,
06b25f14
AC
844 "gdbarch_dump: BELIEVE_PCC_PROMOTION = %d\n",
845 BELIEVE_PCC_PROMOTION);
4b9b3959 846#endif
08e45a40 847#ifdef BREAKPOINT_FROM_PC
4b9b3959 848 fprintf_unfiltered (file,
08e45a40
AC
849 "gdbarch_dump: %s # %s\n",
850 "BREAKPOINT_FROM_PC(pcptr, lenptr)",
851 XSTRING (BREAKPOINT_FROM_PC (pcptr, lenptr)));
7996bcec
AC
852 fprintf_unfiltered (file,
853 "gdbarch_dump: BREAKPOINT_FROM_PC = <0x%08lx>\n",
854 (long) current_gdbarch->breakpoint_from_pc
855 /*BREAKPOINT_FROM_PC ()*/);
4b9b3959 856#endif
08e45a40 857#ifdef CALL_DUMMY_LOCATION
52204a0b 858 fprintf_unfiltered (file,
08e45a40
AC
859 "gdbarch_dump: CALL_DUMMY_LOCATION # %s\n",
860 XSTRING (CALL_DUMMY_LOCATION));
861 fprintf_unfiltered (file,
06b25f14
AC
862 "gdbarch_dump: CALL_DUMMY_LOCATION = %d\n",
863 CALL_DUMMY_LOCATION);
52204a0b 864#endif
08e45a40 865#ifdef CANNOT_FETCH_REGISTER
4b9b3959
AC
866 fprintf_unfiltered (file,
867 "gdbarch_dump: %s # %s\n",
08e45a40
AC
868 "CANNOT_FETCH_REGISTER(regnum)",
869 XSTRING (CANNOT_FETCH_REGISTER (regnum)));
7996bcec
AC
870 fprintf_unfiltered (file,
871 "gdbarch_dump: CANNOT_FETCH_REGISTER = <0x%08lx>\n",
872 (long) current_gdbarch->cannot_fetch_register
873 /*CANNOT_FETCH_REGISTER ()*/);
4b9b3959 874#endif
c4ed33b9
AC
875#ifdef CANNOT_STEP_BREAKPOINT
876 fprintf_unfiltered (file,
877 "gdbarch_dump: CANNOT_STEP_BREAKPOINT # %s\n",
878 XSTRING (CANNOT_STEP_BREAKPOINT));
879 fprintf_unfiltered (file,
880 "gdbarch_dump: CANNOT_STEP_BREAKPOINT = %d\n",
881 CANNOT_STEP_BREAKPOINT);
882#endif
08e45a40 883#ifdef CANNOT_STORE_REGISTER
4b9b3959
AC
884 fprintf_unfiltered (file,
885 "gdbarch_dump: %s # %s\n",
08e45a40
AC
886 "CANNOT_STORE_REGISTER(regnum)",
887 XSTRING (CANNOT_STORE_REGISTER (regnum)));
7996bcec
AC
888 fprintf_unfiltered (file,
889 "gdbarch_dump: CANNOT_STORE_REGISTER = <0x%08lx>\n",
890 (long) current_gdbarch->cannot_store_register
891 /*CANNOT_STORE_REGISTER ()*/);
4b9b3959 892#endif
a2cf933a 893#ifdef COFF_MAKE_MSYMBOL_SPECIAL
a2cf933a
EZ
894 fprintf_unfiltered (file,
895 "gdbarch_dump: %s # %s\n",
896 "COFF_MAKE_MSYMBOL_SPECIAL(val, msym)",
897 XSTRING (COFF_MAKE_MSYMBOL_SPECIAL (val, msym)));
7996bcec
AC
898 fprintf_unfiltered (file,
899 "gdbarch_dump: COFF_MAKE_MSYMBOL_SPECIAL = <0x%08lx>\n",
900 (long) current_gdbarch->coff_make_msymbol_special
901 /*COFF_MAKE_MSYMBOL_SPECIAL ()*/);
a2cf933a 902#endif
7996bcec
AC
903 fprintf_unfiltered (file,
904 "gdbarch_dump: construct_inferior_arguments = 0x%08lx\n",
905 (long) current_gdbarch->construct_inferior_arguments);
13d01224
AC
906#ifdef CONVERT_REGISTER_P
907 fprintf_unfiltered (file,
908 "gdbarch_dump: %s # %s\n",
ff2e87ac
AC
909 "CONVERT_REGISTER_P(regnum, type)",
910 XSTRING (CONVERT_REGISTER_P (regnum, type)));
7996bcec
AC
911 fprintf_unfiltered (file,
912 "gdbarch_dump: CONVERT_REGISTER_P = <0x%08lx>\n",
913 (long) current_gdbarch->convert_register_p
914 /*CONVERT_REGISTER_P ()*/);
13d01224 915#endif
08e45a40 916#ifdef DECR_PC_AFTER_BREAK
4b9b3959 917 fprintf_unfiltered (file,
08e45a40
AC
918 "gdbarch_dump: DECR_PC_AFTER_BREAK # %s\n",
919 XSTRING (DECR_PC_AFTER_BREAK));
0aba1244 920 fprintf_unfiltered (file,
08e45a40
AC
921 "gdbarch_dump: DECR_PC_AFTER_BREAK = %ld\n",
922 (long) DECR_PC_AFTER_BREAK);
0aba1244 923#endif
b1e29e33
AC
924#ifdef DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET
925 fprintf_unfiltered (file,
926 "gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET # %s\n",
927 XSTRING (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET));
928 fprintf_unfiltered (file,
929 "gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET = %ld\n",
930 (long) DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET);
931#endif
b1e29e33
AC
932#ifdef DEPRECATED_CALL_DUMMY_START_OFFSET
933 fprintf_unfiltered (file,
934 "gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET # %s\n",
935 XSTRING (DEPRECATED_CALL_DUMMY_START_OFFSET));
936 fprintf_unfiltered (file,
937 "gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET = %ld\n",
938 (long) DEPRECATED_CALL_DUMMY_START_OFFSET);
939#endif
940#ifdef DEPRECATED_CALL_DUMMY_WORDS
941 fprintf_unfiltered (file,
942 "gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS # %s\n",
943 XSTRING (DEPRECATED_CALL_DUMMY_WORDS));
944 fprintf_unfiltered (file,
945 "gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS = 0x%08lx\n",
946 (long) DEPRECATED_CALL_DUMMY_WORDS);
947#endif
1e9f55d0
AC
948#ifdef DEPRECATED_DO_REGISTERS_INFO_P
949 fprintf_unfiltered (file,
950 "gdbarch_dump: %s # %s\n",
951 "DEPRECATED_DO_REGISTERS_INFO_P()",
952 XSTRING (DEPRECATED_DO_REGISTERS_INFO_P ()));
953 fprintf_unfiltered (file,
954 "gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO_P() = %d\n",
955 DEPRECATED_DO_REGISTERS_INFO_P ());
956#endif
903ad3a6 957#ifdef DEPRECATED_DO_REGISTERS_INFO
903ad3a6
AC
958 fprintf_unfiltered (file,
959 "gdbarch_dump: %s # %s\n",
960 "DEPRECATED_DO_REGISTERS_INFO(reg_nr, fpregs)",
961 XSTRING (DEPRECATED_DO_REGISTERS_INFO (reg_nr, fpregs)));
7996bcec
AC
962 fprintf_unfiltered (file,
963 "gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO = <0x%08lx>\n",
964 (long) current_gdbarch->deprecated_do_registers_info
965 /*DEPRECATED_DO_REGISTERS_INFO ()*/);
903ad3a6 966#endif
6c0e89ed
AC
967#ifdef DEPRECATED_DUMMY_WRITE_SP_P
968 fprintf_unfiltered (file,
969 "gdbarch_dump: %s # %s\n",
970 "DEPRECATED_DUMMY_WRITE_SP_P()",
971 XSTRING (DEPRECATED_DUMMY_WRITE_SP_P ()));
972 fprintf_unfiltered (file,
973 "gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP_P() = %d\n",
974 DEPRECATED_DUMMY_WRITE_SP_P ());
975#endif
976#ifdef DEPRECATED_DUMMY_WRITE_SP
6c0e89ed
AC
977 fprintf_unfiltered (file,
978 "gdbarch_dump: %s # %s\n",
979 "DEPRECATED_DUMMY_WRITE_SP(val)",
980 XSTRING (DEPRECATED_DUMMY_WRITE_SP (val)));
7996bcec
AC
981 fprintf_unfiltered (file,
982 "gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP = <0x%08lx>\n",
983 (long) current_gdbarch->deprecated_dummy_write_sp
984 /*DEPRECATED_DUMMY_WRITE_SP ()*/);
6c0e89ed 985#endif
26e9b323 986#ifdef DEPRECATED_EXTRACT_RETURN_VALUE
26e9b323
AC
987 fprintf_unfiltered (file,
988 "gdbarch_dump: %s # %s\n",
989 "DEPRECATED_EXTRACT_RETURN_VALUE(type, regbuf, valbuf)",
990 XSTRING (DEPRECATED_EXTRACT_RETURN_VALUE (type, regbuf, valbuf)));
7996bcec
AC
991 fprintf_unfiltered (file,
992 "gdbarch_dump: DEPRECATED_EXTRACT_RETURN_VALUE = <0x%08lx>\n",
993 (long) current_gdbarch->deprecated_extract_return_value
994 /*DEPRECATED_EXTRACT_RETURN_VALUE ()*/);
26e9b323 995#endif
74055713
AC
996#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P
997 fprintf_unfiltered (file,
998 "gdbarch_dump: %s # %s\n",
999 "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P()",
1000 XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ()));
1001 fprintf_unfiltered (file,
1002 "gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() = %d\n",
1003 DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ());
1004#endif
1005#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS
1006 fprintf_unfiltered (file,
1007 "gdbarch_dump: %s # %s\n",
1008 "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regcache)",
1009 XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (regcache)));
1010 fprintf_unfiltered (file,
1011 "gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS = <0x%08lx>\n",
1012 (long) current_gdbarch->deprecated_extract_struct_value_address
1013 /*DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS ()*/);
1014#endif
b1e29e33
AC
1015#ifdef DEPRECATED_FIX_CALL_DUMMY_P
1016 fprintf_unfiltered (file,
1017 "gdbarch_dump: %s # %s\n",
1018 "DEPRECATED_FIX_CALL_DUMMY_P()",
1019 XSTRING (DEPRECATED_FIX_CALL_DUMMY_P ()));
1020 fprintf_unfiltered (file,
1021 "gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY_P() = %d\n",
1022 DEPRECATED_FIX_CALL_DUMMY_P ());
1023#endif
1024#ifdef DEPRECATED_FIX_CALL_DUMMY
b1e29e33
AC
1025 fprintf_unfiltered (file,
1026 "gdbarch_dump: %s # %s\n",
1027 "DEPRECATED_FIX_CALL_DUMMY(dummy, pc, fun, nargs, args, type, gcc_p)",
1028 XSTRING (DEPRECATED_FIX_CALL_DUMMY (dummy, pc, fun, nargs, args, type, gcc_p)));
7996bcec
AC
1029 fprintf_unfiltered (file,
1030 "gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY = <0x%08lx>\n",
1031 (long) current_gdbarch->deprecated_fix_call_dummy
1032 /*DEPRECATED_FIX_CALL_DUMMY ()*/);
b1e29e33 1033#endif
0ba6dca9
AC
1034#ifdef DEPRECATED_FP_REGNUM
1035 fprintf_unfiltered (file,
1036 "gdbarch_dump: DEPRECATED_FP_REGNUM # %s\n",
1037 XSTRING (DEPRECATED_FP_REGNUM));
1038 fprintf_unfiltered (file,
1039 "gdbarch_dump: DEPRECATED_FP_REGNUM = %d\n",
1040 DEPRECATED_FP_REGNUM);
1041#endif
19772a2c
AC
1042#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P
1043 fprintf_unfiltered (file,
1044 "gdbarch_dump: %s # %s\n",
1045 "DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P()",
1046 XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()));
1047 fprintf_unfiltered (file,
1048 "gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P() = %d\n",
1049 DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ());
1050#endif
1051#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
1052 fprintf_unfiltered (file,
1053 "gdbarch_dump: %s # %s\n",
1054 "DEPRECATED_FRAMELESS_FUNCTION_INVOCATION(fi)",
1055 XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (fi)));
1056 fprintf_unfiltered (file,
1057 "gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION = <0x%08lx>\n",
1058 (long) current_gdbarch->deprecated_frameless_function_invocation
1059 /*DEPRECATED_FRAMELESS_FUNCTION_INVOCATION ()*/);
1060#endif
42efa47a
AC
1061#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
1062 fprintf_unfiltered (file,
1063 "gdbarch_dump: %s # %s\n",
1064 "DEPRECATED_FRAME_ARGS_ADDRESS_P()",
1065 XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS_P ()));
1066 fprintf_unfiltered (file,
1067 "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS_P() = %d\n",
1068 DEPRECATED_FRAME_ARGS_ADDRESS_P ());
1069#endif
1070#ifdef DEPRECATED_FRAME_ARGS_ADDRESS
1071 fprintf_unfiltered (file,
1072 "gdbarch_dump: %s # %s\n",
1073 "DEPRECATED_FRAME_ARGS_ADDRESS(fi)",
1074 XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS (fi)));
7996bcec
AC
1075 fprintf_unfiltered (file,
1076 "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS = <0x%08lx>\n",
1077 (long) current_gdbarch->deprecated_frame_args_address
1078 /*DEPRECATED_FRAME_ARGS_ADDRESS ()*/);
42efa47a 1079#endif
618ce49f
AC
1080#ifdef DEPRECATED_FRAME_CHAIN_P
1081 fprintf_unfiltered (file,
1082 "gdbarch_dump: %s # %s\n",
1083 "DEPRECATED_FRAME_CHAIN_P()",
1084 XSTRING (DEPRECATED_FRAME_CHAIN_P ()));
1085 fprintf_unfiltered (file,
1086 "gdbarch_dump: DEPRECATED_FRAME_CHAIN_P() = %d\n",
1087 DEPRECATED_FRAME_CHAIN_P ());
1088#endif
1089#ifdef DEPRECATED_FRAME_CHAIN
1090 fprintf_unfiltered (file,
1091 "gdbarch_dump: %s # %s\n",
1092 "DEPRECATED_FRAME_CHAIN(frame)",
1093 XSTRING (DEPRECATED_FRAME_CHAIN (frame)));
7996bcec
AC
1094 fprintf_unfiltered (file,
1095 "gdbarch_dump: DEPRECATED_FRAME_CHAIN = <0x%08lx>\n",
1096 (long) current_gdbarch->deprecated_frame_chain
1097 /*DEPRECATED_FRAME_CHAIN ()*/);
618ce49f
AC
1098#endif
1099#ifdef DEPRECATED_FRAME_CHAIN_VALID_P
1100 fprintf_unfiltered (file,
1101 "gdbarch_dump: %s # %s\n",
1102 "DEPRECATED_FRAME_CHAIN_VALID_P()",
1103 XSTRING (DEPRECATED_FRAME_CHAIN_VALID_P ()));
1104 fprintf_unfiltered (file,
1105 "gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID_P() = %d\n",
1106 DEPRECATED_FRAME_CHAIN_VALID_P ());
1107#endif
1108#ifdef DEPRECATED_FRAME_CHAIN_VALID
1109 fprintf_unfiltered (file,
1110 "gdbarch_dump: %s # %s\n",
1111 "DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe)",
1112 XSTRING (DEPRECATED_FRAME_CHAIN_VALID (chain, thisframe)));
7996bcec
AC
1113 fprintf_unfiltered (file,
1114 "gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID = <0x%08lx>\n",
1115 (long) current_gdbarch->deprecated_frame_chain_valid
1116 /*DEPRECATED_FRAME_CHAIN_VALID ()*/);
618ce49f 1117#endif
f30ee0bc
AC
1118#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS_P
1119 fprintf_unfiltered (file,
1120 "gdbarch_dump: %s # %s\n",
1121 "DEPRECATED_FRAME_INIT_SAVED_REGS_P()",
1122 XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS_P ()));
1123 fprintf_unfiltered (file,
1124 "gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS_P() = %d\n",
1125 DEPRECATED_FRAME_INIT_SAVED_REGS_P ());
1126#endif
1127#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS
f30ee0bc
AC
1128 fprintf_unfiltered (file,
1129 "gdbarch_dump: %s # %s\n",
1130 "DEPRECATED_FRAME_INIT_SAVED_REGS(frame)",
1131 XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS (frame)));
7996bcec
AC
1132 fprintf_unfiltered (file,
1133 "gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS = <0x%08lx>\n",
1134 (long) current_gdbarch->deprecated_frame_init_saved_regs
1135 /*DEPRECATED_FRAME_INIT_SAVED_REGS ()*/);
f30ee0bc 1136#endif
42efa47a
AC
1137#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS_P
1138 fprintf_unfiltered (file,
1139 "gdbarch_dump: %s # %s\n",
1140 "DEPRECATED_FRAME_LOCALS_ADDRESS_P()",
1141 XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS_P ()));
1142 fprintf_unfiltered (file,
1143 "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS_P() = %d\n",
1144 DEPRECATED_FRAME_LOCALS_ADDRESS_P ());
1145#endif
1146#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS
1147 fprintf_unfiltered (file,
1148 "gdbarch_dump: %s # %s\n",
1149 "DEPRECATED_FRAME_LOCALS_ADDRESS(fi)",
1150 XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS (fi)));
7996bcec
AC
1151 fprintf_unfiltered (file,
1152 "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS = <0x%08lx>\n",
1153 (long) current_gdbarch->deprecated_frame_locals_address
1154 /*DEPRECATED_FRAME_LOCALS_ADDRESS ()*/);
42efa47a 1155#endif
8bedc050
AC
1156#ifdef DEPRECATED_FRAME_SAVED_PC_P
1157 fprintf_unfiltered (file,
1158 "gdbarch_dump: %s # %s\n",
1159 "DEPRECATED_FRAME_SAVED_PC_P()",
1160 XSTRING (DEPRECATED_FRAME_SAVED_PC_P ()));
1161 fprintf_unfiltered (file,
1162 "gdbarch_dump: DEPRECATED_FRAME_SAVED_PC_P() = %d\n",
1163 DEPRECATED_FRAME_SAVED_PC_P ());
1164#endif
1165#ifdef DEPRECATED_FRAME_SAVED_PC
1166 fprintf_unfiltered (file,
1167 "gdbarch_dump: %s # %s\n",
1168 "DEPRECATED_FRAME_SAVED_PC(fi)",
1169 XSTRING (DEPRECATED_FRAME_SAVED_PC (fi)));
7996bcec
AC
1170 fprintf_unfiltered (file,
1171 "gdbarch_dump: DEPRECATED_FRAME_SAVED_PC = <0x%08lx>\n",
1172 (long) current_gdbarch->deprecated_frame_saved_pc
1173 /*DEPRECATED_FRAME_SAVED_PC ()*/);
8bedc050 1174#endif
129c1cd6
AC
1175#ifdef DEPRECATED_GET_SAVED_REGISTER_P
1176 fprintf_unfiltered (file,
1177 "gdbarch_dump: %s # %s\n",
1178 "DEPRECATED_GET_SAVED_REGISTER_P()",
1179 XSTRING (DEPRECATED_GET_SAVED_REGISTER_P ()));
1180 fprintf_unfiltered (file,
1181 "gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER_P() = %d\n",
1182 DEPRECATED_GET_SAVED_REGISTER_P ());
1183#endif
1184#ifdef DEPRECATED_GET_SAVED_REGISTER
129c1cd6
AC
1185 fprintf_unfiltered (file,
1186 "gdbarch_dump: %s # %s\n",
1187 "DEPRECATED_GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval)",
1188 XSTRING (DEPRECATED_GET_SAVED_REGISTER (raw_buffer, optimized, addrp, frame, regnum, lval)));
7996bcec
AC
1189 fprintf_unfiltered (file,
1190 "gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER = <0x%08lx>\n",
1191 (long) current_gdbarch->deprecated_get_saved_register
1192 /*DEPRECATED_GET_SAVED_REGISTER ()*/);
129c1cd6 1193#endif
e9582e71
AC
1194#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO_P
1195 fprintf_unfiltered (file,
1196 "gdbarch_dump: %s # %s\n",
1197 "DEPRECATED_INIT_EXTRA_FRAME_INFO_P()",
1198 XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ()));
1199 fprintf_unfiltered (file,
1200 "gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO_P() = %d\n",
1201 DEPRECATED_INIT_EXTRA_FRAME_INFO_P ());
1202#endif
1203#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO
e9582e71
AC
1204 fprintf_unfiltered (file,
1205 "gdbarch_dump: %s # %s\n",
1206 "DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame)",
1207 XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO (fromleaf, frame)));
7996bcec
AC
1208 fprintf_unfiltered (file,
1209 "gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO = <0x%08lx>\n",
1210 (long) current_gdbarch->deprecated_init_extra_frame_info
1211 /*DEPRECATED_INIT_EXTRA_FRAME_INFO ()*/);
e9582e71 1212#endif
a5afb99f
AC
1213#ifdef DEPRECATED_INIT_FRAME_PC_P
1214 fprintf_unfiltered (file,
1215 "gdbarch_dump: %s # %s\n",
1216 "DEPRECATED_INIT_FRAME_PC_P()",
1217 XSTRING (DEPRECATED_INIT_FRAME_PC_P ()));
1218 fprintf_unfiltered (file,
1219 "gdbarch_dump: DEPRECATED_INIT_FRAME_PC_P() = %d\n",
1220 DEPRECATED_INIT_FRAME_PC_P ());
1221#endif
1222#ifdef DEPRECATED_INIT_FRAME_PC
1223 fprintf_unfiltered (file,
1224 "gdbarch_dump: %s # %s\n",
1225 "DEPRECATED_INIT_FRAME_PC(fromleaf, prev)",
1226 XSTRING (DEPRECATED_INIT_FRAME_PC (fromleaf, prev)));
7996bcec
AC
1227 fprintf_unfiltered (file,
1228 "gdbarch_dump: DEPRECATED_INIT_FRAME_PC = <0x%08lx>\n",
1229 (long) current_gdbarch->deprecated_init_frame_pc
1230 /*DEPRECATED_INIT_FRAME_PC ()*/);
a5afb99f 1231#endif
a0ed5532
AC
1232#ifdef DEPRECATED_MAX_REGISTER_RAW_SIZE_P
1233 fprintf_unfiltered (file,
1234 "gdbarch_dump: %s # %s\n",
1235 "DEPRECATED_MAX_REGISTER_RAW_SIZE_P()",
1236 XSTRING (DEPRECATED_MAX_REGISTER_RAW_SIZE_P ()));
1237 fprintf_unfiltered (file,
1238 "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE_P() = %d\n",
1239 DEPRECATED_MAX_REGISTER_RAW_SIZE_P ());
1240#endif
1241#ifdef DEPRECATED_MAX_REGISTER_RAW_SIZE
1242 fprintf_unfiltered (file,
1243 "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE # %s\n",
1244 XSTRING (DEPRECATED_MAX_REGISTER_RAW_SIZE));
1245 fprintf_unfiltered (file,
1246 "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE = %d\n",
1247 DEPRECATED_MAX_REGISTER_RAW_SIZE);
1248#endif
1249#ifdef DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P
1250 fprintf_unfiltered (file,
1251 "gdbarch_dump: %s # %s\n",
1252 "DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P()",
1253 XSTRING (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P ()));
1254 fprintf_unfiltered (file,
1255 "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P() = %d\n",
1256 DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P ());
1257#endif
1258#ifdef DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE
1259 fprintf_unfiltered (file,
1260 "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE # %s\n",
1261 XSTRING (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE));
1262 fprintf_unfiltered (file,
1263 "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE = %d\n",
1264 DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE);
1265#endif
1e9f55d0
AC
1266#ifdef DEPRECATED_PC_IN_CALL_DUMMY_P
1267 fprintf_unfiltered (file,
1268 "gdbarch_dump: %s # %s\n",
1269 "DEPRECATED_PC_IN_CALL_DUMMY_P()",
1270 XSTRING (DEPRECATED_PC_IN_CALL_DUMMY_P ()));
1271 fprintf_unfiltered (file,
1272 "gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY_P() = %d\n",
1273 DEPRECATED_PC_IN_CALL_DUMMY_P ());
1274#endif
ae45cd16
AC
1275#ifdef DEPRECATED_PC_IN_CALL_DUMMY
1276 fprintf_unfiltered (file,
1277 "gdbarch_dump: %s # %s\n",
1278 "DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address)",
1279 XSTRING (DEPRECATED_PC_IN_CALL_DUMMY (pc, sp, frame_address)));
7996bcec
AC
1280 fprintf_unfiltered (file,
1281 "gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY = <0x%08lx>\n",
1282 (long) current_gdbarch->deprecated_pc_in_call_dummy
1283 /*DEPRECATED_PC_IN_CALL_DUMMY ()*/);
ae45cd16 1284#endif
749b82f6
AC
1285#ifdef DEPRECATED_POP_FRAME_P
1286 fprintf_unfiltered (file,
1287 "gdbarch_dump: %s # %s\n",
1288 "DEPRECATED_POP_FRAME_P()",
1289 XSTRING (DEPRECATED_POP_FRAME_P ()));
1290 fprintf_unfiltered (file,
1291 "gdbarch_dump: DEPRECATED_POP_FRAME_P() = %d\n",
1292 DEPRECATED_POP_FRAME_P ());
1293#endif
1294#ifdef DEPRECATED_POP_FRAME
749b82f6
AC
1295 fprintf_unfiltered (file,
1296 "gdbarch_dump: %s # %s\n",
1297 "DEPRECATED_POP_FRAME(-)",
1298 XSTRING (DEPRECATED_POP_FRAME (-)));
7996bcec
AC
1299 fprintf_unfiltered (file,
1300 "gdbarch_dump: DEPRECATED_POP_FRAME = <0x%08lx>\n",
1301 (long) current_gdbarch->deprecated_pop_frame
1302 /*DEPRECATED_POP_FRAME ()*/);
749b82f6 1303#endif
b81774d8
AC
1304#ifdef DEPRECATED_PUSH_ARGUMENTS_P
1305 fprintf_unfiltered (file,
1306 "gdbarch_dump: %s # %s\n",
1307 "DEPRECATED_PUSH_ARGUMENTS_P()",
1308 XSTRING (DEPRECATED_PUSH_ARGUMENTS_P ()));
1309 fprintf_unfiltered (file,
1310 "gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS_P() = %d\n",
1311 DEPRECATED_PUSH_ARGUMENTS_P ());
1312#endif
1313#ifdef DEPRECATED_PUSH_ARGUMENTS
1314 fprintf_unfiltered (file,
1315 "gdbarch_dump: %s # %s\n",
1316 "DEPRECATED_PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr)",
1317 XSTRING (DEPRECATED_PUSH_ARGUMENTS (nargs, args, sp, struct_return, struct_addr)));
7996bcec
AC
1318 fprintf_unfiltered (file,
1319 "gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS = <0x%08lx>\n",
1320 (long) current_gdbarch->deprecated_push_arguments
1321 /*DEPRECATED_PUSH_ARGUMENTS ()*/);
b81774d8 1322#endif
f3824013
AC
1323#ifdef DEPRECATED_PUSH_DUMMY_FRAME_P
1324 fprintf_unfiltered (file,
1325 "gdbarch_dump: %s # %s\n",
1326 "DEPRECATED_PUSH_DUMMY_FRAME_P()",
1327 XSTRING (DEPRECATED_PUSH_DUMMY_FRAME_P ()));
1328 fprintf_unfiltered (file,
1329 "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME_P() = %d\n",
1330 DEPRECATED_PUSH_DUMMY_FRAME_P ());
1331#endif
1332#ifdef DEPRECATED_PUSH_DUMMY_FRAME
f3824013
AC
1333 fprintf_unfiltered (file,
1334 "gdbarch_dump: %s # %s\n",
1335 "DEPRECATED_PUSH_DUMMY_FRAME(-)",
1336 XSTRING (DEPRECATED_PUSH_DUMMY_FRAME (-)));
7996bcec
AC
1337 fprintf_unfiltered (file,
1338 "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME = <0x%08lx>\n",
1339 (long) current_gdbarch->deprecated_push_dummy_frame
1340 /*DEPRECATED_PUSH_DUMMY_FRAME ()*/);
f3824013 1341#endif
28f617b3
AC
1342#ifdef DEPRECATED_PUSH_RETURN_ADDRESS_P
1343 fprintf_unfiltered (file,
1344 "gdbarch_dump: %s # %s\n",
1345 "DEPRECATED_PUSH_RETURN_ADDRESS_P()",
1346 XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS_P ()));
1347 fprintf_unfiltered (file,
1348 "gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS_P() = %d\n",
1349 DEPRECATED_PUSH_RETURN_ADDRESS_P ());
1350#endif
1351#ifdef DEPRECATED_PUSH_RETURN_ADDRESS
1352 fprintf_unfiltered (file,
1353 "gdbarch_dump: %s # %s\n",
1354 "DEPRECATED_PUSH_RETURN_ADDRESS(pc, sp)",
1355 XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS (pc, sp)));
7996bcec
AC
1356 fprintf_unfiltered (file,
1357 "gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS = <0x%08lx>\n",
1358 (long) current_gdbarch->deprecated_push_return_address
1359 /*DEPRECATED_PUSH_RETURN_ADDRESS ()*/);
28f617b3 1360#endif
62700349
AC
1361#ifdef DEPRECATED_REGISTER_BYTE_P
1362 fprintf_unfiltered (file,
1363 "gdbarch_dump: %s # %s\n",
1364 "DEPRECATED_REGISTER_BYTE_P()",
1365 XSTRING (DEPRECATED_REGISTER_BYTE_P ()));
1366 fprintf_unfiltered (file,
1367 "gdbarch_dump: DEPRECATED_REGISTER_BYTE_P() = %d\n",
1368 DEPRECATED_REGISTER_BYTE_P ());
1369#endif
1370#ifdef DEPRECATED_REGISTER_BYTE
1371 fprintf_unfiltered (file,
1372 "gdbarch_dump: %s # %s\n",
1373 "DEPRECATED_REGISTER_BYTE(reg_nr)",
1374 XSTRING (DEPRECATED_REGISTER_BYTE (reg_nr)));
1375 fprintf_unfiltered (file,
1376 "gdbarch_dump: DEPRECATED_REGISTER_BYTE = <0x%08lx>\n",
1377 (long) current_gdbarch->deprecated_register_byte
1378 /*DEPRECATED_REGISTER_BYTE ()*/);
1379#endif
b8b527c5
AC
1380#ifdef DEPRECATED_REGISTER_BYTES
1381 fprintf_unfiltered (file,
1382 "gdbarch_dump: DEPRECATED_REGISTER_BYTES # %s\n",
1383 XSTRING (DEPRECATED_REGISTER_BYTES));
1384 fprintf_unfiltered (file,
1385 "gdbarch_dump: DEPRECATED_REGISTER_BYTES = %d\n",
1386 DEPRECATED_REGISTER_BYTES);
1387#endif
cd0bfa36
AC
1388#ifdef DEPRECATED_REGISTER_CONVERTIBLE_P
1389 fprintf_unfiltered (file,
1390 "gdbarch_dump: %s # %s\n",
1391 "DEPRECATED_REGISTER_CONVERTIBLE_P()",
1392 XSTRING (DEPRECATED_REGISTER_CONVERTIBLE_P ()));
1393 fprintf_unfiltered (file,
1394 "gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE_P() = %d\n",
1395 DEPRECATED_REGISTER_CONVERTIBLE_P ());
1396#endif
781a750d
AC
1397#ifdef DEPRECATED_REGISTER_CONVERTIBLE
1398 fprintf_unfiltered (file,
1399 "gdbarch_dump: %s # %s\n",
1400 "DEPRECATED_REGISTER_CONVERTIBLE(nr)",
1401 XSTRING (DEPRECATED_REGISTER_CONVERTIBLE (nr)));
7996bcec
AC
1402 fprintf_unfiltered (file,
1403 "gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE = <0x%08lx>\n",
1404 (long) current_gdbarch->deprecated_register_convertible
1405 /*DEPRECATED_REGISTER_CONVERTIBLE ()*/);
781a750d
AC
1406#endif
1407#ifdef DEPRECATED_REGISTER_CONVERT_TO_RAW
781a750d
AC
1408 fprintf_unfiltered (file,
1409 "gdbarch_dump: %s # %s\n",
1410 "DEPRECATED_REGISTER_CONVERT_TO_RAW(type, regnum, from, to)",
1411 XSTRING (DEPRECATED_REGISTER_CONVERT_TO_RAW (type, regnum, from, to)));
7996bcec
AC
1412 fprintf_unfiltered (file,
1413 "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_RAW = <0x%08lx>\n",
1414 (long) current_gdbarch->deprecated_register_convert_to_raw
1415 /*DEPRECATED_REGISTER_CONVERT_TO_RAW ()*/);
781a750d
AC
1416#endif
1417#ifdef DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL
781a750d
AC
1418 fprintf_unfiltered (file,
1419 "gdbarch_dump: %s # %s\n",
1420 "DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL(regnum, type, from, to)",
1421 XSTRING (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to)));
7996bcec
AC
1422 fprintf_unfiltered (file,
1423 "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL = <0x%08lx>\n",
1424 (long) current_gdbarch->deprecated_register_convert_to_virtual
1425 /*DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL ()*/);
781a750d 1426#endif
12c266ea
AC
1427#ifdef DEPRECATED_REGISTER_RAW_SIZE_P
1428 fprintf_unfiltered (file,
1429 "gdbarch_dump: %s # %s\n",
1430 "DEPRECATED_REGISTER_RAW_SIZE_P()",
1431 XSTRING (DEPRECATED_REGISTER_RAW_SIZE_P ()));
1432 fprintf_unfiltered (file,
1433 "gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE_P() = %d\n",
1434 DEPRECATED_REGISTER_RAW_SIZE_P ());
1435#endif
1436#ifdef DEPRECATED_REGISTER_RAW_SIZE
1437 fprintf_unfiltered (file,
1438 "gdbarch_dump: %s # %s\n",
1439 "DEPRECATED_REGISTER_RAW_SIZE(reg_nr)",
1440 XSTRING (DEPRECATED_REGISTER_RAW_SIZE (reg_nr)));
1441 fprintf_unfiltered (file,
1442 "gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE = <0x%08lx>\n",
1443 (long) current_gdbarch->deprecated_register_raw_size
1444 /*DEPRECATED_REGISTER_RAW_SIZE ()*/);
1445#endif
b1e29e33
AC
1446#ifdef DEPRECATED_REGISTER_SIZE
1447 fprintf_unfiltered (file,
1448 "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n",
1449 XSTRING (DEPRECATED_REGISTER_SIZE));
1450 fprintf_unfiltered (file,
1451 "gdbarch_dump: DEPRECATED_REGISTER_SIZE = %d\n",
1452 DEPRECATED_REGISTER_SIZE);
1453#endif
f30992d4
AC
1454#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE_P
1455 fprintf_unfiltered (file,
1456 "gdbarch_dump: %s # %s\n",
1457 "DEPRECATED_REGISTER_VIRTUAL_SIZE_P()",
1458 XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE_P ()));
1459 fprintf_unfiltered (file,
1460 "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE_P() = %d\n",
1461 DEPRECATED_REGISTER_VIRTUAL_SIZE_P ());
1462#endif
1463#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE
1464 fprintf_unfiltered (file,
1465 "gdbarch_dump: %s # %s\n",
1466 "DEPRECATED_REGISTER_VIRTUAL_SIZE(reg_nr)",
1467 XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE (reg_nr)));
1468 fprintf_unfiltered (file,
1469 "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE = <0x%08lx>\n",
1470 (long) current_gdbarch->deprecated_register_virtual_size
1471 /*DEPRECATED_REGISTER_VIRTUAL_SIZE ()*/);
1472#endif
2e092625
AC
1473#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE_P
1474 fprintf_unfiltered (file,
1475 "gdbarch_dump: %s # %s\n",
1476 "DEPRECATED_REGISTER_VIRTUAL_TYPE_P()",
1477 XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE_P ()));
1478 fprintf_unfiltered (file,
1479 "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE_P() = %d\n",
1480 DEPRECATED_REGISTER_VIRTUAL_TYPE_P ());
1481#endif
1482#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE
1483 fprintf_unfiltered (file,
1484 "gdbarch_dump: %s # %s\n",
1485 "DEPRECATED_REGISTER_VIRTUAL_TYPE(reg_nr)",
1486 XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE (reg_nr)));
1487 fprintf_unfiltered (file,
1488 "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE = <0x%08lx>\n",
1489 (long) current_gdbarch->deprecated_register_virtual_type
1490 /*DEPRECATED_REGISTER_VIRTUAL_TYPE ()*/);
1491#endif
88d89dbb
MK
1492#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR_P
1493 fprintf_unfiltered (file,
1494 "gdbarch_dump: %s # %s\n",
1495 "DEPRECATED_REG_STRUCT_HAS_ADDR_P()",
1496 XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR_P ()));
1497 fprintf_unfiltered (file,
1498 "gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR_P() = %d\n",
1499 DEPRECATED_REG_STRUCT_HAS_ADDR_P ());
1500#endif
1501#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR
1502 fprintf_unfiltered (file,
1503 "gdbarch_dump: %s # %s\n",
1504 "DEPRECATED_REG_STRUCT_HAS_ADDR(gcc_p, type)",
1505 XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR (gcc_p, type)));
1506 fprintf_unfiltered (file,
1507 "gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR = <0x%08lx>\n",
1508 (long) current_gdbarch->deprecated_reg_struct_has_addr
1509 /*DEPRECATED_REG_STRUCT_HAS_ADDR ()*/);
1510#endif
6913c89a
AC
1511#ifdef DEPRECATED_SAVED_PC_AFTER_CALL_P
1512 fprintf_unfiltered (file,
1513 "gdbarch_dump: %s # %s\n",
1514 "DEPRECATED_SAVED_PC_AFTER_CALL_P()",
1515 XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL_P ()));
1516 fprintf_unfiltered (file,
1517 "gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL_P() = %d\n",
1518 DEPRECATED_SAVED_PC_AFTER_CALL_P ());
1519#endif
1520#ifdef DEPRECATED_SAVED_PC_AFTER_CALL
1521 fprintf_unfiltered (file,
1522 "gdbarch_dump: %s # %s\n",
1523 "DEPRECATED_SAVED_PC_AFTER_CALL(frame)",
1524 XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL (frame)));
7996bcec
AC
1525 fprintf_unfiltered (file,
1526 "gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL = <0x%08lx>\n",
1527 (long) current_gdbarch->deprecated_saved_pc_after_call
1528 /*DEPRECATED_SAVED_PC_AFTER_CALL ()*/);
6913c89a 1529#endif
a59fe496
AC
1530#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS_P
1531 fprintf_unfiltered (file,
1532 "gdbarch_dump: %s # %s\n",
1533 "DEPRECATED_SAVE_DUMMY_FRAME_TOS_P()",
1534 XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ()));
1535 fprintf_unfiltered (file,
1536 "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() = %d\n",
1537 DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ());
1538#endif
1539#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS
a59fe496
AC
1540 fprintf_unfiltered (file,
1541 "gdbarch_dump: %s # %s\n",
1542 "DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp)",
1543 XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp)));
7996bcec
AC
1544 fprintf_unfiltered (file,
1545 "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n",
1546 (long) current_gdbarch->deprecated_save_dummy_frame_tos
1547 /*DEPRECATED_SAVE_DUMMY_FRAME_TOS ()*/);
a59fe496 1548#endif
b1e29e33
AC
1549#ifdef DEPRECATED_SIZEOF_CALL_DUMMY_WORDS
1550 fprintf_unfiltered (file,
1551 "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # %s\n",
1552 XSTRING (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS));
1553 fprintf_unfiltered (file,
1554 "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS = %d\n",
1555 DEPRECATED_SIZEOF_CALL_DUMMY_WORDS);
1556#endif
f27dd7fd
AC
1557#ifdef DEPRECATED_STACK_ALIGN_P
1558 fprintf_unfiltered (file,
1559 "gdbarch_dump: %s # %s\n",
1560 "DEPRECATED_STACK_ALIGN_P()",
1561 XSTRING (DEPRECATED_STACK_ALIGN_P ()));
1562 fprintf_unfiltered (file,
1563 "gdbarch_dump: DEPRECATED_STACK_ALIGN_P() = %d\n",
1564 DEPRECATED_STACK_ALIGN_P ());
1565#endif
1566#ifdef DEPRECATED_STACK_ALIGN
1567 fprintf_unfiltered (file,
1568 "gdbarch_dump: %s # %s\n",
1569 "DEPRECATED_STACK_ALIGN(sp)",
1570 XSTRING (DEPRECATED_STACK_ALIGN (sp)));
1571 fprintf_unfiltered (file,
1572 "gdbarch_dump: DEPRECATED_STACK_ALIGN = <0x%08lx>\n",
1573 (long) current_gdbarch->deprecated_stack_align
1574 /*DEPRECATED_STACK_ALIGN ()*/);
1575#endif
ebba8386 1576#ifdef DEPRECATED_STORE_RETURN_VALUE
ebba8386
AC
1577 fprintf_unfiltered (file,
1578 "gdbarch_dump: %s # %s\n",
1579 "DEPRECATED_STORE_RETURN_VALUE(type, valbuf)",
1580 XSTRING (DEPRECATED_STORE_RETURN_VALUE (type, valbuf)));
7996bcec
AC
1581 fprintf_unfiltered (file,
1582 "gdbarch_dump: DEPRECATED_STORE_RETURN_VALUE = <0x%08lx>\n",
1583 (long) current_gdbarch->deprecated_store_return_value
1584 /*DEPRECATED_STORE_RETURN_VALUE ()*/);
ebba8386 1585#endif
4183d812
AC
1586#ifdef DEPRECATED_STORE_STRUCT_RETURN_P
1587 fprintf_unfiltered (file,
1588 "gdbarch_dump: %s # %s\n",
1589 "DEPRECATED_STORE_STRUCT_RETURN_P()",
1590 XSTRING (DEPRECATED_STORE_STRUCT_RETURN_P ()));
1591 fprintf_unfiltered (file,
1592 "gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN_P() = %d\n",
1593 DEPRECATED_STORE_STRUCT_RETURN_P ());
1594#endif
1595#ifdef DEPRECATED_STORE_STRUCT_RETURN
4183d812
AC
1596 fprintf_unfiltered (file,
1597 "gdbarch_dump: %s # %s\n",
1598 "DEPRECATED_STORE_STRUCT_RETURN(addr, sp)",
1599 XSTRING (DEPRECATED_STORE_STRUCT_RETURN (addr, sp)));
7996bcec
AC
1600 fprintf_unfiltered (file,
1601 "gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN = <0x%08lx>\n",
1602 (long) current_gdbarch->deprecated_store_struct_return
1603 /*DEPRECATED_STORE_STRUCT_RETURN ()*/);
4183d812 1604#endif
0ba6dca9
AC
1605#ifdef DEPRECATED_TARGET_READ_FP_P
1606 fprintf_unfiltered (file,
1607 "gdbarch_dump: %s # %s\n",
1608 "DEPRECATED_TARGET_READ_FP_P()",
1609 XSTRING (DEPRECATED_TARGET_READ_FP_P ()));
1610 fprintf_unfiltered (file,
1611 "gdbarch_dump: DEPRECATED_TARGET_READ_FP_P() = %d\n",
1612 DEPRECATED_TARGET_READ_FP_P ());
1613#endif
1614#ifdef DEPRECATED_TARGET_READ_FP
1615 fprintf_unfiltered (file,
1616 "gdbarch_dump: %s # %s\n",
1617 "DEPRECATED_TARGET_READ_FP()",
1618 XSTRING (DEPRECATED_TARGET_READ_FP ()));
7996bcec
AC
1619 fprintf_unfiltered (file,
1620 "gdbarch_dump: DEPRECATED_TARGET_READ_FP = <0x%08lx>\n",
1621 (long) current_gdbarch->deprecated_target_read_fp
1622 /*DEPRECATED_TARGET_READ_FP ()*/);
0ba6dca9 1623#endif
08e45a40 1624#ifdef DWARF2_REG_TO_REGNUM
4b9b3959 1625 fprintf_unfiltered (file,
08e45a40
AC
1626 "gdbarch_dump: %s # %s\n",
1627 "DWARF2_REG_TO_REGNUM(dwarf2_regnr)",
1628 XSTRING (DWARF2_REG_TO_REGNUM (dwarf2_regnr)));
7996bcec
AC
1629 fprintf_unfiltered (file,
1630 "gdbarch_dump: DWARF2_REG_TO_REGNUM = <0x%08lx>\n",
1631 (long) current_gdbarch->dwarf2_reg_to_regnum
1632 /*DWARF2_REG_TO_REGNUM ()*/);
4b9b3959 1633#endif
08e45a40 1634#ifdef DWARF_REG_TO_REGNUM
88c72b7d
AC
1635 fprintf_unfiltered (file,
1636 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1637 "DWARF_REG_TO_REGNUM(dwarf_regnr)",
1638 XSTRING (DWARF_REG_TO_REGNUM (dwarf_regnr)));
7996bcec
AC
1639 fprintf_unfiltered (file,
1640 "gdbarch_dump: DWARF_REG_TO_REGNUM = <0x%08lx>\n",
1641 (long) current_gdbarch->dwarf_reg_to_regnum
1642 /*DWARF_REG_TO_REGNUM ()*/);
88c72b7d
AC
1643#endif
1644#ifdef ECOFF_REG_TO_REGNUM
1645 fprintf_unfiltered (file,
1646 "gdbarch_dump: %s # %s\n",
1647 "ECOFF_REG_TO_REGNUM(ecoff_regnr)",
1648 XSTRING (ECOFF_REG_TO_REGNUM (ecoff_regnr)));
7996bcec
AC
1649 fprintf_unfiltered (file,
1650 "gdbarch_dump: ECOFF_REG_TO_REGNUM = <0x%08lx>\n",
1651 (long) current_gdbarch->ecoff_reg_to_regnum
1652 /*ECOFF_REG_TO_REGNUM ()*/);
88c72b7d 1653#endif
a2cf933a 1654#ifdef ELF_MAKE_MSYMBOL_SPECIAL
a2cf933a
EZ
1655 fprintf_unfiltered (file,
1656 "gdbarch_dump: %s # %s\n",
1657 "ELF_MAKE_MSYMBOL_SPECIAL(sym, msym)",
1658 XSTRING (ELF_MAKE_MSYMBOL_SPECIAL (sym, msym)));
7996bcec
AC
1659 fprintf_unfiltered (file,
1660 "gdbarch_dump: ELF_MAKE_MSYMBOL_SPECIAL = <0x%08lx>\n",
1661 (long) current_gdbarch->elf_make_msymbol_special
1662 /*ELF_MAKE_MSYMBOL_SPECIAL ()*/);
a2cf933a 1663#endif
049ee0e4 1664#ifdef EXTRACT_RETURN_VALUE
049ee0e4
AC
1665 fprintf_unfiltered (file,
1666 "gdbarch_dump: %s # %s\n",
1667 "EXTRACT_RETURN_VALUE(type, regcache, valbuf)",
1668 XSTRING (EXTRACT_RETURN_VALUE (type, regcache, valbuf)));
7996bcec
AC
1669 fprintf_unfiltered (file,
1670 "gdbarch_dump: EXTRACT_RETURN_VALUE = <0x%08lx>\n",
1671 (long) current_gdbarch->extract_return_value
1672 /*EXTRACT_RETURN_VALUE ()*/);
049ee0e4 1673#endif
143985b7
AF
1674#ifdef FETCH_POINTER_ARGUMENT_P
1675 fprintf_unfiltered (file,
1676 "gdbarch_dump: %s # %s\n",
1677 "FETCH_POINTER_ARGUMENT_P()",
1678 XSTRING (FETCH_POINTER_ARGUMENT_P ()));
1679 fprintf_unfiltered (file,
1680 "gdbarch_dump: FETCH_POINTER_ARGUMENT_P() = %d\n",
1681 FETCH_POINTER_ARGUMENT_P ());
1682#endif
1683#ifdef FETCH_POINTER_ARGUMENT
1684 fprintf_unfiltered (file,
1685 "gdbarch_dump: %s # %s\n",
1686 "FETCH_POINTER_ARGUMENT(frame, argi, type)",
1687 XSTRING (FETCH_POINTER_ARGUMENT (frame, argi, type)));
7996bcec
AC
1688 fprintf_unfiltered (file,
1689 "gdbarch_dump: FETCH_POINTER_ARGUMENT = <0x%08lx>\n",
1690 (long) current_gdbarch->fetch_pointer_argument
1691 /*FETCH_POINTER_ARGUMENT ()*/);
143985b7 1692#endif
08e45a40 1693#ifdef FP0_REGNUM
4b9b3959 1694 fprintf_unfiltered (file,
08e45a40
AC
1695 "gdbarch_dump: FP0_REGNUM # %s\n",
1696 XSTRING (FP0_REGNUM));
1697 fprintf_unfiltered (file,
06b25f14
AC
1698 "gdbarch_dump: FP0_REGNUM = %d\n",
1699 FP0_REGNUM);
4b9b3959 1700#endif
08e45a40 1701#ifdef FRAME_ARGS_SKIP
4b9b3959 1702 fprintf_unfiltered (file,
08e45a40
AC
1703 "gdbarch_dump: FRAME_ARGS_SKIP # %s\n",
1704 XSTRING (FRAME_ARGS_SKIP));
4b9b3959 1705 fprintf_unfiltered (file,
08e45a40
AC
1706 "gdbarch_dump: FRAME_ARGS_SKIP = %ld\n",
1707 (long) FRAME_ARGS_SKIP);
4b9b3959 1708#endif
983a287a
AC
1709#ifdef FRAME_NUM_ARGS_P
1710 fprintf_unfiltered (file,
1711 "gdbarch_dump: %s # %s\n",
1712 "FRAME_NUM_ARGS_P()",
1713 XSTRING (FRAME_NUM_ARGS_P ()));
1714 fprintf_unfiltered (file,
1715 "gdbarch_dump: FRAME_NUM_ARGS_P() = %d\n",
1716 FRAME_NUM_ARGS_P ());
1717#endif
08e45a40 1718#ifdef FRAME_NUM_ARGS
01fb7433
AC
1719 fprintf_unfiltered (file,
1720 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1721 "FRAME_NUM_ARGS(frame)",
1722 XSTRING (FRAME_NUM_ARGS (frame)));
7996bcec
AC
1723 fprintf_unfiltered (file,
1724 "gdbarch_dump: FRAME_NUM_ARGS = <0x%08lx>\n",
1725 (long) current_gdbarch->frame_num_args
1726 /*FRAME_NUM_ARGS ()*/);
01fb7433 1727#endif
8b148df9
AC
1728#ifdef FRAME_RED_ZONE_SIZE
1729 fprintf_unfiltered (file,
1730 "gdbarch_dump: FRAME_RED_ZONE_SIZE # %s\n",
1731 XSTRING (FRAME_RED_ZONE_SIZE));
1732 fprintf_unfiltered (file,
1733 "gdbarch_dump: FRAME_RED_ZONE_SIZE = %d\n",
1734 FRAME_RED_ZONE_SIZE);
1735#endif
08e45a40 1736#ifdef FUNCTION_START_OFFSET
4b9b3959 1737 fprintf_unfiltered (file,
08e45a40
AC
1738 "gdbarch_dump: FUNCTION_START_OFFSET # %s\n",
1739 XSTRING (FUNCTION_START_OFFSET));
4b9b3959 1740 fprintf_unfiltered (file,
08e45a40
AC
1741 "gdbarch_dump: FUNCTION_START_OFFSET = %ld\n",
1742 (long) FUNCTION_START_OFFSET);
4b9b3959 1743#endif
1e9f55d0
AC
1744#ifdef GET_LONGJMP_TARGET_P
1745 fprintf_unfiltered (file,
1746 "gdbarch_dump: %s # %s\n",
1747 "GET_LONGJMP_TARGET_P()",
1748 XSTRING (GET_LONGJMP_TARGET_P ()));
1749 fprintf_unfiltered (file,
1750 "gdbarch_dump: GET_LONGJMP_TARGET_P() = %d\n",
1751 GET_LONGJMP_TARGET_P ());
1752#endif
9df628e0
RE
1753#ifdef GET_LONGJMP_TARGET
1754 fprintf_unfiltered (file,
1755 "gdbarch_dump: %s # %s\n",
1756 "GET_LONGJMP_TARGET(pc)",
1757 XSTRING (GET_LONGJMP_TARGET (pc)));
7996bcec
AC
1758 fprintf_unfiltered (file,
1759 "gdbarch_dump: GET_LONGJMP_TARGET = <0x%08lx>\n",
1760 (long) current_gdbarch->get_longjmp_target
1761 /*GET_LONGJMP_TARGET ()*/);
9df628e0 1762#endif
967c0d83 1763#ifdef HAVE_NONSTEPPABLE_WATCHPOINT
f74fa174 1764 fprintf_unfiltered (file,
967c0d83
MM
1765 "gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT # %s\n",
1766 XSTRING (HAVE_NONSTEPPABLE_WATCHPOINT));
f74fa174 1767 fprintf_unfiltered (file,
967c0d83
MM
1768 "gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT = %d\n",
1769 HAVE_NONSTEPPABLE_WATCHPOINT);
f74fa174 1770#endif
08e45a40 1771#ifdef INNER_THAN
10312cc4
AC
1772 fprintf_unfiltered (file,
1773 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1774 "INNER_THAN(lhs, rhs)",
1775 XSTRING (INNER_THAN (lhs, rhs)));
7996bcec
AC
1776 fprintf_unfiltered (file,
1777 "gdbarch_dump: INNER_THAN = <0x%08lx>\n",
1778 (long) current_gdbarch->inner_than
1779 /*INNER_THAN ()*/);
10312cc4 1780#endif
1e9f55d0
AC
1781#ifdef INTEGER_TO_ADDRESS_P
1782 fprintf_unfiltered (file,
1783 "gdbarch_dump: %s # %s\n",
1784 "INTEGER_TO_ADDRESS_P()",
1785 XSTRING (INTEGER_TO_ADDRESS_P ()));
1786 fprintf_unfiltered (file,
1787 "gdbarch_dump: INTEGER_TO_ADDRESS_P() = %d\n",
1788 INTEGER_TO_ADDRESS_P ());
1789#endif
fc0c74b1
AC
1790#ifdef INTEGER_TO_ADDRESS
1791 fprintf_unfiltered (file,
1792 "gdbarch_dump: %s # %s\n",
1793 "INTEGER_TO_ADDRESS(type, buf)",
1794 XSTRING (INTEGER_TO_ADDRESS (type, buf)));
7996bcec
AC
1795 fprintf_unfiltered (file,
1796 "gdbarch_dump: INTEGER_TO_ADDRESS = <0x%08lx>\n",
1797 (long) current_gdbarch->integer_to_address
1798 /*INTEGER_TO_ADDRESS ()*/);
fc0c74b1 1799#endif
5e74b15c
RE
1800#ifdef IN_SOLIB_CALL_TRAMPOLINE
1801 fprintf_unfiltered (file,
1802 "gdbarch_dump: %s # %s\n",
1803 "IN_SOLIB_CALL_TRAMPOLINE(pc, name)",
1804 XSTRING (IN_SOLIB_CALL_TRAMPOLINE (pc, name)));
7996bcec
AC
1805 fprintf_unfiltered (file,
1806 "gdbarch_dump: IN_SOLIB_CALL_TRAMPOLINE = <0x%08lx>\n",
1807 (long) current_gdbarch->in_solib_call_trampoline
1808 /*IN_SOLIB_CALL_TRAMPOLINE ()*/);
5e74b15c 1809#endif
d50355b6
MS
1810#ifdef IN_SOLIB_RETURN_TRAMPOLINE
1811 fprintf_unfiltered (file,
1812 "gdbarch_dump: %s # %s\n",
1813 "IN_SOLIB_RETURN_TRAMPOLINE(pc, name)",
1814 XSTRING (IN_SOLIB_RETURN_TRAMPOLINE (pc, name)));
7996bcec
AC
1815 fprintf_unfiltered (file,
1816 "gdbarch_dump: IN_SOLIB_RETURN_TRAMPOLINE = <0x%08lx>\n",
1817 (long) current_gdbarch->in_solib_return_trampoline
1818 /*IN_SOLIB_RETURN_TRAMPOLINE ()*/);
d50355b6 1819#endif
08e45a40 1820#ifdef MEMORY_INSERT_BREAKPOINT
4b9b3959
AC
1821 fprintf_unfiltered (file,
1822 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1823 "MEMORY_INSERT_BREAKPOINT(addr, contents_cache)",
1824 XSTRING (MEMORY_INSERT_BREAKPOINT (addr, contents_cache)));
7996bcec
AC
1825 fprintf_unfiltered (file,
1826 "gdbarch_dump: MEMORY_INSERT_BREAKPOINT = <0x%08lx>\n",
1827 (long) current_gdbarch->memory_insert_breakpoint
1828 /*MEMORY_INSERT_BREAKPOINT ()*/);
4b9b3959 1829#endif
08e45a40 1830#ifdef MEMORY_REMOVE_BREAKPOINT
4b9b3959
AC
1831 fprintf_unfiltered (file,
1832 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1833 "MEMORY_REMOVE_BREAKPOINT(addr, contents_cache)",
1834 XSTRING (MEMORY_REMOVE_BREAKPOINT (addr, contents_cache)));
7996bcec
AC
1835 fprintf_unfiltered (file,
1836 "gdbarch_dump: MEMORY_REMOVE_BREAKPOINT = <0x%08lx>\n",
1837 (long) current_gdbarch->memory_remove_breakpoint
1838 /*MEMORY_REMOVE_BREAKPOINT ()*/);
4b9b3959 1839#endif
5720643c
JB
1840#ifdef NAME_OF_MALLOC
1841 fprintf_unfiltered (file,
1842 "gdbarch_dump: NAME_OF_MALLOC # %s\n",
1843 XSTRING (NAME_OF_MALLOC));
1844 fprintf_unfiltered (file,
31deffe5
AC
1845 "gdbarch_dump: NAME_OF_MALLOC = %s\n",
1846 NAME_OF_MALLOC);
5720643c 1847#endif
08e45a40 1848#ifdef NUM_PSEUDO_REGS
4b9b3959 1849 fprintf_unfiltered (file,
08e45a40
AC
1850 "gdbarch_dump: NUM_PSEUDO_REGS # %s\n",
1851 XSTRING (NUM_PSEUDO_REGS));
1852 fprintf_unfiltered (file,
06b25f14
AC
1853 "gdbarch_dump: NUM_PSEUDO_REGS = %d\n",
1854 NUM_PSEUDO_REGS);
4b9b3959 1855#endif
08e45a40 1856#ifdef NUM_REGS
7f1b2585 1857 fprintf_unfiltered (file,
08e45a40
AC
1858 "gdbarch_dump: NUM_REGS # %s\n",
1859 XSTRING (NUM_REGS));
1860 fprintf_unfiltered (file,
06b25f14
AC
1861 "gdbarch_dump: NUM_REGS = %d\n",
1862 NUM_REGS);
7f1b2585 1863#endif
08e45a40
AC
1864#ifdef PC_REGNUM
1865 fprintf_unfiltered (file,
1866 "gdbarch_dump: PC_REGNUM # %s\n",
1867 XSTRING (PC_REGNUM));
1868 fprintf_unfiltered (file,
06b25f14
AC
1869 "gdbarch_dump: PC_REGNUM = %d\n",
1870 PC_REGNUM);
7f1b2585 1871#endif
4b9b3959
AC
1872#ifdef POINTER_TO_ADDRESS
1873 fprintf_unfiltered (file,
1874 "gdbarch_dump: %s # %s\n",
1875 "POINTER_TO_ADDRESS(type, buf)",
1876 XSTRING (POINTER_TO_ADDRESS (type, buf)));
7996bcec
AC
1877 fprintf_unfiltered (file,
1878 "gdbarch_dump: POINTER_TO_ADDRESS = <0x%08lx>\n",
1879 (long) current_gdbarch->pointer_to_address
1880 /*POINTER_TO_ADDRESS ()*/);
5e74b15c 1881#endif
7996bcec
AC
1882 fprintf_unfiltered (file,
1883 "gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
1884 gdbarch_print_float_info_p (current_gdbarch));
1885 fprintf_unfiltered (file,
1886 "gdbarch_dump: print_float_info = 0x%08lx\n",
1887 (long) current_gdbarch->print_float_info);
1888 fprintf_unfiltered (file,
1889 "gdbarch_dump: print_registers_info = 0x%08lx\n",
1890 (long) current_gdbarch->print_registers_info);
1891 fprintf_unfiltered (file,
1892 "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
1893 gdbarch_print_vector_info_p (current_gdbarch));
1894 fprintf_unfiltered (file,
1895 "gdbarch_dump: print_vector_info = 0x%08lx\n",
1896 (long) current_gdbarch->print_vector_info);
c2169756
AC
1897#ifdef PS_REGNUM
1898 fprintf_unfiltered (file,
1899 "gdbarch_dump: PS_REGNUM # %s\n",
1900 XSTRING (PS_REGNUM));
1901 fprintf_unfiltered (file,
1902 "gdbarch_dump: PS_REGNUM = %d\n",
1903 PS_REGNUM);
1904#endif
7996bcec
AC
1905 fprintf_unfiltered (file,
1906 "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
1907 gdbarch_push_dummy_call_p (current_gdbarch));
1908 fprintf_unfiltered (file,
1909 "gdbarch_dump: push_dummy_call = 0x%08lx\n",
1910 (long) current_gdbarch->push_dummy_call);
1911 fprintf_unfiltered (file,
1912 "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
1913 gdbarch_push_dummy_code_p (current_gdbarch));
1914 fprintf_unfiltered (file,
1915 "gdbarch_dump: push_dummy_code = 0x%08lx\n",
1916 (long) current_gdbarch->push_dummy_code);
1e9f55d0
AC
1917#ifdef REGISTER_BYTES_OK_P
1918 fprintf_unfiltered (file,
1919 "gdbarch_dump: %s # %s\n",
1920 "REGISTER_BYTES_OK_P()",
1921 XSTRING (REGISTER_BYTES_OK_P ()));
1922 fprintf_unfiltered (file,
1923 "gdbarch_dump: REGISTER_BYTES_OK_P() = %d\n",
1924 REGISTER_BYTES_OK_P ());
1925#endif
08e45a40 1926#ifdef REGISTER_BYTES_OK
4b9b3959
AC
1927 fprintf_unfiltered (file,
1928 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1929 "REGISTER_BYTES_OK(nr_bytes)",
1930 XSTRING (REGISTER_BYTES_OK (nr_bytes)));
7996bcec
AC
1931 fprintf_unfiltered (file,
1932 "gdbarch_dump: REGISTER_BYTES_OK = <0x%08lx>\n",
1933 (long) current_gdbarch->register_bytes_ok
1934 /*REGISTER_BYTES_OK ()*/);
4b9b3959 1935#endif
08e45a40 1936#ifdef REGISTER_NAME
4b9b3959
AC
1937 fprintf_unfiltered (file,
1938 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1939 "REGISTER_NAME(regnr)",
1940 XSTRING (REGISTER_NAME (regnr)));
7996bcec
AC
1941 fprintf_unfiltered (file,
1942 "gdbarch_dump: REGISTER_NAME = <0x%08lx>\n",
1943 (long) current_gdbarch->register_name
1944 /*REGISTER_NAME ()*/);
4b9b3959 1945#endif
08e45a40 1946#ifdef REGISTER_SIM_REGNO
4b9b3959
AC
1947 fprintf_unfiltered (file,
1948 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1949 "REGISTER_SIM_REGNO(reg_nr)",
1950 XSTRING (REGISTER_SIM_REGNO (reg_nr)));
7996bcec
AC
1951 fprintf_unfiltered (file,
1952 "gdbarch_dump: REGISTER_SIM_REGNO = <0x%08lx>\n",
1953 (long) current_gdbarch->register_sim_regno
1954 /*REGISTER_SIM_REGNO ()*/);
4b9b3959 1955#endif
13d01224 1956#ifdef REGISTER_TO_VALUE
13d01224
AC
1957 fprintf_unfiltered (file,
1958 "gdbarch_dump: %s # %s\n",
ff2e87ac
AC
1959 "REGISTER_TO_VALUE(frame, regnum, type, buf)",
1960 XSTRING (REGISTER_TO_VALUE (frame, regnum, type, buf)));
7996bcec
AC
1961 fprintf_unfiltered (file,
1962 "gdbarch_dump: REGISTER_TO_VALUE = <0x%08lx>\n",
1963 (long) current_gdbarch->register_to_value
1964 /*REGISTER_TO_VALUE ()*/);
13d01224 1965#endif
7996bcec
AC
1966 fprintf_unfiltered (file,
1967 "gdbarch_dump: gdbarch_register_type_p() = %d\n",
1968 gdbarch_register_type_p (current_gdbarch));
1969 fprintf_unfiltered (file,
1970 "gdbarch_dump: register_type = 0x%08lx\n",
1971 (long) current_gdbarch->register_type);
7996bcec
AC
1972 fprintf_unfiltered (file,
1973 "gdbarch_dump: remote_translate_xfer_address = 0x%08lx\n",
1974 (long) current_gdbarch->remote_translate_xfer_address);
08e45a40 1975#ifdef RETURN_VALUE_ON_STACK
4b9b3959
AC
1976 fprintf_unfiltered (file,
1977 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1978 "RETURN_VALUE_ON_STACK(type)",
1979 XSTRING (RETURN_VALUE_ON_STACK (type)));
7996bcec
AC
1980 fprintf_unfiltered (file,
1981 "gdbarch_dump: RETURN_VALUE_ON_STACK = <0x%08lx>\n",
1982 (long) current_gdbarch->return_value_on_stack
1983 /*RETURN_VALUE_ON_STACK ()*/);
4b9b3959 1984#endif
08e45a40 1985#ifdef SDB_REG_TO_REGNUM
4b9b3959
AC
1986 fprintf_unfiltered (file,
1987 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1988 "SDB_REG_TO_REGNUM(sdb_regnr)",
1989 XSTRING (SDB_REG_TO_REGNUM (sdb_regnr)));
7996bcec
AC
1990 fprintf_unfiltered (file,
1991 "gdbarch_dump: SDB_REG_TO_REGNUM = <0x%08lx>\n",
1992 (long) current_gdbarch->sdb_reg_to_regnum
1993 /*SDB_REG_TO_REGNUM ()*/);
4b9b3959 1994#endif
08e45a40 1995#ifdef SKIP_PROLOGUE
4b9b3959
AC
1996 fprintf_unfiltered (file,
1997 "gdbarch_dump: %s # %s\n",
08e45a40
AC
1998 "SKIP_PROLOGUE(ip)",
1999 XSTRING (SKIP_PROLOGUE (ip)));
7996bcec
AC
2000 fprintf_unfiltered (file,
2001 "gdbarch_dump: SKIP_PROLOGUE = <0x%08lx>\n",
2002 (long) current_gdbarch->skip_prologue
2003 /*SKIP_PROLOGUE ()*/);
4b9b3959 2004#endif
dea0c52f 2005 fprintf_unfiltered (file,
4c8c40e6
MK
2006 "gdbarch_dump: skip_solib_resolver = 0x%08lx\n",
2007 (long) current_gdbarch->skip_solib_resolver);
08e45a40 2008#ifdef SKIP_TRAMPOLINE_CODE
4b9b3959
AC
2009 fprintf_unfiltered (file,
2010 "gdbarch_dump: %s # %s\n",
08e45a40
AC
2011 "SKIP_TRAMPOLINE_CODE(pc)",
2012 XSTRING (SKIP_TRAMPOLINE_CODE (pc)));
7996bcec
AC
2013 fprintf_unfiltered (file,
2014 "gdbarch_dump: SKIP_TRAMPOLINE_CODE = <0x%08lx>\n",
2015 (long) current_gdbarch->skip_trampoline_code
2016 /*SKIP_TRAMPOLINE_CODE ()*/);
4b9b3959 2017#endif
181c1381
RE
2018#ifdef SMASH_TEXT_ADDRESS
2019 fprintf_unfiltered (file,
2020 "gdbarch_dump: %s # %s\n",
2021 "SMASH_TEXT_ADDRESS(addr)",
2022 XSTRING (SMASH_TEXT_ADDRESS (addr)));
7996bcec
AC
2023 fprintf_unfiltered (file,
2024 "gdbarch_dump: SMASH_TEXT_ADDRESS = <0x%08lx>\n",
2025 (long) current_gdbarch->smash_text_address
2026 /*SMASH_TEXT_ADDRESS ()*/);
181c1381 2027#endif
1e9f55d0
AC
2028#ifdef SOFTWARE_SINGLE_STEP_P
2029 fprintf_unfiltered (file,
2030 "gdbarch_dump: %s # %s\n",
2031 "SOFTWARE_SINGLE_STEP_P()",
2032 XSTRING (SOFTWARE_SINGLE_STEP_P ()));
2033 fprintf_unfiltered (file,
2034 "gdbarch_dump: SOFTWARE_SINGLE_STEP_P() = %d\n",
2035 SOFTWARE_SINGLE_STEP_P ());
2036#endif
08e45a40 2037#ifdef SOFTWARE_SINGLE_STEP
4b9b3959
AC
2038 fprintf_unfiltered (file,
2039 "gdbarch_dump: %s # %s\n",
08e45a40
AC
2040 "SOFTWARE_SINGLE_STEP(sig, insert_breakpoints_p)",
2041 XSTRING (SOFTWARE_SINGLE_STEP (sig, insert_breakpoints_p)));
7996bcec
AC
2042 fprintf_unfiltered (file,
2043 "gdbarch_dump: SOFTWARE_SINGLE_STEP = <0x%08lx>\n",
2044 (long) current_gdbarch->software_single_step
2045 /*SOFTWARE_SINGLE_STEP ()*/);
08e45a40
AC
2046#endif
2047#ifdef SP_REGNUM
1dd4193b 2048 fprintf_unfiltered (file,
08e45a40
AC
2049 "gdbarch_dump: SP_REGNUM # %s\n",
2050 XSTRING (SP_REGNUM));
2051 fprintf_unfiltered (file,
06b25f14
AC
2052 "gdbarch_dump: SP_REGNUM = %d\n",
2053 SP_REGNUM);
1dd4193b 2054#endif
08e45a40 2055#ifdef STAB_REG_TO_REGNUM
4b9b3959
AC
2056 fprintf_unfiltered (file,
2057 "gdbarch_dump: %s # %s\n",
08e45a40
AC
2058 "STAB_REG_TO_REGNUM(stab_regnr)",
2059 XSTRING (STAB_REG_TO_REGNUM (stab_regnr)));
7996bcec
AC
2060 fprintf_unfiltered (file,
2061 "gdbarch_dump: STAB_REG_TO_REGNUM = <0x%08lx>\n",
2062 (long) current_gdbarch->stab_reg_to_regnum
2063 /*STAB_REG_TO_REGNUM ()*/);
4b9b3959 2064#endif
08e45a40 2065#ifdef STORE_RETURN_VALUE
f517ea4e
PS
2066 fprintf_unfiltered (file,
2067 "gdbarch_dump: %s # %s\n",
ebba8386
AC
2068 "STORE_RETURN_VALUE(type, regcache, valbuf)",
2069 XSTRING (STORE_RETURN_VALUE (type, regcache, valbuf)));
7996bcec
AC
2070 fprintf_unfiltered (file,
2071 "gdbarch_dump: STORE_RETURN_VALUE = <0x%08lx>\n",
2072 (long) current_gdbarch->store_return_value
2073 /*STORE_RETURN_VALUE ()*/);
875e1767 2074#endif
08e45a40 2075#ifdef TARGET_ADDR_BIT
bdcd319a 2076 fprintf_unfiltered (file,
08e45a40
AC
2077 "gdbarch_dump: TARGET_ADDR_BIT # %s\n",
2078 XSTRING (TARGET_ADDR_BIT));
2079 fprintf_unfiltered (file,
06b25f14
AC
2080 "gdbarch_dump: TARGET_ADDR_BIT = %d\n",
2081 TARGET_ADDR_BIT);
bdcd319a 2082#endif
381323f4 2083#ifdef TARGET_ARCHITECTURE
08e45a40
AC
2084 fprintf_unfiltered (file,
2085 "gdbarch_dump: TARGET_ARCHITECTURE # %s\n",
2086 XSTRING (TARGET_ARCHITECTURE));
0f71a2f6 2087 if (TARGET_ARCHITECTURE != NULL)
4b9b3959
AC
2088 fprintf_unfiltered (file,
2089 "gdbarch_dump: TARGET_ARCHITECTURE = %s\n",
adf40b2e 2090 TARGET_ARCHITECTURE->printable_name);
381323f4 2091#endif
08e45a40
AC
2092#ifdef TARGET_BFD_VMA_BIT
2093 fprintf_unfiltered (file,
2094 "gdbarch_dump: TARGET_BFD_VMA_BIT # %s\n",
2095 XSTRING (TARGET_BFD_VMA_BIT));
2096 fprintf_unfiltered (file,
06b25f14
AC
2097 "gdbarch_dump: TARGET_BFD_VMA_BIT = %d\n",
2098 TARGET_BFD_VMA_BIT);
08e45a40 2099#endif
381323f4 2100#ifdef TARGET_BYTE_ORDER
08e45a40
AC
2101 fprintf_unfiltered (file,
2102 "gdbarch_dump: TARGET_BYTE_ORDER # %s\n",
2103 XSTRING (TARGET_BYTE_ORDER));
4b9b3959
AC
2104 fprintf_unfiltered (file,
2105 "gdbarch_dump: TARGET_BYTE_ORDER = %ld\n",
adf40b2e 2106 (long) TARGET_BYTE_ORDER);
381323f4 2107#endif
4e409299
JB
2108#ifdef TARGET_CHAR_SIGNED
2109 fprintf_unfiltered (file,
2110 "gdbarch_dump: TARGET_CHAR_SIGNED # %s\n",
2111 XSTRING (TARGET_CHAR_SIGNED));
2112 fprintf_unfiltered (file,
06b25f14
AC
2113 "gdbarch_dump: TARGET_CHAR_SIGNED = %d\n",
2114 TARGET_CHAR_SIGNED);
4e409299 2115#endif
08e45a40 2116#ifdef TARGET_DOUBLE_BIT
4b9b3959 2117 fprintf_unfiltered (file,
08e45a40
AC
2118 "gdbarch_dump: TARGET_DOUBLE_BIT # %s\n",
2119 XSTRING (TARGET_DOUBLE_BIT));
4b9b3959 2120 fprintf_unfiltered (file,
06b25f14
AC
2121 "gdbarch_dump: TARGET_DOUBLE_BIT = %d\n",
2122 TARGET_DOUBLE_BIT);
381323f4 2123#endif
08e45a40 2124#ifdef TARGET_DOUBLE_FORMAT
4b9b3959 2125 fprintf_unfiltered (file,
08e45a40
AC
2126 "gdbarch_dump: TARGET_DOUBLE_FORMAT # %s\n",
2127 XSTRING (TARGET_DOUBLE_FORMAT));
4b9b3959 2128 fprintf_unfiltered (file,
f09cffaa 2129 "gdbarch_dump: TARGET_DOUBLE_FORMAT = %s\n",
52f87c51 2130 (TARGET_DOUBLE_FORMAT)->name);
381323f4
AC
2131#endif
2132#ifdef TARGET_FLOAT_BIT
08e45a40
AC
2133 fprintf_unfiltered (file,
2134 "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
2135 XSTRING (TARGET_FLOAT_BIT));
4b9b3959 2136 fprintf_unfiltered (file,
06b25f14
AC
2137 "gdbarch_dump: TARGET_FLOAT_BIT = %d\n",
2138 TARGET_FLOAT_BIT);
381323f4 2139#endif
08e45a40 2140#ifdef TARGET_FLOAT_FORMAT
4b9b3959 2141 fprintf_unfiltered (file,
08e45a40
AC
2142 "gdbarch_dump: TARGET_FLOAT_FORMAT # %s\n",
2143 XSTRING (TARGET_FLOAT_FORMAT));
2144 fprintf_unfiltered (file,
f09cffaa 2145 "gdbarch_dump: TARGET_FLOAT_FORMAT = %s\n",
52f87c51 2146 (TARGET_FLOAT_FORMAT)->name);
08e45a40
AC
2147#endif
2148#ifdef TARGET_INT_BIT
2149 fprintf_unfiltered (file,
2150 "gdbarch_dump: TARGET_INT_BIT # %s\n",
2151 XSTRING (TARGET_INT_BIT));
2152 fprintf_unfiltered (file,
06b25f14
AC
2153 "gdbarch_dump: TARGET_INT_BIT = %d\n",
2154 TARGET_INT_BIT);
08e45a40
AC
2155#endif
2156#ifdef TARGET_LONG_BIT
2157 fprintf_unfiltered (file,
2158 "gdbarch_dump: TARGET_LONG_BIT # %s\n",
2159 XSTRING (TARGET_LONG_BIT));
2160 fprintf_unfiltered (file,
06b25f14
AC
2161 "gdbarch_dump: TARGET_LONG_BIT = %d\n",
2162 TARGET_LONG_BIT);
381323f4
AC
2163#endif
2164#ifdef TARGET_LONG_DOUBLE_BIT
08e45a40
AC
2165 fprintf_unfiltered (file,
2166 "gdbarch_dump: TARGET_LONG_DOUBLE_BIT # %s\n",
2167 XSTRING (TARGET_LONG_DOUBLE_BIT));
4b9b3959 2168 fprintf_unfiltered (file,
06b25f14
AC
2169 "gdbarch_dump: TARGET_LONG_DOUBLE_BIT = %d\n",
2170 TARGET_LONG_DOUBLE_BIT);
381323f4 2171#endif
08e45a40 2172#ifdef TARGET_LONG_DOUBLE_FORMAT
66b43ecb 2173 fprintf_unfiltered (file,
08e45a40
AC
2174 "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # %s\n",
2175 XSTRING (TARGET_LONG_DOUBLE_FORMAT));
52204a0b 2176 fprintf_unfiltered (file,
f09cffaa 2177 "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT = %s\n",
52f87c51 2178 (TARGET_LONG_DOUBLE_FORMAT)->name);
52204a0b 2179#endif
08e45a40 2180#ifdef TARGET_LONG_LONG_BIT
66b43ecb 2181 fprintf_unfiltered (file,
08e45a40
AC
2182 "gdbarch_dump: TARGET_LONG_LONG_BIT # %s\n",
2183 XSTRING (TARGET_LONG_LONG_BIT));
4b9b3959 2184 fprintf_unfiltered (file,
06b25f14
AC
2185 "gdbarch_dump: TARGET_LONG_LONG_BIT = %d\n",
2186 TARGET_LONG_LONG_BIT);
381323f4 2187#endif
4be87837
DJ
2188#ifdef TARGET_OSABI
2189 fprintf_unfiltered (file,
2190 "gdbarch_dump: TARGET_OSABI # %s\n",
2191 XSTRING (TARGET_OSABI));
2192 fprintf_unfiltered (file,
2193 "gdbarch_dump: TARGET_OSABI = %ld\n",
2194 (long) TARGET_OSABI);
2195#endif
08e45a40
AC
2196#ifdef TARGET_PRINT_INSN
2197 fprintf_unfiltered (file,
2198 "gdbarch_dump: %s # %s\n",
2199 "TARGET_PRINT_INSN(vma, info)",
2200 XSTRING (TARGET_PRINT_INSN (vma, info)));
7996bcec
AC
2201 fprintf_unfiltered (file,
2202 "gdbarch_dump: TARGET_PRINT_INSN = <0x%08lx>\n",
2203 (long) current_gdbarch->print_insn
2204 /*TARGET_PRINT_INSN ()*/);
381323f4 2205#endif
08e45a40
AC
2206#ifdef TARGET_PTR_BIT
2207 fprintf_unfiltered (file,
2208 "gdbarch_dump: TARGET_PTR_BIT # %s\n",
2209 XSTRING (TARGET_PTR_BIT));
2210 fprintf_unfiltered (file,
06b25f14
AC
2211 "gdbarch_dump: TARGET_PTR_BIT = %d\n",
2212 TARGET_PTR_BIT);
381323f4 2213#endif
cde9ea48
AC
2214#ifdef TARGET_READ_PC_P
2215 fprintf_unfiltered (file,
2216 "gdbarch_dump: %s # %s\n",
2217 "TARGET_READ_PC_P()",
2218 XSTRING (TARGET_READ_PC_P ()));
2219 fprintf_unfiltered (file,
2220 "gdbarch_dump: TARGET_READ_PC_P() = %d\n",
2221 TARGET_READ_PC_P ());
2222#endif
08e45a40
AC
2223#ifdef TARGET_READ_PC
2224 fprintf_unfiltered (file,
2225 "gdbarch_dump: %s # %s\n",
2226 "TARGET_READ_PC(ptid)",
2227 XSTRING (TARGET_READ_PC (ptid)));
7996bcec
AC
2228 fprintf_unfiltered (file,
2229 "gdbarch_dump: TARGET_READ_PC = <0x%08lx>\n",
2230 (long) current_gdbarch->read_pc
2231 /*TARGET_READ_PC ()*/);
381323f4 2232#endif
bd1ce8ba
AC
2233#ifdef TARGET_READ_SP_P
2234 fprintf_unfiltered (file,
2235 "gdbarch_dump: %s # %s\n",
2236 "TARGET_READ_SP_P()",
2237 XSTRING (TARGET_READ_SP_P ()));
2238 fprintf_unfiltered (file,
2239 "gdbarch_dump: TARGET_READ_SP_P() = %d\n",
2240 TARGET_READ_SP_P ());
2241#endif
381323f4 2242#ifdef TARGET_READ_SP
08e45a40
AC
2243 fprintf_unfiltered (file,
2244 "gdbarch_dump: %s # %s\n",
2245 "TARGET_READ_SP()",
2246 XSTRING (TARGET_READ_SP ()));
7996bcec
AC
2247 fprintf_unfiltered (file,
2248 "gdbarch_dump: TARGET_READ_SP = <0x%08lx>\n",
2249 (long) current_gdbarch->read_sp
2250 /*TARGET_READ_SP ()*/);
381323f4 2251#endif
08e45a40
AC
2252#ifdef TARGET_SHORT_BIT
2253 fprintf_unfiltered (file,
2254 "gdbarch_dump: TARGET_SHORT_BIT # %s\n",
2255 XSTRING (TARGET_SHORT_BIT));
2256 fprintf_unfiltered (file,
06b25f14
AC
2257 "gdbarch_dump: TARGET_SHORT_BIT = %d\n",
2258 TARGET_SHORT_BIT);
39d4ef09
AC
2259#endif
2260#ifdef TARGET_VIRTUAL_FRAME_POINTER
08e45a40
AC
2261 fprintf_unfiltered (file,
2262 "gdbarch_dump: %s # %s\n",
2263 "TARGET_VIRTUAL_FRAME_POINTER(pc, frame_regnum, frame_offset)",
2264 XSTRING (TARGET_VIRTUAL_FRAME_POINTER (pc, frame_regnum, frame_offset)));
7996bcec
AC
2265 fprintf_unfiltered (file,
2266 "gdbarch_dump: TARGET_VIRTUAL_FRAME_POINTER = <0x%08lx>\n",
2267 (long) current_gdbarch->virtual_frame_pointer
2268 /*TARGET_VIRTUAL_FRAME_POINTER ()*/);
381323f4 2269#endif
08e45a40 2270#ifdef TARGET_WRITE_PC
4b9b3959 2271 fprintf_unfiltered (file,
08e45a40
AC
2272 "gdbarch_dump: %s # %s\n",
2273 "TARGET_WRITE_PC(val, ptid)",
2274 XSTRING (TARGET_WRITE_PC (val, ptid)));
7996bcec
AC
2275 fprintf_unfiltered (file,
2276 "gdbarch_dump: TARGET_WRITE_PC = <0x%08lx>\n",
2277 (long) current_gdbarch->write_pc
2278 /*TARGET_WRITE_PC ()*/);
381323f4 2279#endif
7996bcec
AC
2280 fprintf_unfiltered (file,
2281 "gdbarch_dump: gdbarch_unwind_dummy_id_p() = %d\n",
2282 gdbarch_unwind_dummy_id_p (current_gdbarch));
2283 fprintf_unfiltered (file,
2284 "gdbarch_dump: unwind_dummy_id = 0x%08lx\n",
2285 (long) current_gdbarch->unwind_dummy_id);
2286 fprintf_unfiltered (file,
2287 "gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
2288 gdbarch_unwind_pc_p (current_gdbarch));
2289 fprintf_unfiltered (file,
2290 "gdbarch_dump: unwind_pc = 0x%08lx\n",
2291 (long) current_gdbarch->unwind_pc);
2292 fprintf_unfiltered (file,
2293 "gdbarch_dump: gdbarch_unwind_sp_p() = %d\n",
2294 gdbarch_unwind_sp_p (current_gdbarch));
2295 fprintf_unfiltered (file,
2296 "gdbarch_dump: unwind_sp = 0x%08lx\n",
2297 (long) current_gdbarch->unwind_sp);
08e45a40 2298#ifdef USE_STRUCT_CONVENTION
4b9b3959 2299 fprintf_unfiltered (file,
08e45a40
AC
2300 "gdbarch_dump: %s # %s\n",
2301 "USE_STRUCT_CONVENTION(gcc_p, value_type)",
2302 XSTRING (USE_STRUCT_CONVENTION (gcc_p, value_type)));
7996bcec
AC
2303 fprintf_unfiltered (file,
2304 "gdbarch_dump: USE_STRUCT_CONVENTION = <0x%08lx>\n",
2305 (long) current_gdbarch->use_struct_convention
2306 /*USE_STRUCT_CONVENTION ()*/);
13d01224
AC
2307#endif
2308#ifdef VALUE_TO_REGISTER
13d01224
AC
2309 fprintf_unfiltered (file,
2310 "gdbarch_dump: %s # %s\n",
ff2e87ac
AC
2311 "VALUE_TO_REGISTER(frame, regnum, type, buf)",
2312 XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf)));
7996bcec
AC
2313 fprintf_unfiltered (file,
2314 "gdbarch_dump: VALUE_TO_REGISTER = <0x%08lx>\n",
2315 (long) current_gdbarch->value_to_register
2316 /*VALUE_TO_REGISTER ()*/);
381323f4 2317#endif
4b9b3959
AC
2318 if (current_gdbarch->dump_tdep != NULL)
2319 current_gdbarch->dump_tdep (current_gdbarch, file);
0f71a2f6
JM
2320}
2321
2322struct gdbarch_tdep *
104c1213 2323gdbarch_tdep (struct gdbarch *gdbarch)
0f71a2f6
JM
2324{
2325 if (gdbarch_debug >= 2)
0f71a2f6
JM
2326 fprintf_unfiltered (gdb_stdlog, "gdbarch_tdep called\n");
2327 return gdbarch->tdep;
2328}
2329
2330
2331const struct bfd_arch_info *
104c1213 2332gdbarch_bfd_arch_info (struct gdbarch *gdbarch)
0f71a2f6 2333{
8de9bdc4 2334 gdb_assert (gdbarch != NULL);
0f71a2f6 2335 if (gdbarch_debug >= 2)
0f71a2f6
JM
2336 fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_arch_info called\n");
2337 return gdbarch->bfd_arch_info;
2338}
2339
2340int
104c1213 2341gdbarch_byte_order (struct gdbarch *gdbarch)
0f71a2f6 2342{
8de9bdc4 2343 gdb_assert (gdbarch != NULL);
0f71a2f6 2344 if (gdbarch_debug >= 2)
0f71a2f6
JM
2345 fprintf_unfiltered (gdb_stdlog, "gdbarch_byte_order called\n");
2346 return gdbarch->byte_order;
2347}
2348
4be87837
DJ
2349enum gdb_osabi
2350gdbarch_osabi (struct gdbarch *gdbarch)
2351{
2352 gdb_assert (gdbarch != NULL);
2353 if (gdbarch_debug >= 2)
2354 fprintf_unfiltered (gdb_stdlog, "gdbarch_osabi called\n");
2355 return gdbarch->osabi;
2356}
2357
0f71a2f6 2358int
104c1213 2359gdbarch_short_bit (struct gdbarch *gdbarch)
0f71a2f6 2360{
8de9bdc4 2361 gdb_assert (gdbarch != NULL);
66b43ecb 2362 /* Skip verify of short_bit, invalid_p == 0 */
0f71a2f6 2363 if (gdbarch_debug >= 2)
0f71a2f6
JM
2364 fprintf_unfiltered (gdb_stdlog, "gdbarch_short_bit called\n");
2365 return gdbarch->short_bit;
2366}
2367
2368void
104c1213
JM
2369set_gdbarch_short_bit (struct gdbarch *gdbarch,
2370 int short_bit)
0f71a2f6
JM
2371{
2372 gdbarch->short_bit = short_bit;
2373}
2374
2375int
104c1213 2376gdbarch_int_bit (struct gdbarch *gdbarch)
0f71a2f6 2377{
8de9bdc4 2378 gdb_assert (gdbarch != NULL);
66b43ecb 2379 /* Skip verify of int_bit, invalid_p == 0 */
0f71a2f6 2380 if (gdbarch_debug >= 2)
0f71a2f6
JM
2381 fprintf_unfiltered (gdb_stdlog, "gdbarch_int_bit called\n");
2382 return gdbarch->int_bit;
2383}
2384
2385void
104c1213
JM
2386set_gdbarch_int_bit (struct gdbarch *gdbarch,
2387 int int_bit)
0f71a2f6
JM
2388{
2389 gdbarch->int_bit = int_bit;
2390}
2391
2392int
104c1213 2393gdbarch_long_bit (struct gdbarch *gdbarch)
0f71a2f6 2394{
8de9bdc4 2395 gdb_assert (gdbarch != NULL);
66b43ecb 2396 /* Skip verify of long_bit, invalid_p == 0 */
0f71a2f6 2397 if (gdbarch_debug >= 2)
0f71a2f6
JM
2398 fprintf_unfiltered (gdb_stdlog, "gdbarch_long_bit called\n");
2399 return gdbarch->long_bit;
2400}
2401
2402void
104c1213
JM
2403set_gdbarch_long_bit (struct gdbarch *gdbarch,
2404 int long_bit)
0f71a2f6
JM
2405{
2406 gdbarch->long_bit = long_bit;
2407}
2408
2409int
104c1213 2410gdbarch_long_long_bit (struct gdbarch *gdbarch)
0f71a2f6 2411{
8de9bdc4 2412 gdb_assert (gdbarch != NULL);
66b43ecb 2413 /* Skip verify of long_long_bit, invalid_p == 0 */
0f71a2f6 2414 if (gdbarch_debug >= 2)
0f71a2f6
JM
2415 fprintf_unfiltered (gdb_stdlog, "gdbarch_long_long_bit called\n");
2416 return gdbarch->long_long_bit;
2417}
2418
2419void
104c1213
JM
2420set_gdbarch_long_long_bit (struct gdbarch *gdbarch,
2421 int long_long_bit)
0f71a2f6
JM
2422{
2423 gdbarch->long_long_bit = long_long_bit;
2424}
2425
2426int
104c1213 2427gdbarch_float_bit (struct gdbarch *gdbarch)
0f71a2f6 2428{
8de9bdc4 2429 gdb_assert (gdbarch != NULL);
66b43ecb 2430 /* Skip verify of float_bit, invalid_p == 0 */
0f71a2f6 2431 if (gdbarch_debug >= 2)
0f71a2f6
JM
2432 fprintf_unfiltered (gdb_stdlog, "gdbarch_float_bit called\n");
2433 return gdbarch->float_bit;
2434}
2435
2436void
104c1213
JM
2437set_gdbarch_float_bit (struct gdbarch *gdbarch,
2438 int float_bit)
0f71a2f6
JM
2439{
2440 gdbarch->float_bit = float_bit;
2441}
2442
2443int
104c1213 2444gdbarch_double_bit (struct gdbarch *gdbarch)
0f71a2f6 2445{
8de9bdc4 2446 gdb_assert (gdbarch != NULL);
66b43ecb 2447 /* Skip verify of double_bit, invalid_p == 0 */
0f71a2f6 2448 if (gdbarch_debug >= 2)
0f71a2f6
JM
2449 fprintf_unfiltered (gdb_stdlog, "gdbarch_double_bit called\n");
2450 return gdbarch->double_bit;
2451}
2452
2453void
104c1213
JM
2454set_gdbarch_double_bit (struct gdbarch *gdbarch,
2455 int double_bit)
0f71a2f6
JM
2456{
2457 gdbarch->double_bit = double_bit;
2458}
2459
2460int
104c1213 2461gdbarch_long_double_bit (struct gdbarch *gdbarch)
0f71a2f6 2462{
8de9bdc4 2463 gdb_assert (gdbarch != NULL);
66b43ecb 2464 /* Skip verify of long_double_bit, invalid_p == 0 */
0f71a2f6 2465 if (gdbarch_debug >= 2)
0f71a2f6
JM
2466 fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_bit called\n");
2467 return gdbarch->long_double_bit;
2468}
2469
2470void
104c1213
JM
2471set_gdbarch_long_double_bit (struct gdbarch *gdbarch,
2472 int long_double_bit)
0f71a2f6
JM
2473{
2474 gdbarch->long_double_bit = long_double_bit;
2475}
2476
66b43ecb
AC
2477int
2478gdbarch_ptr_bit (struct gdbarch *gdbarch)
2479{
8de9bdc4 2480 gdb_assert (gdbarch != NULL);
66b43ecb
AC
2481 /* Skip verify of ptr_bit, invalid_p == 0 */
2482 if (gdbarch_debug >= 2)
2483 fprintf_unfiltered (gdb_stdlog, "gdbarch_ptr_bit called\n");
2484 return gdbarch->ptr_bit;
2485}
2486
2487void
2488set_gdbarch_ptr_bit (struct gdbarch *gdbarch,
2489 int ptr_bit)
2490{
2491 gdbarch->ptr_bit = ptr_bit;
2492}
2493
52204a0b
DT
2494int
2495gdbarch_addr_bit (struct gdbarch *gdbarch)
2496{
8de9bdc4 2497 gdb_assert (gdbarch != NULL);
956ac328
AC
2498 /* Check variable changed from pre-default. */
2499 gdb_assert (gdbarch->addr_bit != 0);
52204a0b
DT
2500 if (gdbarch_debug >= 2)
2501 fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bit called\n");
2502 return gdbarch->addr_bit;
2503}
2504
2505void
2506set_gdbarch_addr_bit (struct gdbarch *gdbarch,
2507 int addr_bit)
2508{
2509 gdbarch->addr_bit = addr_bit;
2510}
2511
66b43ecb
AC
2512int
2513gdbarch_bfd_vma_bit (struct gdbarch *gdbarch)
2514{
8de9bdc4 2515 gdb_assert (gdbarch != NULL);
66b43ecb
AC
2516 /* Skip verify of bfd_vma_bit, invalid_p == 0 */
2517 if (gdbarch_debug >= 2)
2518 fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_vma_bit called\n");
2519 return gdbarch->bfd_vma_bit;
2520}
2521
2522void
2523set_gdbarch_bfd_vma_bit (struct gdbarch *gdbarch,
2524 int bfd_vma_bit)
2525{
2526 gdbarch->bfd_vma_bit = bfd_vma_bit;
2527}
2528
4e409299
JB
2529int
2530gdbarch_char_signed (struct gdbarch *gdbarch)
2531{
8de9bdc4 2532 gdb_assert (gdbarch != NULL);
956ac328
AC
2533 /* Check variable changed from pre-default. */
2534 gdb_assert (gdbarch->char_signed != -1);
4e409299
JB
2535 if (gdbarch_debug >= 2)
2536 fprintf_unfiltered (gdb_stdlog, "gdbarch_char_signed called\n");
2537 return gdbarch->char_signed;
2538}
2539
2540void
2541set_gdbarch_char_signed (struct gdbarch *gdbarch,
2542 int char_signed)
2543{
2544 gdbarch->char_signed = char_signed;
2545}
2546
cde9ea48
AC
2547int
2548gdbarch_read_pc_p (struct gdbarch *gdbarch)
2549{
2550 gdb_assert (gdbarch != NULL);
956ac328 2551 return gdbarch->read_pc != NULL;
cde9ea48
AC
2552}
2553
0f71a2f6 2554CORE_ADDR
39f77062 2555gdbarch_read_pc (struct gdbarch *gdbarch, ptid_t ptid)
0f71a2f6 2556{
8de9bdc4 2557 gdb_assert (gdbarch != NULL);
956ac328 2558 gdb_assert (gdbarch->read_pc != NULL);
0f71a2f6 2559 if (gdbarch_debug >= 2)
0f71a2f6 2560 fprintf_unfiltered (gdb_stdlog, "gdbarch_read_pc called\n");
39f77062 2561 return gdbarch->read_pc (ptid);
0f71a2f6
JM
2562}
2563
2564void
104c1213
JM
2565set_gdbarch_read_pc (struct gdbarch *gdbarch,
2566 gdbarch_read_pc_ftype read_pc)
0f71a2f6
JM
2567{
2568 gdbarch->read_pc = read_pc;
2569}
2570
2571void
39f77062 2572gdbarch_write_pc (struct gdbarch *gdbarch, CORE_ADDR val, ptid_t ptid)
0f71a2f6 2573{
8de9bdc4 2574 gdb_assert (gdbarch != NULL);
956ac328 2575 gdb_assert (gdbarch->write_pc != NULL);
0f71a2f6 2576 if (gdbarch_debug >= 2)
0f71a2f6 2577 fprintf_unfiltered (gdb_stdlog, "gdbarch_write_pc called\n");
39f77062 2578 gdbarch->write_pc (val, ptid);
0f71a2f6
JM
2579}
2580
2581void
104c1213
JM
2582set_gdbarch_write_pc (struct gdbarch *gdbarch,
2583 gdbarch_write_pc_ftype write_pc)
0f71a2f6
JM
2584{
2585 gdbarch->write_pc = write_pc;
2586}
2587
bd1ce8ba
AC
2588int
2589gdbarch_read_sp_p (struct gdbarch *gdbarch)
2590{
2591 gdb_assert (gdbarch != NULL);
956ac328 2592 return gdbarch->read_sp != NULL;
bd1ce8ba
AC
2593}
2594
0f71a2f6
JM
2595CORE_ADDR
2596gdbarch_read_sp (struct gdbarch *gdbarch)
2597{
8de9bdc4 2598 gdb_assert (gdbarch != NULL);
956ac328 2599 gdb_assert (gdbarch->read_sp != NULL);
0f71a2f6 2600 if (gdbarch_debug >= 2)
0f71a2f6
JM
2601 fprintf_unfiltered (gdb_stdlog, "gdbarch_read_sp called\n");
2602 return gdbarch->read_sp ();
2603}
2604
2605void
104c1213
JM
2606set_gdbarch_read_sp (struct gdbarch *gdbarch,
2607 gdbarch_read_sp_ftype read_sp)
0f71a2f6
JM
2608{
2609 gdbarch->read_sp = read_sp;
2610}
2611
39d4ef09
AC
2612void
2613gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset)
2614{
8de9bdc4 2615 gdb_assert (gdbarch != NULL);
956ac328 2616 gdb_assert (gdbarch->virtual_frame_pointer != NULL);
39d4ef09
AC
2617 if (gdbarch_debug >= 2)
2618 fprintf_unfiltered (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n");
2619 gdbarch->virtual_frame_pointer (pc, frame_regnum, frame_offset);
2620}
2621
2622void
2623set_gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch,
2624 gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer)
2625{
2626 gdbarch->virtual_frame_pointer = virtual_frame_pointer;
2627}
2628
61a0eb5b 2629int
d8124050 2630gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch)
61a0eb5b 2631{
8de9bdc4 2632 gdb_assert (gdbarch != NULL);
956ac328 2633 return gdbarch->pseudo_register_read != NULL;
61a0eb5b
AC
2634}
2635
2636void
d8124050 2637gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf)
61a0eb5b 2638{
8de9bdc4 2639 gdb_assert (gdbarch != NULL);
956ac328 2640 gdb_assert (gdbarch->pseudo_register_read != NULL);
61a0eb5b 2641 if (gdbarch_debug >= 2)
d8124050
AC
2642 fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_read called\n");
2643 gdbarch->pseudo_register_read (gdbarch, regcache, cookednum, buf);
61a0eb5b
AC
2644}
2645
2646void
d8124050
AC
2647set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch,
2648 gdbarch_pseudo_register_read_ftype pseudo_register_read)
61a0eb5b 2649{
d8124050 2650 gdbarch->pseudo_register_read = pseudo_register_read;
61a0eb5b
AC
2651}
2652
2653int
d8124050 2654gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
61a0eb5b 2655{
8de9bdc4 2656 gdb_assert (gdbarch != NULL);
956ac328 2657 return gdbarch->pseudo_register_write != NULL;
61a0eb5b
AC
2658}
2659
2660void
d8124050 2661gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf)
61a0eb5b 2662{
8de9bdc4 2663 gdb_assert (gdbarch != NULL);
956ac328 2664 gdb_assert (gdbarch->pseudo_register_write != NULL);
61a0eb5b 2665 if (gdbarch_debug >= 2)
d8124050
AC
2666 fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_write called\n");
2667 gdbarch->pseudo_register_write (gdbarch, regcache, cookednum, buf);
61a0eb5b
AC
2668}
2669
2670void
d8124050
AC
2671set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch,
2672 gdbarch_pseudo_register_write_ftype pseudo_register_write)
61a0eb5b 2673{
d8124050 2674 gdbarch->pseudo_register_write = pseudo_register_write;
61a0eb5b
AC
2675}
2676
0f71a2f6 2677int
104c1213 2678gdbarch_num_regs (struct gdbarch *gdbarch)
0f71a2f6 2679{
8de9bdc4 2680 gdb_assert (gdbarch != NULL);
956ac328
AC
2681 /* Check variable changed from pre-default. */
2682 gdb_assert (gdbarch->num_regs != -1);
0f71a2f6 2683 if (gdbarch_debug >= 2)
0f71a2f6
JM
2684 fprintf_unfiltered (gdb_stdlog, "gdbarch_num_regs called\n");
2685 return gdbarch->num_regs;
2686}
2687
2688void
104c1213
JM
2689set_gdbarch_num_regs (struct gdbarch *gdbarch,
2690 int num_regs)
0f71a2f6
JM
2691{
2692 gdbarch->num_regs = num_regs;
2693}
2694
0aba1244
EZ
2695int
2696gdbarch_num_pseudo_regs (struct gdbarch *gdbarch)
2697{
8de9bdc4 2698 gdb_assert (gdbarch != NULL);
0aba1244
EZ
2699 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
2700 if (gdbarch_debug >= 2)
2701 fprintf_unfiltered (gdb_stdlog, "gdbarch_num_pseudo_regs called\n");
2702 return gdbarch->num_pseudo_regs;
2703}
2704
2705void
2706set_gdbarch_num_pseudo_regs (struct gdbarch *gdbarch,
2707 int num_pseudo_regs)
2708{
2709 gdbarch->num_pseudo_regs = num_pseudo_regs;
2710}
2711
0f71a2f6 2712int
104c1213 2713gdbarch_sp_regnum (struct gdbarch *gdbarch)
0f71a2f6 2714{
8de9bdc4 2715 gdb_assert (gdbarch != NULL);
1200cd6e 2716 /* Skip verify of sp_regnum, invalid_p == 0 */
0f71a2f6 2717 if (gdbarch_debug >= 2)
0f71a2f6
JM
2718 fprintf_unfiltered (gdb_stdlog, "gdbarch_sp_regnum called\n");
2719 return gdbarch->sp_regnum;
2720}
2721
2722void
104c1213
JM
2723set_gdbarch_sp_regnum (struct gdbarch *gdbarch,
2724 int sp_regnum)
0f71a2f6
JM
2725{
2726 gdbarch->sp_regnum = sp_regnum;
2727}
2728
0f71a2f6 2729int
104c1213 2730gdbarch_pc_regnum (struct gdbarch *gdbarch)
0f71a2f6 2731{
8de9bdc4 2732 gdb_assert (gdbarch != NULL);
1200cd6e 2733 /* Skip verify of pc_regnum, invalid_p == 0 */
0f71a2f6 2734 if (gdbarch_debug >= 2)
0f71a2f6
JM
2735 fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_regnum called\n");
2736 return gdbarch->pc_regnum;
2737}
2738
2739void
104c1213
JM
2740set_gdbarch_pc_regnum (struct gdbarch *gdbarch,
2741 int pc_regnum)
0f71a2f6
JM
2742{
2743 gdbarch->pc_regnum = pc_regnum;
2744}
2745
c2169756
AC
2746int
2747gdbarch_ps_regnum (struct gdbarch *gdbarch)
2748{
8de9bdc4 2749 gdb_assert (gdbarch != NULL);
c2169756
AC
2750 /* Skip verify of ps_regnum, invalid_p == 0 */
2751 if (gdbarch_debug >= 2)
2752 fprintf_unfiltered (gdb_stdlog, "gdbarch_ps_regnum called\n");
2753 return gdbarch->ps_regnum;
2754}
2755
2756void
2757set_gdbarch_ps_regnum (struct gdbarch *gdbarch,
2758 int ps_regnum)
2759{
2760 gdbarch->ps_regnum = ps_regnum;
2761}
2762
60054393
MS
2763int
2764gdbarch_fp0_regnum (struct gdbarch *gdbarch)
2765{
8de9bdc4 2766 gdb_assert (gdbarch != NULL);
60054393
MS
2767 /* Skip verify of fp0_regnum, invalid_p == 0 */
2768 if (gdbarch_debug >= 2)
2769 fprintf_unfiltered (gdb_stdlog, "gdbarch_fp0_regnum called\n");
2770 return gdbarch->fp0_regnum;
2771}
2772
2773void
2774set_gdbarch_fp0_regnum (struct gdbarch *gdbarch,
2775 int fp0_regnum)
2776{
2777 gdbarch->fp0_regnum = fp0_regnum;
2778}
2779
88c72b7d
AC
2780int
2781gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr)
2782{
8de9bdc4 2783 gdb_assert (gdbarch != NULL);
956ac328 2784 gdb_assert (gdbarch->stab_reg_to_regnum != NULL);
88c72b7d
AC
2785 if (gdbarch_debug >= 2)
2786 fprintf_unfiltered (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n");
2787 return gdbarch->stab_reg_to_regnum (stab_regnr);
2788}
2789
2790void
2791set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch,
2792 gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum)
2793{
2794 gdbarch->stab_reg_to_regnum = stab_reg_to_regnum;
2795}
2796
2797int
2798gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr)
2799{
8de9bdc4 2800 gdb_assert (gdbarch != NULL);
956ac328 2801 gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL);
88c72b7d
AC
2802 if (gdbarch_debug >= 2)
2803 fprintf_unfiltered (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n");
2804 return gdbarch->ecoff_reg_to_regnum (ecoff_regnr);
2805}
2806
2807void
2808set_gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch,
2809 gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum)
2810{
2811 gdbarch->ecoff_reg_to_regnum = ecoff_reg_to_regnum;
2812}
2813
2814int
2815gdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int dwarf_regnr)
2816{
8de9bdc4 2817 gdb_assert (gdbarch != NULL);
956ac328 2818 gdb_assert (gdbarch->dwarf_reg_to_regnum != NULL);
88c72b7d
AC
2819 if (gdbarch_debug >= 2)
2820 fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf_reg_to_regnum called\n");
2821 return gdbarch->dwarf_reg_to_regnum (dwarf_regnr);
2822}
2823
2824void
2825set_gdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch,
2826 gdbarch_dwarf_reg_to_regnum_ftype dwarf_reg_to_regnum)
2827{
2828 gdbarch->dwarf_reg_to_regnum = dwarf_reg_to_regnum;
2829}
2830
2831int
2832gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, int sdb_regnr)
2833{
8de9bdc4 2834 gdb_assert (gdbarch != NULL);
956ac328 2835 gdb_assert (gdbarch->sdb_reg_to_regnum != NULL);
88c72b7d
AC
2836 if (gdbarch_debug >= 2)
2837 fprintf_unfiltered (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n");
2838 return gdbarch->sdb_reg_to_regnum (sdb_regnr);
2839}
2840
2841void
2842set_gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch,
2843 gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum)
2844{
2845 gdbarch->sdb_reg_to_regnum = sdb_reg_to_regnum;
2846}
2847
2848int
2849gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr)
2850{
8de9bdc4 2851 gdb_assert (gdbarch != NULL);
956ac328 2852 gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL);
88c72b7d
AC
2853 if (gdbarch_debug >= 2)
2854 fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n");
2855 return gdbarch->dwarf2_reg_to_regnum (dwarf2_regnr);
2856}
2857
2858void
2859set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch,
2860 gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum)
2861{
2862 gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum;
2863}
2864
fa88f677 2865const char *
0f71a2f6
JM
2866gdbarch_register_name (struct gdbarch *gdbarch, int regnr)
2867{
8de9bdc4 2868 gdb_assert (gdbarch != NULL);
956ac328 2869 gdb_assert (gdbarch->register_name != NULL);
0f71a2f6 2870 if (gdbarch_debug >= 2)
0f71a2f6
JM
2871 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
2872 return gdbarch->register_name (regnr);
2873}
2874
2875void
104c1213
JM
2876set_gdbarch_register_name (struct gdbarch *gdbarch,
2877 gdbarch_register_name_ftype register_name)
0f71a2f6
JM
2878{
2879 gdbarch->register_name = register_name;
2880}
2881
0f71a2f6 2882int
9c04cab7 2883gdbarch_register_type_p (struct gdbarch *gdbarch)
0f71a2f6 2884{
8de9bdc4 2885 gdb_assert (gdbarch != NULL);
956ac328 2886 return gdbarch->register_type != NULL;
9c04cab7
AC
2887}
2888
2889struct type *
2890gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
2891{
2892 gdb_assert (gdbarch != NULL);
956ac328 2893 gdb_assert (gdbarch->register_type != NULL);
0f71a2f6 2894 if (gdbarch_debug >= 2)
9c04cab7
AC
2895 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n");
2896 return gdbarch->register_type (gdbarch, reg_nr);
0f71a2f6
JM
2897}
2898
2899void
9c04cab7
AC
2900set_gdbarch_register_type (struct gdbarch *gdbarch,
2901 gdbarch_register_type_ftype register_type)
0f71a2f6 2902{
9c04cab7 2903 gdbarch->register_type = register_type;
0f71a2f6
JM
2904}
2905
46654a5b 2906int
9c04cab7 2907gdbarch_deprecated_register_virtual_type_p (struct gdbarch *gdbarch)
46654a5b
AC
2908{
2909 gdb_assert (gdbarch != NULL);
956ac328 2910 return gdbarch->deprecated_register_virtual_type != NULL;
46654a5b
AC
2911}
2912
9c04cab7
AC
2913struct type *
2914gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, int reg_nr)
0f71a2f6 2915{
8de9bdc4 2916 gdb_assert (gdbarch != NULL);
956ac328 2917 gdb_assert (gdbarch->deprecated_register_virtual_type != NULL);
0f71a2f6 2918 if (gdbarch_debug >= 2)
9c04cab7
AC
2919 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_type called\n");
2920 return gdbarch->deprecated_register_virtual_type (reg_nr);
0f71a2f6
JM
2921}
2922
2923void
9c04cab7
AC
2924set_gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch,
2925 gdbarch_deprecated_register_virtual_type_ftype deprecated_register_virtual_type)
0f71a2f6 2926{
9c04cab7 2927 gdbarch->deprecated_register_virtual_type = deprecated_register_virtual_type;
0f71a2f6
JM
2928}
2929
2930int
9c04cab7 2931gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch)
0f71a2f6 2932{
8de9bdc4 2933 gdb_assert (gdbarch != NULL);
0f71a2f6 2934 if (gdbarch_debug >= 2)
9c04cab7
AC
2935 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_bytes called\n");
2936 return gdbarch->deprecated_register_bytes;
0f71a2f6
JM
2937}
2938
2939void
9c04cab7
AC
2940set_gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch,
2941 int deprecated_register_bytes)
0f71a2f6 2942{
9c04cab7 2943 gdbarch->deprecated_register_bytes = deprecated_register_bytes;
0f71a2f6
JM
2944}
2945
2946int
9c04cab7 2947gdbarch_deprecated_register_byte_p (struct gdbarch *gdbarch)
a0ed5532
AC
2948{
2949 gdb_assert (gdbarch != NULL);
9c04cab7 2950 return gdbarch->deprecated_register_byte != generic_register_byte;
a0ed5532
AC
2951}
2952
2953int
9c04cab7 2954gdbarch_deprecated_register_byte (struct gdbarch *gdbarch, int reg_nr)
0f71a2f6 2955{
8de9bdc4 2956 gdb_assert (gdbarch != NULL);
956ac328
AC
2957 gdb_assert (gdbarch->deprecated_register_byte != NULL);
2958 /* Do not check predicate: gdbarch->deprecated_register_byte != generic_register_byte, allow call. */
0f71a2f6 2959 if (gdbarch_debug >= 2)
9c04cab7
AC
2960 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_byte called\n");
2961 return gdbarch->deprecated_register_byte (reg_nr);
0f71a2f6
JM
2962}
2963
2964void
9c04cab7
AC
2965set_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch,
2966 gdbarch_deprecated_register_byte_ftype deprecated_register_byte)
0f71a2f6 2967{
9c04cab7 2968 gdbarch->deprecated_register_byte = deprecated_register_byte;
0f71a2f6
JM
2969}
2970
dadd712e
AC
2971int
2972gdbarch_deprecated_register_raw_size_p (struct gdbarch *gdbarch)
2973{
2974 gdb_assert (gdbarch != NULL);
2975 return gdbarch->deprecated_register_raw_size != generic_register_size;
2976}
2977
0f71a2f6 2978int
9c04cab7 2979gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, int reg_nr)
0f71a2f6 2980{
8de9bdc4 2981 gdb_assert (gdbarch != NULL);
956ac328
AC
2982 gdb_assert (gdbarch->deprecated_register_raw_size != NULL);
2983 /* Do not check predicate: gdbarch->deprecated_register_raw_size != generic_register_size, allow call. */
0f71a2f6 2984 if (gdbarch_debug >= 2)
9c04cab7
AC
2985 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_raw_size called\n");
2986 return gdbarch->deprecated_register_raw_size (reg_nr);
0f71a2f6
JM
2987}
2988
2989void
9c04cab7
AC
2990set_gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch,
2991 gdbarch_deprecated_register_raw_size_ftype deprecated_register_raw_size)
0f71a2f6 2992{
9c04cab7 2993 gdbarch->deprecated_register_raw_size = deprecated_register_raw_size;
0f71a2f6
JM
2994}
2995
dadd712e
AC
2996int
2997gdbarch_deprecated_register_virtual_size_p (struct gdbarch *gdbarch)
2998{
2999 gdb_assert (gdbarch != NULL);
3000 return gdbarch->deprecated_register_virtual_size != generic_register_size;
3001}
3002
0f71a2f6 3003int
9c04cab7 3004gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, int reg_nr)
0f71a2f6 3005{
8de9bdc4 3006 gdb_assert (gdbarch != NULL);
956ac328
AC
3007 gdb_assert (gdbarch->deprecated_register_virtual_size != NULL);
3008 /* Do not check predicate: gdbarch->deprecated_register_virtual_size != generic_register_size, allow call. */
0f71a2f6 3009 if (gdbarch_debug >= 2)
9c04cab7
AC
3010 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_size called\n");
3011 return gdbarch->deprecated_register_virtual_size (reg_nr);
0f71a2f6
JM
3012}
3013
3014void
9c04cab7
AC
3015set_gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch,
3016 gdbarch_deprecated_register_virtual_size_ftype deprecated_register_virtual_size)
0f71a2f6 3017{
9c04cab7 3018 gdbarch->deprecated_register_virtual_size = deprecated_register_virtual_size;
0f71a2f6
JM
3019}
3020
35cac7cf 3021int
9c04cab7 3022gdbarch_deprecated_max_register_raw_size_p (struct gdbarch *gdbarch)
35cac7cf
AC
3023{
3024 gdb_assert (gdbarch != NULL);
ae99b398 3025 return gdbarch->deprecated_max_register_raw_size != 0;
35cac7cf
AC
3026}
3027
9c04cab7
AC
3028int
3029gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch)
0f71a2f6 3030{
8de9bdc4 3031 gdb_assert (gdbarch != NULL);
0f71a2f6 3032 if (gdbarch_debug >= 2)
9c04cab7
AC
3033 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_raw_size called\n");
3034 return gdbarch->deprecated_max_register_raw_size;
0f71a2f6
JM
3035}
3036
3037void
9c04cab7
AC
3038set_gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch,
3039 int deprecated_max_register_raw_size)
0f71a2f6 3040{
9c04cab7 3041 gdbarch->deprecated_max_register_raw_size = deprecated_max_register_raw_size;
0f71a2f6
JM
3042}
3043
35cac7cf 3044int
9c04cab7 3045gdbarch_deprecated_max_register_virtual_size_p (struct gdbarch *gdbarch)
35cac7cf
AC
3046{
3047 gdb_assert (gdbarch != NULL);
ae99b398 3048 return gdbarch->deprecated_max_register_virtual_size != 0;
35cac7cf
AC
3049}
3050
9c04cab7
AC
3051int
3052gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch)
35cac7cf
AC
3053{
3054 gdb_assert (gdbarch != NULL);
35cac7cf 3055 if (gdbarch_debug >= 2)
9c04cab7
AC
3056 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_virtual_size called\n");
3057 return gdbarch->deprecated_max_register_virtual_size;
35cac7cf
AC
3058}
3059
3060void
9c04cab7
AC
3061set_gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch,
3062 int deprecated_max_register_virtual_size)
35cac7cf 3063{
9c04cab7 3064 gdbarch->deprecated_max_register_virtual_size = deprecated_max_register_virtual_size;
35cac7cf
AC
3065}
3066
f3be58bc
AC
3067int
3068gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch)
3069{
3070 gdb_assert (gdbarch != NULL);
956ac328 3071 return gdbarch->unwind_dummy_id != NULL;
f3be58bc
AC
3072}
3073
3074struct frame_id
3075gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info)
3076{
3077 gdb_assert (gdbarch != NULL);
956ac328 3078 gdb_assert (gdbarch->unwind_dummy_id != NULL);
f3be58bc
AC
3079 if (gdbarch_debug >= 2)
3080 fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n");
3081 return gdbarch->unwind_dummy_id (gdbarch, info);
3082}
3083
3084void
3085set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
3086 gdbarch_unwind_dummy_id_ftype unwind_dummy_id)
3087{
3088 gdbarch->unwind_dummy_id = unwind_dummy_id;
3089}
3090
3091int
a59fe496 3092gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
f3be58bc
AC
3093{
3094 gdb_assert (gdbarch != NULL);
956ac328 3095 return gdbarch->deprecated_save_dummy_frame_tos != NULL;
f3be58bc
AC
3096}
3097
3098void
a59fe496 3099gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
f3be58bc
AC
3100{
3101 gdb_assert (gdbarch != NULL);
956ac328 3102 gdb_assert (gdbarch->deprecated_save_dummy_frame_tos != NULL);
f3be58bc 3103 if (gdbarch_debug >= 2)
a59fe496
AC
3104 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n");
3105 gdbarch->deprecated_save_dummy_frame_tos (sp);
f3be58bc
AC
3106}
3107
3108void
a59fe496
AC
3109set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch,
3110 gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos)
f3be58bc 3111{
a59fe496 3112 gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos;
f3be58bc
AC
3113}
3114
3115int
3116gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
3117{
3118 gdb_assert (gdbarch != NULL);
3119 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
3120 if (gdbarch_debug >= 2)
3121 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
3122 return gdbarch->deprecated_fp_regnum;
3123}
3124
3125void
3126set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
3127 int deprecated_fp_regnum)
3128{
3129 gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
3130}
3131
3132int
3133gdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch)
3134{
3135 gdb_assert (gdbarch != NULL);
956ac328 3136 return gdbarch->deprecated_target_read_fp != NULL;
f3be58bc
AC
3137}
3138
3139CORE_ADDR
3140gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch)
3141{
3142 gdb_assert (gdbarch != NULL);
956ac328 3143 gdb_assert (gdbarch->deprecated_target_read_fp != NULL);
f3be58bc
AC
3144 if (gdbarch_debug >= 2)
3145 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n");
3146 return gdbarch->deprecated_target_read_fp ();
3147}
3148
3149void
3150set_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch,
3151 gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp)
3152{
3153 gdbarch->deprecated_target_read_fp = deprecated_target_read_fp;
3154}
3155
0ab7a791 3156int
b8de8283 3157gdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
0ab7a791
AC
3158{
3159 gdb_assert (gdbarch != NULL);
956ac328 3160 return gdbarch->push_dummy_call != NULL;
0ab7a791
AC
3161}
3162
b8de8283
AC
3163CORE_ADDR
3164gdbarch_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
666e11c5 3165{
8de9bdc4 3166 gdb_assert (gdbarch != NULL);
956ac328 3167 gdb_assert (gdbarch->push_dummy_call != NULL);
666e11c5 3168 if (gdbarch_debug >= 2)
b8de8283
AC
3169 fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n");
3170 return gdbarch->push_dummy_call (gdbarch, func_addr, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr);
666e11c5
EZ
3171}
3172
3173void
b8de8283
AC
3174set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
3175 gdbarch_push_dummy_call_ftype push_dummy_call)
666e11c5 3176{
b8de8283 3177 gdbarch->push_dummy_call = push_dummy_call;
666e11c5
EZ
3178}
3179
b8de8283
AC
3180int
3181gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch)
0ab7a791
AC
3182{
3183 gdb_assert (gdbarch != NULL);
956ac328 3184 return gdbarch->deprecated_push_arguments != NULL;
b8de8283
AC
3185}
3186
3187CORE_ADDR
3188gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
3189{
3190 gdb_assert (gdbarch != NULL);
956ac328 3191 gdb_assert (gdbarch->deprecated_push_arguments != NULL);
0ab7a791 3192 if (gdbarch_debug >= 2)
b8de8283
AC
3193 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n");
3194 return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr);
0ab7a791
AC
3195}
3196
3197void
b8de8283
AC
3198set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch,
3199 gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments)
0ab7a791 3200{
b8de8283 3201 gdbarch->deprecated_push_arguments = deprecated_push_arguments;
0ab7a791
AC
3202}
3203
b8de8283
AC
3204int
3205gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch)
5e74b15c 3206{
8de9bdc4 3207 gdb_assert (gdbarch != NULL);
956ac328 3208 return gdbarch->deprecated_push_return_address != NULL;
b8de8283
AC
3209}
3210
3211CORE_ADDR
3212gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp)
3213{
3214 gdb_assert (gdbarch != NULL);
956ac328 3215 gdb_assert (gdbarch->deprecated_push_return_address != NULL);
5e74b15c 3216 if (gdbarch_debug >= 2)
b8de8283
AC
3217 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n");
3218 return gdbarch->deprecated_push_return_address (pc, sp);
5e74b15c
RE
3219}
3220
3221void
b8de8283
AC
3222set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch,
3223 gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address)
5e74b15c 3224{
b8de8283 3225 gdbarch->deprecated_push_return_address = deprecated_push_return_address;
5e74b15c
RE
3226}
3227
e76f1f2e 3228int
b8de8283 3229gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch)
e76f1f2e
AC
3230{
3231 gdb_assert (gdbarch != NULL);
956ac328 3232 return gdbarch->deprecated_dummy_write_sp != NULL;
e76f1f2e
AC
3233}
3234
3235void
b8de8283 3236gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val)
e76f1f2e
AC
3237{
3238 gdb_assert (gdbarch != NULL);
956ac328 3239 gdb_assert (gdbarch->deprecated_dummy_write_sp != NULL);
e76f1f2e 3240 if (gdbarch_debug >= 2)
b8de8283
AC
3241 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n");
3242 gdbarch->deprecated_dummy_write_sp (val);
e76f1f2e
AC
3243}
3244
3245void
b8de8283
AC
3246set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch,
3247 gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp)
e76f1f2e 3248{
b8de8283 3249 gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp;
e76f1f2e
AC
3250}
3251
7c7651b2 3252int
b8de8283 3253gdbarch_deprecated_register_size (struct gdbarch *gdbarch)
7c7651b2 3254{
8de9bdc4 3255 gdb_assert (gdbarch != NULL);
7c7651b2 3256 if (gdbarch_debug >= 2)
b8de8283
AC
3257 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n");
3258 return gdbarch->deprecated_register_size;
7c7651b2
AC
3259}
3260
3261void
b8de8283
AC
3262set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch,
3263 int deprecated_register_size)
7c7651b2 3264{
b8de8283 3265 gdbarch->deprecated_register_size = deprecated_register_size;
7c7651b2
AC
3266}
3267
2649061d 3268int
b8de8283 3269gdbarch_call_dummy_location (struct gdbarch *gdbarch)
2649061d 3270{
8de9bdc4 3271 gdb_assert (gdbarch != NULL);
b8de8283
AC
3272 /* Skip verify of call_dummy_location, invalid_p == 0 */
3273 if (gdbarch_debug >= 2)
3274 fprintf_unfiltered (gdb_stdlog, "gdbarch_call_dummy_location called\n");
3275 return gdbarch->call_dummy_location;
2649061d
AC
3276}
3277
b8de8283
AC
3278void
3279set_gdbarch_call_dummy_location (struct gdbarch *gdbarch,
3280 int call_dummy_location)
3281{
3282 gdbarch->call_dummy_location = call_dummy_location;
3283}
3284
b8de8283
AC
3285CORE_ADDR
3286gdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch)
3287{
3288 gdb_assert (gdbarch != NULL);
3289 if (gdbarch_debug >= 2)
3290 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_start_offset called\n");
3291 return gdbarch->deprecated_call_dummy_start_offset;
3292}
3293
3294void
3295set_gdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch,
3296 CORE_ADDR deprecated_call_dummy_start_offset)
3297{
3298 gdbarch->deprecated_call_dummy_start_offset = deprecated_call_dummy_start_offset;
3299}
3300
3301CORE_ADDR
3302gdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch)
3303{
3304 gdb_assert (gdbarch != NULL);
3305 if (gdbarch_debug >= 2)
3306 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_breakpoint_offset called\n");
3307 return gdbarch->deprecated_call_dummy_breakpoint_offset;
3308}
3309
3310void
3311set_gdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch,
3312 CORE_ADDR deprecated_call_dummy_breakpoint_offset)
3313{
3314 gdbarch->deprecated_call_dummy_breakpoint_offset = deprecated_call_dummy_breakpoint_offset;
2649061d
AC
3315}
3316
b8de8283
AC
3317LONGEST *
3318gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch)
3319{
3320 gdb_assert (gdbarch != NULL);
3321 /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
3322 if (gdbarch_debug >= 2)
3323 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_words called\n");
3324 return gdbarch->deprecated_call_dummy_words;
3325}
3326
3327void
3328set_gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch,
3329 LONGEST * deprecated_call_dummy_words)
3330{
3331 gdbarch->deprecated_call_dummy_words = deprecated_call_dummy_words;
01fb7433
AC
3332}
3333
3334int
b8de8283 3335gdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch)
01fb7433 3336{
8de9bdc4 3337 gdb_assert (gdbarch != NULL);
b8de8283 3338 /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
01fb7433 3339 if (gdbarch_debug >= 2)
b8de8283
AC
3340 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_sizeof_call_dummy_words called\n");
3341 return gdbarch->deprecated_sizeof_call_dummy_words;
01fb7433
AC
3342}
3343
3344void
b8de8283
AC
3345set_gdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch,
3346 int deprecated_sizeof_call_dummy_words)
01fb7433 3347{
b8de8283 3348 gdbarch->deprecated_sizeof_call_dummy_words = deprecated_sizeof_call_dummy_words;
01fb7433
AC
3349}
3350
0f71a2f6 3351int
b8de8283 3352gdbarch_deprecated_fix_call_dummy_p (struct gdbarch *gdbarch)
0f71a2f6 3353{
8de9bdc4 3354 gdb_assert (gdbarch != NULL);
956ac328 3355 return gdbarch->deprecated_fix_call_dummy != NULL;
b8de8283
AC
3356}
3357
3358void
3359gdbarch_deprecated_fix_call_dummy (struct gdbarch *gdbarch, char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p)
3360{
3361 gdb_assert (gdbarch != NULL);
956ac328 3362 gdb_assert (gdbarch->deprecated_fix_call_dummy != NULL);
0f71a2f6 3363 if (gdbarch_debug >= 2)
b8de8283
AC
3364 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fix_call_dummy called\n");
3365 gdbarch->deprecated_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p);
0f71a2f6
JM
3366}
3367
3368void
b8de8283
AC
3369set_gdbarch_deprecated_fix_call_dummy (struct gdbarch *gdbarch,
3370 gdbarch_deprecated_fix_call_dummy_ftype deprecated_fix_call_dummy)
0f71a2f6 3371{
b8de8283 3372 gdbarch->deprecated_fix_call_dummy = deprecated_fix_call_dummy;
0f71a2f6
JM
3373}
3374
3375int
b8de8283 3376gdbarch_push_dummy_code_p (struct gdbarch *gdbarch)
0f71a2f6 3377{
8de9bdc4 3378 gdb_assert (gdbarch != NULL);
956ac328 3379 return gdbarch->push_dummy_code != NULL;
b8de8283
AC
3380}
3381
3382CORE_ADDR
3383gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr)
3384{
3385 gdb_assert (gdbarch != NULL);
956ac328 3386 gdb_assert (gdbarch->push_dummy_code != NULL);
0f71a2f6 3387 if (gdbarch_debug >= 2)
b8de8283
AC
3388 fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_code called\n");
3389 return gdbarch->push_dummy_code (gdbarch, sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr);
0f71a2f6
JM
3390}
3391
3392void
b8de8283
AC
3393set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
3394 gdbarch_push_dummy_code_ftype push_dummy_code)
0f71a2f6 3395{
b8de8283 3396 gdbarch->push_dummy_code = push_dummy_code;
0f71a2f6
JM
3397}
3398
b8de8283
AC
3399int
3400gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch)
0f71a2f6 3401{
8de9bdc4 3402 gdb_assert (gdbarch != NULL);
956ac328 3403 return gdbarch->deprecated_push_dummy_frame != NULL;
b8de8283
AC
3404}
3405
3406void
3407gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch)
3408{
3409 gdb_assert (gdbarch != NULL);
956ac328 3410 gdb_assert (gdbarch->deprecated_push_dummy_frame != NULL);
0f71a2f6 3411 if (gdbarch_debug >= 2)
b8de8283
AC
3412 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n");
3413 gdbarch->deprecated_push_dummy_frame ();
0f71a2f6
JM
3414}
3415
3416void
b8de8283
AC
3417set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch,
3418 gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame)
0f71a2f6 3419{
b8de8283 3420 gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame;
0f71a2f6
JM
3421}
3422
b8de8283
AC
3423int
3424gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch)
0f71a2f6 3425{
8de9bdc4 3426 gdb_assert (gdbarch != NULL);
956ac328 3427 return gdbarch->deprecated_do_registers_info != NULL;
b8de8283
AC
3428}
3429
3430void
3431gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs)
3432{
3433 gdb_assert (gdbarch != NULL);
956ac328 3434 gdb_assert (gdbarch->deprecated_do_registers_info != NULL);
0f71a2f6 3435 if (gdbarch_debug >= 2)
b8de8283
AC
3436 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n");
3437 gdbarch->deprecated_do_registers_info (reg_nr, fpregs);
0f71a2f6
JM
3438}
3439
3440void
b8de8283
AC
3441set_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch,
3442 gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info)
0f71a2f6 3443{
b8de8283
AC
3444 gdbarch->deprecated_do_registers_info = deprecated_do_registers_info;
3445}
3446
3447void
3448gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
3449{
3450 gdb_assert (gdbarch != NULL);
956ac328 3451 gdb_assert (gdbarch->print_registers_info != NULL);
b8de8283
AC
3452 if (gdbarch_debug >= 2)
3453 fprintf_unfiltered (gdb_stdlog, "gdbarch_print_registers_info called\n");
3454 gdbarch->print_registers_info (gdbarch, file, frame, regnum, all);
3455}
3456
3457void
3458set_gdbarch_print_registers_info (struct gdbarch *gdbarch,
3459 gdbarch_print_registers_info_ftype print_registers_info)
3460{
3461 gdbarch->print_registers_info = print_registers_info;
0f71a2f6
JM
3462}
3463
0f71a2f6 3464int
b8de8283
AC
3465gdbarch_print_float_info_p (struct gdbarch *gdbarch)
3466{
3467 gdb_assert (gdbarch != NULL);
956ac328 3468 return gdbarch->print_float_info != NULL;
b8de8283
AC
3469}
3470
3471void
3472gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
0f71a2f6 3473{
8de9bdc4 3474 gdb_assert (gdbarch != NULL);
956ac328 3475 gdb_assert (gdbarch->print_float_info != NULL);
0f71a2f6 3476 if (gdbarch_debug >= 2)
b8de8283
AC
3477 fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n");
3478 gdbarch->print_float_info (gdbarch, file, frame, args);
0f71a2f6
JM
3479}
3480
3481void
b8de8283
AC
3482set_gdbarch_print_float_info (struct gdbarch *gdbarch,
3483 gdbarch_print_float_info_ftype print_float_info)
0f71a2f6 3484{
b8de8283
AC
3485 gdbarch->print_float_info = print_float_info;
3486}
3487
3488int
3489gdbarch_print_vector_info_p (struct gdbarch *gdbarch)
3490{
3491 gdb_assert (gdbarch != NULL);
956ac328 3492 return gdbarch->print_vector_info != NULL;
b8de8283
AC
3493}
3494
3495void
3496gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
3497{
3498 gdb_assert (gdbarch != NULL);
956ac328 3499 gdb_assert (gdbarch->print_vector_info != NULL);
b8de8283
AC
3500 if (gdbarch_debug >= 2)
3501 fprintf_unfiltered (gdb_stdlog, "gdbarch_print_vector_info called\n");
3502 gdbarch->print_vector_info (gdbarch, file, frame, args);
0f71a2f6
JM
3503}
3504
b8de8283
AC
3505void
3506set_gdbarch_print_vector_info (struct gdbarch *gdbarch,
3507 gdbarch_print_vector_info_ftype print_vector_info)
ae45cd16 3508{
b8de8283 3509 gdbarch->print_vector_info = print_vector_info;
ae45cd16
AC
3510}
3511
3512int
b8de8283 3513gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr)
0f71a2f6 3514{
8de9bdc4 3515 gdb_assert (gdbarch != NULL);
956ac328 3516 gdb_assert (gdbarch->register_sim_regno != NULL);
0f71a2f6 3517 if (gdbarch_debug >= 2)
b8de8283
AC
3518 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n");
3519 return gdbarch->register_sim_regno (reg_nr);
0f71a2f6
JM
3520}
3521
3522void
b8de8283
AC
3523set_gdbarch_register_sim_regno (struct gdbarch *gdbarch,
3524 gdbarch_register_sim_regno_ftype register_sim_regno)
0f71a2f6 3525{
b8de8283 3526 gdbarch->register_sim_regno = register_sim_regno;
0f71a2f6
JM
3527}
3528
b8de8283
AC
3529int
3530gdbarch_register_bytes_ok_p (struct gdbarch *gdbarch)
0f71a2f6 3531{
8de9bdc4 3532 gdb_assert (gdbarch != NULL);
956ac328 3533 return gdbarch->register_bytes_ok != NULL;
0f71a2f6
JM
3534}
3535
3536int
b8de8283 3537gdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes)
0f71a2f6 3538{
8de9bdc4 3539 gdb_assert (gdbarch != NULL);
956ac328 3540 gdb_assert (gdbarch->register_bytes_ok != NULL);
0f71a2f6 3541 if (gdbarch_debug >= 2)
b8de8283
AC
3542 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n");
3543 return gdbarch->register_bytes_ok (nr_bytes);
0f71a2f6
JM
3544}
3545
3546void
b8de8283
AC
3547set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch,
3548 gdbarch_register_bytes_ok_ftype register_bytes_ok)
0f71a2f6 3549{
b8de8283 3550 gdbarch->register_bytes_ok = register_bytes_ok;
0f71a2f6
JM
3551}
3552
3553int
b8de8283 3554gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum)
0f71a2f6 3555{
8de9bdc4 3556 gdb_assert (gdbarch != NULL);
956ac328 3557 gdb_assert (gdbarch->cannot_fetch_register != NULL);
b8de8283
AC
3558 if (gdbarch_debug >= 2)
3559 fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n");
3560 return gdbarch->cannot_fetch_register (regnum);
3561}
3562
3563void
3564set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch,
3565 gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
3566{
3567 gdbarch->cannot_fetch_register = cannot_fetch_register;
0f71a2f6
JM
3568}
3569
3570int
b8de8283 3571gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum)
0f71a2f6 3572{
8de9bdc4 3573 gdb_assert (gdbarch != NULL);
956ac328 3574 gdb_assert (gdbarch->cannot_store_register != NULL);
0f71a2f6 3575 if (gdbarch_debug >= 2)
b8de8283
AC
3576 fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n");
3577 return gdbarch->cannot_store_register (regnum);
0f71a2f6
JM
3578}
3579
3580void
b8de8283
AC
3581set_gdbarch_cannot_store_register (struct gdbarch *gdbarch,
3582 gdbarch_cannot_store_register_ftype cannot_store_register)
0f71a2f6 3583{
b8de8283 3584 gdbarch->cannot_store_register = cannot_store_register;
0f71a2f6
JM
3585}
3586
e8ab51f7 3587int
b8de8283 3588gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
e8ab51f7
AC
3589{
3590 gdb_assert (gdbarch != NULL);
956ac328 3591 return gdbarch->get_longjmp_target != NULL;
e8ab51f7
AC
3592}
3593
b8de8283
AC
3594int
3595gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc)
0f71a2f6 3596{
8de9bdc4 3597 gdb_assert (gdbarch != NULL);
956ac328 3598 gdb_assert (gdbarch->get_longjmp_target != NULL);
0f71a2f6 3599 if (gdbarch_debug >= 2)
b8de8283
AC
3600 fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n");
3601 return gdbarch->get_longjmp_target (pc);
0f71a2f6
JM
3602}
3603
3604void
b8de8283
AC
3605set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch,
3606 gdbarch_get_longjmp_target_ftype get_longjmp_target)
0f71a2f6 3607{
b8de8283 3608 gdbarch->get_longjmp_target = get_longjmp_target;
0f71a2f6
JM
3609}
3610
7043d8dc 3611int
b8de8283 3612gdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch)
7043d8dc
AC
3613{
3614 gdb_assert (gdbarch != NULL);
90ba813f 3615 return gdbarch->deprecated_pc_in_call_dummy != deprecated_pc_in_call_dummy;
7043d8dc
AC
3616}
3617
b8de8283
AC
3618int
3619gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address)
7043d8dc
AC
3620{
3621 gdb_assert (gdbarch != NULL);
956ac328 3622 gdb_assert (gdbarch->deprecated_pc_in_call_dummy != NULL);
90ba813f 3623 /* Do not check predicate: gdbarch->deprecated_pc_in_call_dummy != deprecated_pc_in_call_dummy, allow call. */
7043d8dc 3624 if (gdbarch_debug >= 2)
b8de8283
AC
3625 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n");
3626 return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address);
7043d8dc
AC
3627}
3628
3629void
b8de8283
AC
3630set_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch,
3631 gdbarch_deprecated_pc_in_call_dummy_ftype deprecated_pc_in_call_dummy)
7043d8dc 3632{
b8de8283 3633 gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy;
7043d8dc
AC
3634}
3635
a5afb99f
AC
3636int
3637gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
3638{
3639 gdb_assert (gdbarch != NULL);
956ac328 3640 return gdbarch->deprecated_init_frame_pc != NULL;
a5afb99f
AC
3641}
3642
97f46953 3643CORE_ADDR
a5afb99f 3644gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
10312cc4 3645{
8de9bdc4 3646 gdb_assert (gdbarch != NULL);
956ac328 3647 gdb_assert (gdbarch->deprecated_init_frame_pc != NULL);
10312cc4 3648 if (gdbarch_debug >= 2)
a5afb99f
AC
3649 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
3650 return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
10312cc4
AC
3651}
3652
3653void
a5afb99f
AC
3654set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
3655 gdbarch_deprecated_init_frame_pc_ftype deprecated_init_frame_pc)
10312cc4 3656{
a5afb99f 3657 gdbarch->deprecated_init_frame_pc = deprecated_init_frame_pc;
10312cc4
AC
3658}
3659
0f71a2f6 3660int
104c1213 3661gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch)
0f71a2f6 3662{
8de9bdc4 3663 gdb_assert (gdbarch != NULL);
0f71a2f6 3664 if (gdbarch_debug >= 2)
0f71a2f6
JM
3665 fprintf_unfiltered (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n");
3666 return gdbarch->believe_pcc_promotion;
3667}
3668
3669void
104c1213
JM
3670set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch,
3671 int believe_pcc_promotion)
0f71a2f6
JM
3672{
3673 gdbarch->believe_pcc_promotion = believe_pcc_promotion;
3674}
3675
a216a322 3676int
129c1cd6 3677gdbarch_deprecated_get_saved_register_p (struct gdbarch *gdbarch)
a216a322
AC
3678{
3679 gdb_assert (gdbarch != NULL);
956ac328 3680 return gdbarch->deprecated_get_saved_register != NULL;
a216a322
AC
3681}
3682
0f71a2f6 3683void
129c1cd6 3684gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch, char *raw_buffer, int *optimized, CORE_ADDR *addrp, struct frame_info *frame, int regnum, enum lval_type *lval)
0f71a2f6 3685{
8de9bdc4 3686 gdb_assert (gdbarch != NULL);
956ac328 3687 gdb_assert (gdbarch->deprecated_get_saved_register != NULL);
0f71a2f6 3688 if (gdbarch_debug >= 2)
129c1cd6
AC
3689 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_get_saved_register called\n");
3690 gdbarch->deprecated_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval);
0f71a2f6
JM
3691}
3692
3693void
129c1cd6
AC
3694set_gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch,
3695 gdbarch_deprecated_get_saved_register_ftype deprecated_get_saved_register)
0f71a2f6 3696{
129c1cd6 3697 gdbarch->deprecated_get_saved_register = deprecated_get_saved_register;
0f71a2f6
JM
3698}
3699
cd0bfa36
AC
3700int
3701gdbarch_deprecated_register_convertible_p (struct gdbarch *gdbarch)
3702{
3703 gdb_assert (gdbarch != NULL);
3704 return gdbarch->deprecated_register_convertible != NULL;
3705}
3706
0f71a2f6 3707int
781a750d 3708gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch, int nr)
0f71a2f6 3709{
8de9bdc4 3710 gdb_assert (gdbarch != NULL);
956ac328 3711 gdb_assert (gdbarch->deprecated_register_convertible != NULL);
0f71a2f6 3712 if (gdbarch_debug >= 2)
781a750d
AC
3713 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convertible called\n");
3714 return gdbarch->deprecated_register_convertible (nr);
0f71a2f6
JM
3715}
3716
3717void
781a750d
AC
3718set_gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch,
3719 gdbarch_deprecated_register_convertible_ftype deprecated_register_convertible)
0f71a2f6 3720{
781a750d 3721 gdbarch->deprecated_register_convertible = deprecated_register_convertible;
0f71a2f6
JM
3722}
3723
3724void
781a750d 3725gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to)
0f71a2f6 3726{
8de9bdc4 3727 gdb_assert (gdbarch != NULL);
956ac328 3728 gdb_assert (gdbarch->deprecated_register_convert_to_virtual != NULL);
0f71a2f6 3729 if (gdbarch_debug >= 2)
781a750d
AC
3730 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_virtual called\n");
3731 gdbarch->deprecated_register_convert_to_virtual (regnum, type, from, to);
0f71a2f6
JM
3732}
3733
3734void
781a750d
AC
3735set_gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch,
3736 gdbarch_deprecated_register_convert_to_virtual_ftype deprecated_register_convert_to_virtual)
0f71a2f6 3737{
781a750d 3738 gdbarch->deprecated_register_convert_to_virtual = deprecated_register_convert_to_virtual;
0f71a2f6
JM
3739}
3740
3741void
781a750d 3742gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, const char *from, char *to)
0f71a2f6 3743{
8de9bdc4 3744 gdb_assert (gdbarch != NULL);
956ac328 3745 gdb_assert (gdbarch->deprecated_register_convert_to_raw != NULL);
0f71a2f6 3746 if (gdbarch_debug >= 2)
781a750d
AC
3747 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_raw called\n");
3748 gdbarch->deprecated_register_convert_to_raw (type, regnum, from, to);
0f71a2f6
JM
3749}
3750
3751void
781a750d
AC
3752set_gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch,
3753 gdbarch_deprecated_register_convert_to_raw_ftype deprecated_register_convert_to_raw)
0f71a2f6 3754{
781a750d 3755 gdbarch->deprecated_register_convert_to_raw = deprecated_register_convert_to_raw;
0f71a2f6
JM
3756}
3757
13d01224 3758int
ff2e87ac 3759gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
13d01224
AC
3760{
3761 gdb_assert (gdbarch != NULL);
956ac328 3762 gdb_assert (gdbarch->convert_register_p != NULL);
13d01224
AC
3763 if (gdbarch_debug >= 2)
3764 fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_register_p called\n");
ff2e87ac 3765 return gdbarch->convert_register_p (regnum, type);
13d01224
AC
3766}
3767
3768void
3769set_gdbarch_convert_register_p (struct gdbarch *gdbarch,
3770 gdbarch_convert_register_p_ftype convert_register_p)
3771{
3772 gdbarch->convert_register_p = convert_register_p;
3773}
3774
3775void
ff2e87ac 3776gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, void *buf)
13d01224
AC
3777{
3778 gdb_assert (gdbarch != NULL);
956ac328 3779 gdb_assert (gdbarch->register_to_value != NULL);
13d01224
AC
3780 if (gdbarch_debug >= 2)
3781 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_to_value called\n");
ff2e87ac 3782 gdbarch->register_to_value (frame, regnum, type, buf);
13d01224
AC
3783}
3784
3785void
3786set_gdbarch_register_to_value (struct gdbarch *gdbarch,
3787 gdbarch_register_to_value_ftype register_to_value)
3788{
3789 gdbarch->register_to_value = register_to_value;
3790}
3791
3792void
ff2e87ac 3793gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const void *buf)
13d01224
AC
3794{
3795 gdb_assert (gdbarch != NULL);
956ac328 3796 gdb_assert (gdbarch->value_to_register != NULL);
13d01224
AC
3797 if (gdbarch_debug >= 2)
3798 fprintf_unfiltered (gdb_stdlog, "gdbarch_value_to_register called\n");
ff2e87ac 3799 gdbarch->value_to_register (frame, regnum, type, buf);
13d01224
AC
3800}
3801
3802void
3803set_gdbarch_value_to_register (struct gdbarch *gdbarch,
3804 gdbarch_value_to_register_ftype value_to_register)
3805{
3806 gdbarch->value_to_register = value_to_register;
3807}
3808
4478b372 3809CORE_ADDR
66140c26 3810gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const void *buf)
4478b372 3811{
8de9bdc4 3812 gdb_assert (gdbarch != NULL);
956ac328 3813 gdb_assert (gdbarch->pointer_to_address != NULL);
4478b372
JB
3814 if (gdbarch_debug >= 2)
3815 fprintf_unfiltered (gdb_stdlog, "gdbarch_pointer_to_address called\n");
3816 return gdbarch->pointer_to_address (type, buf);
3817}
3818
3819void
3820set_gdbarch_pointer_to_address (struct gdbarch *gdbarch,
3821 gdbarch_pointer_to_address_ftype pointer_to_address)
3822{
3823 gdbarch->pointer_to_address = pointer_to_address;
3824}
3825
3826void
ac2e2ef7 3827gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, void *buf, CORE_ADDR addr)
4478b372 3828{
8de9bdc4 3829 gdb_assert (gdbarch != NULL);
956ac328 3830 gdb_assert (gdbarch->address_to_pointer != NULL);
4478b372
JB
3831 if (gdbarch_debug >= 2)
3832 fprintf_unfiltered (gdb_stdlog, "gdbarch_address_to_pointer called\n");
3833 gdbarch->address_to_pointer (type, buf, addr);
3834}
3835
3836void
3837set_gdbarch_address_to_pointer (struct gdbarch *gdbarch,
3838 gdbarch_address_to_pointer_ftype address_to_pointer)
3839{
3840 gdbarch->address_to_pointer = address_to_pointer;
3841}
3842
fc0c74b1
AC
3843int
3844gdbarch_integer_to_address_p (struct gdbarch *gdbarch)
3845{
8de9bdc4 3846 gdb_assert (gdbarch != NULL);
956ac328 3847 return gdbarch->integer_to_address != NULL;
fc0c74b1
AC
3848}
3849
3850CORE_ADDR
3851gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, void *buf)
3852{
8de9bdc4 3853 gdb_assert (gdbarch != NULL);
956ac328 3854 gdb_assert (gdbarch->integer_to_address != NULL);
fc0c74b1
AC
3855 if (gdbarch_debug >= 2)
3856 fprintf_unfiltered (gdb_stdlog, "gdbarch_integer_to_address called\n");
3857 return gdbarch->integer_to_address (type, buf);
3858}
3859
3860void
3861set_gdbarch_integer_to_address (struct gdbarch *gdbarch,
3862 gdbarch_integer_to_address_ftype integer_to_address)
3863{
3864 gdbarch->integer_to_address = integer_to_address;
3865}
3866
dedc2a2b 3867int
749b82f6 3868gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch)
dedc2a2b
AC
3869{
3870 gdb_assert (gdbarch != NULL);
956ac328 3871 return gdbarch->deprecated_pop_frame != NULL;
dedc2a2b
AC
3872}
3873
0f71a2f6 3874void
749b82f6 3875gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch)
0f71a2f6 3876{
8de9bdc4 3877 gdb_assert (gdbarch != NULL);
956ac328 3878 gdb_assert (gdbarch->deprecated_pop_frame != NULL);
0f71a2f6 3879 if (gdbarch_debug >= 2)
749b82f6
AC
3880 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pop_frame called\n");
3881 gdbarch->deprecated_pop_frame ();
0f71a2f6
JM
3882}
3883
3884void
749b82f6
AC
3885set_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch,
3886 gdbarch_deprecated_pop_frame_ftype deprecated_pop_frame)
0f71a2f6 3887{
749b82f6 3888 gdbarch->deprecated_pop_frame = deprecated_pop_frame;
0f71a2f6
JM
3889}
3890
4183d812
AC
3891int
3892gdbarch_deprecated_store_struct_return_p (struct gdbarch *gdbarch)
3893{
3894 gdb_assert (gdbarch != NULL);
956ac328 3895 return gdbarch->deprecated_store_struct_return != NULL;
4183d812
AC
3896}
3897
0f71a2f6 3898void
4183d812 3899gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR sp)
0f71a2f6 3900{
8de9bdc4 3901 gdb_assert (gdbarch != NULL);
956ac328 3902 gdb_assert (gdbarch->deprecated_store_struct_return != NULL);
0f71a2f6 3903 if (gdbarch_debug >= 2)
4183d812
AC
3904 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_struct_return called\n");
3905 gdbarch->deprecated_store_struct_return (addr, sp);
0f71a2f6
JM
3906}
3907
3908void
4183d812
AC
3909set_gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch,
3910 gdbarch_deprecated_store_struct_return_ftype deprecated_store_struct_return)
0f71a2f6 3911{
4183d812 3912 gdbarch->deprecated_store_struct_return = deprecated_store_struct_return;
0f71a2f6
JM
3913}
3914
92ad9cd9
AC
3915int
3916gdbarch_return_value_p (struct gdbarch *gdbarch)
3917{
3918 gdb_assert (gdbarch != NULL);
3919 return gdbarch->return_value != NULL;
3920}
3921
3922enum return_value_convention
963e2bb7 3923gdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, void *readbuf, const void *writebuf)
92ad9cd9
AC
3924{
3925 gdb_assert (gdbarch != NULL);
3926 gdb_assert (gdbarch->return_value != NULL);
3927 if (gdbarch_debug >= 2)
3928 fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value called\n");
963e2bb7 3929 return gdbarch->return_value (gdbarch, valtype, regcache, readbuf, writebuf);
92ad9cd9
AC
3930}
3931
3932void
3933set_gdbarch_return_value (struct gdbarch *gdbarch,
3934 gdbarch_return_value_ftype return_value)
3935{
3936 gdbarch->return_value = return_value;
3937}
3938
3939int
3940gdbarch_return_value_on_stack (struct gdbarch *gdbarch, struct type *type)
3941{
3942 gdb_assert (gdbarch != NULL);
3943 gdb_assert (gdbarch->return_value_on_stack != NULL);
3944 if (gdbarch_debug >= 2)
3945 fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value_on_stack called\n");
3946 return gdbarch->return_value_on_stack (type);
3947}
3948
3949void
3950set_gdbarch_return_value_on_stack (struct gdbarch *gdbarch,
3951 gdbarch_return_value_on_stack_ftype return_value_on_stack)
3952{
3953 gdbarch->return_value_on_stack = return_value_on_stack;
3954}
3955
0f71a2f6 3956void
ebba8386
AC
3957gdbarch_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, void *valbuf)
3958{
3959 gdb_assert (gdbarch != NULL);
956ac328 3960 gdb_assert (gdbarch->extract_return_value != NULL);
ebba8386
AC
3961 if (gdbarch_debug >= 2)
3962 fprintf_unfiltered (gdb_stdlog, "gdbarch_extract_return_value called\n");
3963 gdbarch->extract_return_value (type, regcache, valbuf);
3964}
3965
3966void
3967set_gdbarch_extract_return_value (struct gdbarch *gdbarch,
3968 gdbarch_extract_return_value_ftype extract_return_value)
3969{
3970 gdbarch->extract_return_value = extract_return_value;
3971}
3972
3973void
3974gdbarch_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const void *valbuf)
0f71a2f6 3975{
8de9bdc4 3976 gdb_assert (gdbarch != NULL);
956ac328 3977 gdb_assert (gdbarch->store_return_value != NULL);
0f71a2f6 3978 if (gdbarch_debug >= 2)
0f71a2f6 3979 fprintf_unfiltered (gdb_stdlog, "gdbarch_store_return_value called\n");
ebba8386 3980 gdbarch->store_return_value (type, regcache, valbuf);
0f71a2f6
JM
3981}
3982
3983void
104c1213
JM
3984set_gdbarch_store_return_value (struct gdbarch *gdbarch,
3985 gdbarch_store_return_value_ftype store_return_value)
0f71a2f6
JM
3986{
3987 gdbarch->store_return_value = store_return_value;
3988}
3989
ebba8386
AC
3990void
3991gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, char *regbuf, char *valbuf)
3992{
3993 gdb_assert (gdbarch != NULL);
956ac328 3994 gdb_assert (gdbarch->deprecated_extract_return_value != NULL);
ebba8386
AC
3995 if (gdbarch_debug >= 2)
3996 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_return_value called\n");
3997 gdbarch->deprecated_extract_return_value (type, regbuf, valbuf);
3998}
3999
4000void
4001set_gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch,
4002 gdbarch_deprecated_extract_return_value_ftype deprecated_extract_return_value)
4003{
4004 gdbarch->deprecated_extract_return_value = deprecated_extract_return_value;
4005}
4006
4007void
4008gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, char *valbuf)
4009{
4010 gdb_assert (gdbarch != NULL);
956ac328 4011 gdb_assert (gdbarch->deprecated_store_return_value != NULL);
ebba8386
AC
4012 if (gdbarch_debug >= 2)
4013 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_return_value called\n");
4014 gdbarch->deprecated_store_return_value (type, valbuf);
4015}
4016
4017void
4018set_gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch,
4019 gdbarch_deprecated_store_return_value_ftype deprecated_store_return_value)
4020{
4021 gdbarch->deprecated_store_return_value = deprecated_store_return_value;
4022}
4023
92ad9cd9
AC
4024int
4025gdbarch_use_struct_convention (struct gdbarch *gdbarch, int gcc_p, struct type *value_type)
4026{
4027 gdb_assert (gdbarch != NULL);
4028 gdb_assert (gdbarch->use_struct_convention != NULL);
4029 if (gdbarch_debug >= 2)
4030 fprintf_unfiltered (gdb_stdlog, "gdbarch_use_struct_convention called\n");
4031 return gdbarch->use_struct_convention (gcc_p, value_type);
4032}
4033
4034void
4035set_gdbarch_use_struct_convention (struct gdbarch *gdbarch,
4036 gdbarch_use_struct_convention_ftype use_struct_convention)
4037{
4038 gdbarch->use_struct_convention = use_struct_convention;
4039}
4040
049ee0e4 4041int
74055713 4042gdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch)
049ee0e4
AC
4043{
4044 gdb_assert (gdbarch != NULL);
74055713 4045 return gdbarch->deprecated_extract_struct_value_address != NULL;
049ee0e4
AC
4046}
4047
4048CORE_ADDR
74055713 4049gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache)
049ee0e4
AC
4050{
4051 gdb_assert (gdbarch != NULL);
74055713 4052 gdb_assert (gdbarch->deprecated_extract_struct_value_address != NULL);
049ee0e4 4053 if (gdbarch_debug >= 2)
74055713
AC
4054 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_struct_value_address called\n");
4055 return gdbarch->deprecated_extract_struct_value_address (regcache);
049ee0e4
AC
4056}
4057
4058void
74055713
AC
4059set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch,
4060 gdbarch_deprecated_extract_struct_value_address_ftype deprecated_extract_struct_value_address)
049ee0e4 4061{
74055713 4062 gdbarch->deprecated_extract_struct_value_address = deprecated_extract_struct_value_address;
049ee0e4
AC
4063}
4064
8f871025 4065int
f30ee0bc 4066gdbarch_deprecated_frame_init_saved_regs_p (struct gdbarch *gdbarch)
8f871025
AC
4067{
4068 gdb_assert (gdbarch != NULL);
956ac328 4069 return gdbarch->deprecated_frame_init_saved_regs != NULL;
8f871025
AC
4070}
4071
0f71a2f6 4072void
f30ee0bc 4073gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch, struct frame_info *frame)
0f71a2f6 4074{
8de9bdc4 4075 gdb_assert (gdbarch != NULL);
956ac328 4076 gdb_assert (gdbarch->deprecated_frame_init_saved_regs != NULL);
0f71a2f6 4077 if (gdbarch_debug >= 2)
f30ee0bc
AC
4078 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_init_saved_regs called\n");
4079 gdbarch->deprecated_frame_init_saved_regs (frame);
0f71a2f6
JM
4080}
4081
4082void
f30ee0bc
AC
4083set_gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch,
4084 gdbarch_deprecated_frame_init_saved_regs_ftype deprecated_frame_init_saved_regs)
0f71a2f6 4085{
f30ee0bc 4086 gdbarch->deprecated_frame_init_saved_regs = deprecated_frame_init_saved_regs;
0f71a2f6
JM
4087}
4088
5fdff426 4089int
e9582e71 4090gdbarch_deprecated_init_extra_frame_info_p (struct gdbarch *gdbarch)
5fdff426 4091{
8de9bdc4 4092 gdb_assert (gdbarch != NULL);
956ac328 4093 return gdbarch->deprecated_init_extra_frame_info != NULL;
5fdff426
AC
4094}
4095
0f71a2f6 4096void
e9582e71 4097gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch, int fromleaf, struct frame_info *frame)
0f71a2f6 4098{
8de9bdc4 4099 gdb_assert (gdbarch != NULL);
956ac328 4100 gdb_assert (gdbarch->deprecated_init_extra_frame_info != NULL);
0f71a2f6 4101 if (gdbarch_debug >= 2)
e9582e71
AC
4102 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_extra_frame_info called\n");
4103 gdbarch->deprecated_init_extra_frame_info (fromleaf, frame);
0f71a2f6
JM
4104}
4105
4106void
e9582e71
AC
4107set_gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch,
4108 gdbarch_deprecated_init_extra_frame_info_ftype deprecated_init_extra_frame_info)
0f71a2f6 4109{
e9582e71 4110 gdbarch->deprecated_init_extra_frame_info = deprecated_init_extra_frame_info;
0f71a2f6
JM
4111}
4112
4113CORE_ADDR
4114gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
4115{
8de9bdc4 4116 gdb_assert (gdbarch != NULL);
956ac328 4117 gdb_assert (gdbarch->skip_prologue != NULL);
0f71a2f6 4118 if (gdbarch_debug >= 2)
0f71a2f6
JM
4119 fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_prologue called\n");
4120 return gdbarch->skip_prologue (ip);
4121}
4122
4123void
104c1213
JM
4124set_gdbarch_skip_prologue (struct gdbarch *gdbarch,
4125 gdbarch_skip_prologue_ftype skip_prologue)
0f71a2f6
JM
4126{
4127 gdbarch->skip_prologue = skip_prologue;
4128}
4129
4130int
4131gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs)
4132{
8de9bdc4 4133 gdb_assert (gdbarch != NULL);
956ac328 4134 gdb_assert (gdbarch->inner_than != NULL);
0f71a2f6 4135 if (gdbarch_debug >= 2)
0f71a2f6
JM
4136 fprintf_unfiltered (gdb_stdlog, "gdbarch_inner_than called\n");
4137 return gdbarch->inner_than (lhs, rhs);
4138}
4139
4140void
104c1213
JM
4141set_gdbarch_inner_than (struct gdbarch *gdbarch,
4142 gdbarch_inner_than_ftype inner_than)
0f71a2f6
JM
4143{
4144 gdbarch->inner_than = inner_than;
4145}
4146
f4f9705a 4147const unsigned char *
adf40b2e 4148gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
0f71a2f6 4149{
8de9bdc4 4150 gdb_assert (gdbarch != NULL);
956ac328 4151 gdb_assert (gdbarch->breakpoint_from_pc != NULL);
0f71a2f6 4152 if (gdbarch_debug >= 2)
0f71a2f6
JM
4153 fprintf_unfiltered (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n");
4154 return gdbarch->breakpoint_from_pc (pcptr, lenptr);
4155}
4156
4157void
104c1213
JM
4158set_gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch,
4159 gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc)
0f71a2f6
JM
4160{
4161 gdbarch->breakpoint_from_pc = breakpoint_from_pc;
4162}
4163
a1131521
KB
4164int
4165gdbarch_adjust_breakpoint_address_p (struct gdbarch *gdbarch)
4166{
4167 gdb_assert (gdbarch != NULL);
4168 return gdbarch->adjust_breakpoint_address != NULL;
4169}
4170
4171CORE_ADDR
4172gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
4173{
4174 gdb_assert (gdbarch != NULL);
4175 gdb_assert (gdbarch->adjust_breakpoint_address != NULL);
4176 if (gdbarch_debug >= 2)
4177 fprintf_unfiltered (gdb_stdlog, "gdbarch_adjust_breakpoint_address called\n");
4178 return gdbarch->adjust_breakpoint_address (gdbarch, bpaddr);
4179}
4180
4181void
4182set_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch,
4183 gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address)
4184{
4185 gdbarch->adjust_breakpoint_address = adjust_breakpoint_address;
4186}
4187
917317f4
JM
4188int
4189gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
4190{
8de9bdc4 4191 gdb_assert (gdbarch != NULL);
956ac328 4192 gdb_assert (gdbarch->memory_insert_breakpoint != NULL);
917317f4 4193 if (gdbarch_debug >= 2)
917317f4
JM
4194 fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n");
4195 return gdbarch->memory_insert_breakpoint (addr, contents_cache);
4196}
4197
4198void
4199set_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch,
4200 gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint)
4201{
4202 gdbarch->memory_insert_breakpoint = memory_insert_breakpoint;
4203}
4204
4205int
4206gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
4207{
8de9bdc4 4208 gdb_assert (gdbarch != NULL);
956ac328 4209 gdb_assert (gdbarch->memory_remove_breakpoint != NULL);
917317f4 4210 if (gdbarch_debug >= 2)
917317f4
JM
4211 fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n");
4212 return gdbarch->memory_remove_breakpoint (addr, contents_cache);
4213}
4214
4215void
4216set_gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch,
4217 gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint)
4218{
4219 gdbarch->memory_remove_breakpoint = memory_remove_breakpoint;
4220}
4221
0f71a2f6 4222CORE_ADDR
104c1213 4223gdbarch_decr_pc_after_break (struct gdbarch *gdbarch)
0f71a2f6 4224{
8de9bdc4 4225 gdb_assert (gdbarch != NULL);
71bd6bd4 4226 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
0f71a2f6 4227 if (gdbarch_debug >= 2)
0f71a2f6
JM
4228 fprintf_unfiltered (gdb_stdlog, "gdbarch_decr_pc_after_break called\n");
4229 return gdbarch->decr_pc_after_break;
4230}
4231
4232void
104c1213
JM
4233set_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch,
4234 CORE_ADDR decr_pc_after_break)
0f71a2f6
JM
4235{
4236 gdbarch->decr_pc_after_break = decr_pc_after_break;
4237}
4238
4239CORE_ADDR
104c1213 4240gdbarch_function_start_offset (struct gdbarch *gdbarch)
0f71a2f6 4241{
8de9bdc4 4242 gdb_assert (gdbarch != NULL);
6503b91e 4243 /* Skip verify of function_start_offset, invalid_p == 0 */
0f71a2f6 4244 if (gdbarch_debug >= 2)
0f71a2f6
JM
4245 fprintf_unfiltered (gdb_stdlog, "gdbarch_function_start_offset called\n");
4246 return gdbarch->function_start_offset;
4247}
4248
4249void
104c1213
JM
4250set_gdbarch_function_start_offset (struct gdbarch *gdbarch,
4251 CORE_ADDR function_start_offset)
0f71a2f6
JM
4252{
4253 gdbarch->function_start_offset = function_start_offset;
4254}
4255
4256void
f6684c31 4257gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len)
0f71a2f6 4258{
8de9bdc4 4259 gdb_assert (gdbarch != NULL);
956ac328 4260 gdb_assert (gdbarch->remote_translate_xfer_address != NULL);
0f71a2f6 4261 if (gdbarch_debug >= 2)
0f71a2f6 4262 fprintf_unfiltered (gdb_stdlog, "gdbarch_remote_translate_xfer_address called\n");
f6684c31 4263 gdbarch->remote_translate_xfer_address (gdbarch, regcache, gdb_addr, gdb_len, rem_addr, rem_len);
0f71a2f6
JM
4264}
4265
4266void
104c1213
JM
4267set_gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch,
4268 gdbarch_remote_translate_xfer_address_ftype remote_translate_xfer_address)
0f71a2f6
JM
4269{
4270 gdbarch->remote_translate_xfer_address = remote_translate_xfer_address;
4271}
4272
4273CORE_ADDR
104c1213 4274gdbarch_frame_args_skip (struct gdbarch *gdbarch)
0f71a2f6 4275{
8de9bdc4 4276 gdb_assert (gdbarch != NULL);
5867a2fb 4277 /* Skip verify of frame_args_skip, invalid_p == 0 */
0f71a2f6 4278 if (gdbarch_debug >= 2)
0f71a2f6
JM
4279 fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_skip called\n");
4280 return gdbarch->frame_args_skip;
4281}
4282
4283void
104c1213
JM
4284set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
4285 CORE_ADDR frame_args_skip)
0f71a2f6
JM
4286{
4287 gdbarch->frame_args_skip = frame_args_skip;
4288}
4289
4290int
19772a2c
AC
4291gdbarch_deprecated_frameless_function_invocation_p (struct gdbarch *gdbarch)
4292{
4293 gdb_assert (gdbarch != NULL);
4294 return gdbarch->deprecated_frameless_function_invocation != NULL;
4295}
4296
4297int
4298gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi)
0f71a2f6 4299{
8de9bdc4 4300 gdb_assert (gdbarch != NULL);
19772a2c 4301 gdb_assert (gdbarch->deprecated_frameless_function_invocation != NULL);
0f71a2f6 4302 if (gdbarch_debug >= 2)
19772a2c
AC
4303 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frameless_function_invocation called\n");
4304 return gdbarch->deprecated_frameless_function_invocation (fi);
0f71a2f6
JM
4305}
4306
4307void
19772a2c
AC
4308set_gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch,
4309 gdbarch_deprecated_frameless_function_invocation_ftype deprecated_frameless_function_invocation)
0f71a2f6 4310{
19772a2c 4311 gdbarch->deprecated_frameless_function_invocation = deprecated_frameless_function_invocation;
0f71a2f6
JM
4312}
4313
d62d1979 4314int
618ce49f 4315gdbarch_deprecated_frame_chain_p (struct gdbarch *gdbarch)
d62d1979
AC
4316{
4317 gdb_assert (gdbarch != NULL);
956ac328 4318 return gdbarch->deprecated_frame_chain != NULL;
d62d1979
AC
4319}
4320
0f71a2f6 4321CORE_ADDR
618ce49f 4322gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
0f71a2f6 4323{
8de9bdc4 4324 gdb_assert (gdbarch != NULL);
956ac328 4325 gdb_assert (gdbarch->deprecated_frame_chain != NULL);
0f71a2f6 4326 if (gdbarch_debug >= 2)
618ce49f
AC
4327 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain called\n");
4328 return gdbarch->deprecated_frame_chain (frame);
0f71a2f6
JM
4329}
4330
4331void
618ce49f
AC
4332set_gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch,
4333 gdbarch_deprecated_frame_chain_ftype deprecated_frame_chain)
0f71a2f6 4334{
618ce49f 4335 gdbarch->deprecated_frame_chain = deprecated_frame_chain;
0f71a2f6
JM
4336}
4337
51603483 4338int
618ce49f 4339gdbarch_deprecated_frame_chain_valid_p (struct gdbarch *gdbarch)
51603483
DJ
4340{
4341 gdb_assert (gdbarch != NULL);
956ac328 4342 return gdbarch->deprecated_frame_chain_valid != NULL;
51603483
DJ
4343}
4344
0f71a2f6 4345int
618ce49f 4346gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch, CORE_ADDR chain, struct frame_info *thisframe)
0f71a2f6 4347{
8de9bdc4 4348 gdb_assert (gdbarch != NULL);
956ac328 4349 gdb_assert (gdbarch->deprecated_frame_chain_valid != NULL);
0f71a2f6 4350 if (gdbarch_debug >= 2)
618ce49f
AC
4351 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain_valid called\n");
4352 return gdbarch->deprecated_frame_chain_valid (chain, thisframe);
0f71a2f6
JM
4353}
4354
4355void
618ce49f
AC
4356set_gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch,
4357 gdbarch_deprecated_frame_chain_valid_ftype deprecated_frame_chain_valid)
0f71a2f6 4358{
618ce49f 4359 gdbarch->deprecated_frame_chain_valid = deprecated_frame_chain_valid;
0f71a2f6
JM
4360}
4361
d62d1979 4362int
8bedc050 4363gdbarch_deprecated_frame_saved_pc_p (struct gdbarch *gdbarch)
d62d1979
AC
4364{
4365 gdb_assert (gdbarch != NULL);
956ac328 4366 return gdbarch->deprecated_frame_saved_pc != NULL;
d62d1979
AC
4367}
4368
0f71a2f6 4369CORE_ADDR
8bedc050 4370gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi)
0f71a2f6 4371{
8de9bdc4 4372 gdb_assert (gdbarch != NULL);
956ac328 4373 gdb_assert (gdbarch->deprecated_frame_saved_pc != NULL);
0f71a2f6 4374 if (gdbarch_debug >= 2)
8bedc050
AC
4375 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_saved_pc called\n");
4376 return gdbarch->deprecated_frame_saved_pc (fi);
0f71a2f6
JM
4377}
4378
4379void
8bedc050
AC
4380set_gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch,
4381 gdbarch_deprecated_frame_saved_pc_ftype deprecated_frame_saved_pc)
0f71a2f6 4382{
8bedc050 4383 gdbarch->deprecated_frame_saved_pc = deprecated_frame_saved_pc;
0f71a2f6
JM
4384}
4385
12cc2063
AC
4386int
4387gdbarch_unwind_pc_p (struct gdbarch *gdbarch)
4388{
4389 gdb_assert (gdbarch != NULL);
956ac328 4390 return gdbarch->unwind_pc != NULL;
12cc2063
AC
4391}
4392
4393CORE_ADDR
4394gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
4395{
4396 gdb_assert (gdbarch != NULL);
956ac328 4397 gdb_assert (gdbarch->unwind_pc != NULL);
12cc2063
AC
4398 if (gdbarch_debug >= 2)
4399 fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_pc called\n");
4400 return gdbarch->unwind_pc (gdbarch, next_frame);
4401}
4402
4403void
4404set_gdbarch_unwind_pc (struct gdbarch *gdbarch,
4405 gdbarch_unwind_pc_ftype unwind_pc)
4406{
4407 gdbarch->unwind_pc = unwind_pc;
4408}
4409
a9e5fdc2
AC
4410int
4411gdbarch_unwind_sp_p (struct gdbarch *gdbarch)
4412{
4413 gdb_assert (gdbarch != NULL);
956ac328 4414 return gdbarch->unwind_sp != NULL;
a9e5fdc2
AC
4415}
4416
4417CORE_ADDR
4418gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
4419{
4420 gdb_assert (gdbarch != NULL);
956ac328 4421 gdb_assert (gdbarch->unwind_sp != NULL);
a9e5fdc2
AC
4422 if (gdbarch_debug >= 2)
4423 fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_sp called\n");
4424 return gdbarch->unwind_sp (gdbarch, next_frame);
4425}
4426
4427void
4428set_gdbarch_unwind_sp (struct gdbarch *gdbarch,
4429 gdbarch_unwind_sp_ftype unwind_sp)
4430{
4431 gdbarch->unwind_sp = unwind_sp;
4432}
4433
42efa47a
AC
4434int
4435gdbarch_deprecated_frame_args_address_p (struct gdbarch *gdbarch)
4436{
4437 gdb_assert (gdbarch != NULL);
4438 return gdbarch->deprecated_frame_args_address != get_frame_base;
4439}
4440
0f71a2f6 4441CORE_ADDR
42efa47a 4442gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi)
0f71a2f6 4443{
8de9bdc4 4444 gdb_assert (gdbarch != NULL);
956ac328
AC
4445 gdb_assert (gdbarch->deprecated_frame_args_address != NULL);
4446 /* Do not check predicate: gdbarch->deprecated_frame_args_address != get_frame_base, allow call. */
0f71a2f6 4447 if (gdbarch_debug >= 2)
42efa47a
AC
4448 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_args_address called\n");
4449 return gdbarch->deprecated_frame_args_address (fi);
0f71a2f6
JM
4450}
4451
4452void
42efa47a
AC
4453set_gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch,
4454 gdbarch_deprecated_frame_args_address_ftype deprecated_frame_args_address)
0f71a2f6 4455{
42efa47a
AC
4456 gdbarch->deprecated_frame_args_address = deprecated_frame_args_address;
4457}
4458
4459int
4460gdbarch_deprecated_frame_locals_address_p (struct gdbarch *gdbarch)
4461{
4462 gdb_assert (gdbarch != NULL);
4463 return gdbarch->deprecated_frame_locals_address != get_frame_base;
0f71a2f6
JM
4464}
4465
4466CORE_ADDR
42efa47a 4467gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi)
0f71a2f6 4468{
8de9bdc4 4469 gdb_assert (gdbarch != NULL);
956ac328
AC
4470 gdb_assert (gdbarch->deprecated_frame_locals_address != NULL);
4471 /* Do not check predicate: gdbarch->deprecated_frame_locals_address != get_frame_base, allow call. */
0f71a2f6 4472 if (gdbarch_debug >= 2)
42efa47a
AC
4473 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_locals_address called\n");
4474 return gdbarch->deprecated_frame_locals_address (fi);
0f71a2f6
JM
4475}
4476
4477void
42efa47a
AC
4478set_gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch,
4479 gdbarch_deprecated_frame_locals_address_ftype deprecated_frame_locals_address)
0f71a2f6 4480{
42efa47a 4481 gdbarch->deprecated_frame_locals_address = deprecated_frame_locals_address;
0f71a2f6
JM
4482}
4483
4443bd83 4484int
6913c89a 4485gdbarch_deprecated_saved_pc_after_call_p (struct gdbarch *gdbarch)
4443bd83
AC
4486{
4487 gdb_assert (gdbarch != NULL);
956ac328 4488 return gdbarch->deprecated_saved_pc_after_call != NULL;
4443bd83
AC
4489}
4490
0f71a2f6 4491CORE_ADDR
6913c89a 4492gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch, struct frame_info *frame)
0f71a2f6 4493{
8de9bdc4 4494 gdb_assert (gdbarch != NULL);
956ac328 4495 gdb_assert (gdbarch->deprecated_saved_pc_after_call != NULL);
0f71a2f6 4496 if (gdbarch_debug >= 2)
6913c89a
AC
4497 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_saved_pc_after_call called\n");
4498 return gdbarch->deprecated_saved_pc_after_call (frame);
0f71a2f6
JM
4499}
4500
4501void
6913c89a
AC
4502set_gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch,
4503 gdbarch_deprecated_saved_pc_after_call_ftype deprecated_saved_pc_after_call)
0f71a2f6 4504{
6913c89a 4505 gdbarch->deprecated_saved_pc_after_call = deprecated_saved_pc_after_call;
0f71a2f6
JM
4506}
4507
983a287a
AC
4508int
4509gdbarch_frame_num_args_p (struct gdbarch *gdbarch)
4510{
4511 gdb_assert (gdbarch != NULL);
956ac328 4512 return gdbarch->frame_num_args != NULL;
983a287a
AC
4513}
4514
0f71a2f6
JM
4515int
4516gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame)
4517{
8de9bdc4 4518 gdb_assert (gdbarch != NULL);
956ac328 4519 gdb_assert (gdbarch->frame_num_args != NULL);
0f71a2f6 4520 if (gdbarch_debug >= 2)
0f71a2f6
JM
4521 fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_num_args called\n");
4522 return gdbarch->frame_num_args (frame);
4523}
4524
4525void
104c1213
JM
4526set_gdbarch_frame_num_args (struct gdbarch *gdbarch,
4527 gdbarch_frame_num_args_ftype frame_num_args)
0f71a2f6
JM
4528{
4529 gdbarch->frame_num_args = frame_num_args;
4530}
4531
2ada493a 4532int
f27dd7fd 4533gdbarch_deprecated_stack_align_p (struct gdbarch *gdbarch)
2ada493a 4534{
8de9bdc4 4535 gdb_assert (gdbarch != NULL);
f27dd7fd 4536 return gdbarch->deprecated_stack_align != NULL;
2ada493a
AC
4537}
4538
4539CORE_ADDR
f27dd7fd 4540gdbarch_deprecated_stack_align (struct gdbarch *gdbarch, CORE_ADDR sp)
2ada493a 4541{
8de9bdc4 4542 gdb_assert (gdbarch != NULL);
f27dd7fd 4543 gdb_assert (gdbarch->deprecated_stack_align != NULL);
2ada493a 4544 if (gdbarch_debug >= 2)
f27dd7fd
AC
4545 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_stack_align called\n");
4546 return gdbarch->deprecated_stack_align (sp);
2ada493a
AC
4547}
4548
4549void
f27dd7fd
AC
4550set_gdbarch_deprecated_stack_align (struct gdbarch *gdbarch,
4551 gdbarch_deprecated_stack_align_ftype deprecated_stack_align)
2ada493a 4552{
f27dd7fd 4553 gdbarch->deprecated_stack_align = deprecated_stack_align;
2ada493a
AC
4554}
4555
dc604539
AC
4556int
4557gdbarch_frame_align_p (struct gdbarch *gdbarch)
4558{
4559 gdb_assert (gdbarch != NULL);
956ac328 4560 return gdbarch->frame_align != NULL;
dc604539
AC
4561}
4562
4563CORE_ADDR
4564gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address)
4565{
4566 gdb_assert (gdbarch != NULL);
956ac328 4567 gdb_assert (gdbarch->frame_align != NULL);
dc604539
AC
4568 if (gdbarch_debug >= 2)
4569 fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_align called\n");
4570 return gdbarch->frame_align (gdbarch, address);
4571}
4572
4573void
4574set_gdbarch_frame_align (struct gdbarch *gdbarch,
4575 gdbarch_frame_align_ftype frame_align)
4576{
4577 gdbarch->frame_align = frame_align;
4578}
4579
d03e67c9 4580int
88d89dbb 4581gdbarch_deprecated_reg_struct_has_addr_p (struct gdbarch *gdbarch)
d03e67c9 4582{
8de9bdc4 4583 gdb_assert (gdbarch != NULL);
88d89dbb 4584 return gdbarch->deprecated_reg_struct_has_addr != NULL;
d03e67c9
AC
4585}
4586
4587int
88d89dbb 4588gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, int gcc_p, struct type *type)
d03e67c9 4589{
8de9bdc4 4590 gdb_assert (gdbarch != NULL);
88d89dbb 4591 gdb_assert (gdbarch->deprecated_reg_struct_has_addr != NULL);
d03e67c9 4592 if (gdbarch_debug >= 2)
88d89dbb
MK
4593 fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_reg_struct_has_addr called\n");
4594 return gdbarch->deprecated_reg_struct_has_addr (gcc_p, type);
d03e67c9
AC
4595}
4596
4597void
88d89dbb
MK
4598set_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch,
4599 gdbarch_deprecated_reg_struct_has_addr_ftype deprecated_reg_struct_has_addr)
d03e67c9 4600{
88d89dbb 4601 gdbarch->deprecated_reg_struct_has_addr = deprecated_reg_struct_has_addr;
d03e67c9
AC
4602}
4603
192cb3d4
MK
4604int
4605gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
4606{
4607 gdb_assert (gdbarch != NULL);
4608 gdb_assert (gdbarch->stabs_argument_has_addr != NULL);
4609 if (gdbarch_debug >= 2)
4610 fprintf_unfiltered (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n");
4611 return gdbarch->stabs_argument_has_addr (gdbarch, type);
4612}
4613
4614void
4615set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch,
4616 gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
4617{
4618 gdbarch->stabs_argument_has_addr = stabs_argument_has_addr;
4619}
4620
8b148df9
AC
4621int
4622gdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
4623{
4624 gdb_assert (gdbarch != NULL);
4625 if (gdbarch_debug >= 2)
4626 fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_red_zone_size called\n");
4627 return gdbarch->frame_red_zone_size;
4628}
4629
4630void
4631set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch,
4632 int frame_red_zone_size)
4633{
4634 gdbarch->frame_red_zone_size = frame_red_zone_size;
4635}
4636
f0d4cc9e
AC
4637const struct floatformat *
4638gdbarch_float_format (struct gdbarch *gdbarch)
4639{
8de9bdc4 4640 gdb_assert (gdbarch != NULL);
f0d4cc9e
AC
4641 if (gdbarch_debug >= 2)
4642 fprintf_unfiltered (gdb_stdlog, "gdbarch_float_format called\n");
4643 return gdbarch->float_format;
4644}
4645
4646void
4647set_gdbarch_float_format (struct gdbarch *gdbarch,
4648 const struct floatformat * float_format)
4649{
4650 gdbarch->float_format = float_format;
4651}
4652
4653const struct floatformat *
4654gdbarch_double_format (struct gdbarch *gdbarch)
4655{
8de9bdc4 4656 gdb_assert (gdbarch != NULL);
f0d4cc9e
AC
4657 if (gdbarch_debug >= 2)
4658 fprintf_unfiltered (gdb_stdlog, "gdbarch_double_format called\n");
4659 return gdbarch->double_format;
4660}
4661
4662void
4663set_gdbarch_double_format (struct gdbarch *gdbarch,
4664 const struct floatformat * double_format)
4665{
4666 gdbarch->double_format = double_format;
4667}
4668
4669const struct floatformat *
4670gdbarch_long_double_format (struct gdbarch *gdbarch)
4671{
8de9bdc4 4672 gdb_assert (gdbarch != NULL);
f0d4cc9e
AC
4673 if (gdbarch_debug >= 2)
4674 fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_format called\n");
4675 return gdbarch->long_double_format;
4676}
4677
4678void
4679set_gdbarch_long_double_format (struct gdbarch *gdbarch,
4680 const struct floatformat * long_double_format)
4681{
4682 gdbarch->long_double_format = long_double_format;
4683}
4684
f517ea4e 4685CORE_ADDR
e2d0e7eb 4686gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
f517ea4e 4687{
8de9bdc4 4688 gdb_assert (gdbarch != NULL);
956ac328 4689 gdb_assert (gdbarch->convert_from_func_ptr_addr != NULL);
f517ea4e
PS
4690 if (gdbarch_debug >= 2)
4691 fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_from_func_ptr_addr called\n");
e2d0e7eb 4692 return gdbarch->convert_from_func_ptr_addr (gdbarch, addr, targ);
f517ea4e
PS
4693}
4694
4695void
4696set_gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch,
4697 gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr)
4698{
4699 gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr;
4700}
4701
875e1767
AC
4702CORE_ADDR
4703gdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
4704{
8de9bdc4 4705 gdb_assert (gdbarch != NULL);
956ac328 4706 gdb_assert (gdbarch->addr_bits_remove != NULL);
875e1767
AC
4707 if (gdbarch_debug >= 2)
4708 fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bits_remove called\n");
4709 return gdbarch->addr_bits_remove (addr);
4710}
4711
4712void
4713set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch,
4714 gdbarch_addr_bits_remove_ftype addr_bits_remove)
4715{
4716 gdbarch->addr_bits_remove = addr_bits_remove;
4717}
4718
181c1381
RE
4719CORE_ADDR
4720gdbarch_smash_text_address (struct gdbarch *gdbarch, CORE_ADDR addr)
4721{
8de9bdc4 4722 gdb_assert (gdbarch != NULL);
956ac328 4723 gdb_assert (gdbarch->smash_text_address != NULL);
181c1381
RE
4724 if (gdbarch_debug >= 2)
4725 fprintf_unfiltered (gdb_stdlog, "gdbarch_smash_text_address called\n");
4726 return gdbarch->smash_text_address (addr);
4727}
4728
4729void
4730set_gdbarch_smash_text_address (struct gdbarch *gdbarch,
4731 gdbarch_smash_text_address_ftype smash_text_address)
4732{
4733 gdbarch->smash_text_address = smash_text_address;
4734}
4735
64c4637f
AC
4736int
4737gdbarch_software_single_step_p (struct gdbarch *gdbarch)
4738{
8de9bdc4 4739 gdb_assert (gdbarch != NULL);
956ac328 4740 return gdbarch->software_single_step != NULL;
64c4637f
AC
4741}
4742
4743void
4744gdbarch_software_single_step (struct gdbarch *gdbarch, enum target_signal sig, int insert_breakpoints_p)
4745{
8de9bdc4 4746 gdb_assert (gdbarch != NULL);
956ac328 4747 gdb_assert (gdbarch->software_single_step != NULL);
64c4637f
AC
4748 if (gdbarch_debug >= 2)
4749 fprintf_unfiltered (gdb_stdlog, "gdbarch_software_single_step called\n");
4750 gdbarch->software_single_step (sig, insert_breakpoints_p);
4751}
4752
4753void
4754set_gdbarch_software_single_step (struct gdbarch *gdbarch,
4755 gdbarch_software_single_step_ftype software_single_step)
4756{
4757 gdbarch->software_single_step = software_single_step;
4758}
4759
2bf0cb65 4760int
a89aa300 4761gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info)
2bf0cb65 4762{
8de9bdc4 4763 gdb_assert (gdbarch != NULL);
956ac328 4764 gdb_assert (gdbarch->print_insn != NULL);
2bf0cb65
EZ
4765 if (gdbarch_debug >= 2)
4766 fprintf_unfiltered (gdb_stdlog, "gdbarch_print_insn called\n");
4767 return gdbarch->print_insn (vma, info);
4768}
4769
4770void
4771set_gdbarch_print_insn (struct gdbarch *gdbarch,
4772 gdbarch_print_insn_ftype print_insn)
4773{
4774 gdbarch->print_insn = print_insn;
4775}
4776
bdcd319a
CV
4777CORE_ADDR
4778gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, CORE_ADDR pc)
4779{
8de9bdc4 4780 gdb_assert (gdbarch != NULL);
956ac328 4781 gdb_assert (gdbarch->skip_trampoline_code != NULL);
bdcd319a
CV
4782 if (gdbarch_debug >= 2)
4783 fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_trampoline_code called\n");
4784 return gdbarch->skip_trampoline_code (pc);
4785}
4786
4787void
4788set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch,
4789 gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
4790{
4791 gdbarch->skip_trampoline_code = skip_trampoline_code;
4792}
4793
dea0c52f
MK
4794CORE_ADDR
4795gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
4796{
4797 gdb_assert (gdbarch != NULL);
4798 gdb_assert (gdbarch->skip_solib_resolver != NULL);
4799 if (gdbarch_debug >= 2)
4800 fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_solib_resolver called\n");
4c8c40e6 4801 return gdbarch->skip_solib_resolver (gdbarch, pc);
dea0c52f
MK
4802}
4803
4804void
4805set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch,
4806 gdbarch_skip_solib_resolver_ftype skip_solib_resolver)
4807{
4808 gdbarch->skip_solib_resolver = skip_solib_resolver;
4809}
4810
68e9cc94
CV
4811int
4812gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
4813{
8de9bdc4 4814 gdb_assert (gdbarch != NULL);
956ac328 4815 gdb_assert (gdbarch->in_solib_call_trampoline != NULL);
68e9cc94
CV
4816 if (gdbarch_debug >= 2)
4817 fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_call_trampoline called\n");
4818 return gdbarch->in_solib_call_trampoline (pc, name);
4819}
4820
4821void
4822set_gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch,
4823 gdbarch_in_solib_call_trampoline_ftype in_solib_call_trampoline)
4824{
4825 gdbarch->in_solib_call_trampoline = in_solib_call_trampoline;
4826}
4827
d50355b6
MS
4828int
4829gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
4830{
4831 gdb_assert (gdbarch != NULL);
956ac328 4832 gdb_assert (gdbarch->in_solib_return_trampoline != NULL);
d50355b6
MS
4833 if (gdbarch_debug >= 2)
4834 fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_return_trampoline called\n");
4835 return gdbarch->in_solib_return_trampoline (pc, name);
4836}
4837
4838void
4839set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
4840 gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline)
4841{
4842 gdbarch->in_solib_return_trampoline = in_solib_return_trampoline;
4843}
4844
c12260ac
CV
4845int
4846gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr)
4847{
8de9bdc4 4848 gdb_assert (gdbarch != NULL);
956ac328 4849 gdb_assert (gdbarch->in_function_epilogue_p != NULL);
c12260ac
CV
4850 if (gdbarch_debug >= 2)
4851 fprintf_unfiltered (gdb_stdlog, "gdbarch_in_function_epilogue_p called\n");
4852 return gdbarch->in_function_epilogue_p (gdbarch, addr);
4853}
4854
4855void
4856set_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch,
4857 gdbarch_in_function_epilogue_p_ftype in_function_epilogue_p)
4858{
4859 gdbarch->in_function_epilogue_p = in_function_epilogue_p;
4860}
4861
552c04a7
TT
4862char *
4863gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch, int argc, char **argv)
4864{
8de9bdc4 4865 gdb_assert (gdbarch != NULL);
956ac328 4866 gdb_assert (gdbarch->construct_inferior_arguments != NULL);
552c04a7
TT
4867 if (gdbarch_debug >= 2)
4868 fprintf_unfiltered (gdb_stdlog, "gdbarch_construct_inferior_arguments called\n");
4869 return gdbarch->construct_inferior_arguments (gdbarch, argc, argv);
4870}
4871
4872void
4873set_gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch,
4874 gdbarch_construct_inferior_arguments_ftype construct_inferior_arguments)
4875{
4876 gdbarch->construct_inferior_arguments = construct_inferior_arguments;
4877}
4878
a2cf933a
EZ
4879void
4880gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym)
4881{
8de9bdc4 4882 gdb_assert (gdbarch != NULL);
956ac328 4883 gdb_assert (gdbarch->elf_make_msymbol_special != NULL);
a2cf933a
EZ
4884 if (gdbarch_debug >= 2)
4885 fprintf_unfiltered (gdb_stdlog, "gdbarch_elf_make_msymbol_special called\n");
4886 gdbarch->elf_make_msymbol_special (sym, msym);
4887}
4888
4889void
4890set_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch,
4891 gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special)
4892{
4893 gdbarch->elf_make_msymbol_special = elf_make_msymbol_special;
4894}
4895
4896void
4897gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym)
4898{
8de9bdc4 4899 gdb_assert (gdbarch != NULL);
956ac328 4900 gdb_assert (gdbarch->coff_make_msymbol_special != NULL);
a2cf933a
EZ
4901 if (gdbarch_debug >= 2)
4902 fprintf_unfiltered (gdb_stdlog, "gdbarch_coff_make_msymbol_special called\n");
4903 gdbarch->coff_make_msymbol_special (val, msym);
4904}
4905
4906void
4907set_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch,
4908 gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special)
4909{
4910 gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
4911}
4912
5720643c
JB
4913const char *
4914gdbarch_name_of_malloc (struct gdbarch *gdbarch)
4915{
4916 gdb_assert (gdbarch != NULL);
4917 /* Skip verify of name_of_malloc, invalid_p == 0 */
4918 if (gdbarch_debug >= 2)
4919 fprintf_unfiltered (gdb_stdlog, "gdbarch_name_of_malloc called\n");
4920 return gdbarch->name_of_malloc;
4921}
4922
4923void
4924set_gdbarch_name_of_malloc (struct gdbarch *gdbarch,
4925 const char * name_of_malloc)
4926{
4927 gdbarch->name_of_malloc = name_of_malloc;
4928}
4929
c4ed33b9
AC
4930int
4931gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
4932{
4933 gdb_assert (gdbarch != NULL);
4934 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
4935 if (gdbarch_debug >= 2)
4936 fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_step_breakpoint called\n");
4937 return gdbarch->cannot_step_breakpoint;
4938}
4939
4940void
4941set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch,
4942 int cannot_step_breakpoint)
4943{
4944 gdbarch->cannot_step_breakpoint = cannot_step_breakpoint;
4945}
4946
f74fa174
MM
4947int
4948gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch)
4949{
4950 gdb_assert (gdbarch != NULL);
4951 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
4952 if (gdbarch_debug >= 2)
4953 fprintf_unfiltered (gdb_stdlog, "gdbarch_have_nonsteppable_watchpoint called\n");
4954 return gdbarch->have_nonsteppable_watchpoint;
4955}
4956
4957void
4958set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch,
967c0d83 4959 int have_nonsteppable_watchpoint)
f74fa174
MM
4960{
4961 gdbarch->have_nonsteppable_watchpoint = have_nonsteppable_watchpoint;
4962}
4963
8b2dbe47
KB
4964int
4965gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch)
4966{
4967 gdb_assert (gdbarch != NULL);
956ac328 4968 return gdbarch->address_class_type_flags != NULL;
8b2dbe47
KB
4969}
4970
4971int
4972gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class)
4973{
4974 gdb_assert (gdbarch != NULL);
956ac328 4975 gdb_assert (gdbarch->address_class_type_flags != NULL);
8b2dbe47
KB
4976 if (gdbarch_debug >= 2)
4977 fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags called\n");
4978 return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class);
4979}
4980
4981void
4982set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch,
4983 gdbarch_address_class_type_flags_ftype address_class_type_flags)
4984{
4985 gdbarch->address_class_type_flags = address_class_type_flags;
4986}
4987
4988int
4989gdbarch_address_class_type_flags_to_name_p (struct gdbarch *gdbarch)
4990{
4991 gdb_assert (gdbarch != NULL);
956ac328 4992 return gdbarch->address_class_type_flags_to_name != NULL;
8b2dbe47
KB
4993}
4994
321432c0 4995const char *
8b2dbe47
KB
4996gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
4997{
4998 gdb_assert (gdbarch != NULL);
956ac328 4999 gdb_assert (gdbarch->address_class_type_flags_to_name != NULL);
8b2dbe47
KB
5000 if (gdbarch_debug >= 2)
5001 fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags_to_name called\n");
5f11f355 5002 return gdbarch->address_class_type_flags_to_name (gdbarch, type_flags);
8b2dbe47
KB
5003}
5004
5005void
5006set_gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch,
5007 gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name)
5008{
5009 gdbarch->address_class_type_flags_to_name = address_class_type_flags_to_name;
5010}
5011
5012int
5013gdbarch_address_class_name_to_type_flags_p (struct gdbarch *gdbarch)
5014{
5015 gdb_assert (gdbarch != NULL);
956ac328 5016 return gdbarch->address_class_name_to_type_flags != NULL;
8b2dbe47
KB
5017}
5018
5019int
321432c0 5020gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, int *type_flags_ptr)
8b2dbe47
KB
5021{
5022 gdb_assert (gdbarch != NULL);
956ac328 5023 gdb_assert (gdbarch->address_class_name_to_type_flags != NULL);
8b2dbe47
KB
5024 if (gdbarch_debug >= 2)
5025 fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_name_to_type_flags called\n");
5f11f355 5026 return gdbarch->address_class_name_to_type_flags (gdbarch, name, type_flags_ptr);
8b2dbe47
KB
5027}
5028
5029void
5030set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
5031 gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags)
5032{
5033 gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags;
5034}
5035
b59ff9d5
AC
5036int
5037gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
5038{
5039 gdb_assert (gdbarch != NULL);
956ac328 5040 gdb_assert (gdbarch->register_reggroup_p != NULL);
b59ff9d5
AC
5041 if (gdbarch_debug >= 2)
5042 fprintf_unfiltered (gdb_stdlog, "gdbarch_register_reggroup_p called\n");
5043 return gdbarch->register_reggroup_p (gdbarch, regnum, reggroup);
5044}
5045
5046void
5047set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch,
5048 gdbarch_register_reggroup_p_ftype register_reggroup_p)
5049{
5050 gdbarch->register_reggroup_p = register_reggroup_p;
5051}
5052
143985b7
AF
5053int
5054gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch)
5055{
5056 gdb_assert (gdbarch != NULL);
956ac328 5057 return gdbarch->fetch_pointer_argument != NULL;
143985b7
AF
5058}
5059
5060CORE_ADDR
5061gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type)
5062{
5063 gdb_assert (gdbarch != NULL);
956ac328 5064 gdb_assert (gdbarch->fetch_pointer_argument != NULL);
143985b7
AF
5065 if (gdbarch_debug >= 2)
5066 fprintf_unfiltered (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n");
5067 return gdbarch->fetch_pointer_argument (frame, argi, type);
5068}
5069
5070void
5071set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch,
5072 gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument)
5073{
5074 gdbarch->fetch_pointer_argument = fetch_pointer_argument;
5075}
5076
6ce6d90f
MK
5077int
5078gdbarch_regset_from_core_section_p (struct gdbarch *gdbarch)
5079{
5080 gdb_assert (gdbarch != NULL);
5081 return gdbarch->regset_from_core_section != NULL;
5082}
5083
5084const struct regset *
5085gdbarch_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
5086{
5087 gdb_assert (gdbarch != NULL);
5088 gdb_assert (gdbarch->regset_from_core_section != NULL);
5089 if (gdbarch_debug >= 2)
5090 fprintf_unfiltered (gdb_stdlog, "gdbarch_regset_from_core_section called\n");
5091 return gdbarch->regset_from_core_section (gdbarch, sect_name, sect_size);
5092}
5093
5094void
5095set_gdbarch_regset_from_core_section (struct gdbarch *gdbarch,
5096 gdbarch_regset_from_core_section_ftype regset_from_core_section)
5097{
5098 gdbarch->regset_from_core_section = regset_from_core_section;
5099}
5100
0f71a2f6 5101
be5a57e1 5102/* Keep a registry of per-architecture data-pointers required by GDB
0f71a2f6
JM
5103 modules. */
5104
5105struct gdbarch_data
5106{
95160752 5107 unsigned index;
76860b5f 5108 int init_p;
030f20e1
AC
5109 gdbarch_data_pre_init_ftype *pre_init;
5110 gdbarch_data_post_init_ftype *post_init;
0f71a2f6
JM
5111};
5112
5113struct gdbarch_data_registration
adf40b2e 5114{
adf40b2e
JM
5115 struct gdbarch_data *data;
5116 struct gdbarch_data_registration *next;
5117};
0f71a2f6 5118
be5a57e1 5119struct gdbarch_data_registry
adf40b2e 5120{
95160752 5121 unsigned nr;
adf40b2e
JM
5122 struct gdbarch_data_registration *registrations;
5123};
0f71a2f6 5124
be5a57e1 5125struct gdbarch_data_registry gdbarch_data_registry =
0f71a2f6
JM
5126{
5127 0, NULL,
5128};
5129
030f20e1
AC
5130static struct gdbarch_data *
5131gdbarch_data_register (gdbarch_data_pre_init_ftype *pre_init,
5132 gdbarch_data_post_init_ftype *post_init)
0f71a2f6
JM
5133{
5134 struct gdbarch_data_registration **curr;
76860b5f 5135 /* Append the new registraration. */
be5a57e1 5136 for (curr = &gdbarch_data_registry.registrations;
0f71a2f6
JM
5137 (*curr) != NULL;
5138 curr = &(*curr)->next);
5139 (*curr) = XMALLOC (struct gdbarch_data_registration);
5140 (*curr)->next = NULL;
0f71a2f6 5141 (*curr)->data = XMALLOC (struct gdbarch_data);
be5a57e1 5142 (*curr)->data->index = gdbarch_data_registry.nr++;
030f20e1
AC
5143 (*curr)->data->pre_init = pre_init;
5144 (*curr)->data->post_init = post_init;
76860b5f 5145 (*curr)->data->init_p = 1;
0f71a2f6
JM
5146 return (*curr)->data;
5147}
5148
030f20e1
AC
5149struct gdbarch_data *
5150gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *pre_init)
5151{
5152 return gdbarch_data_register (pre_init, NULL);
5153}
5154
5155struct gdbarch_data *
5156gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *post_init)
5157{
5158 return gdbarch_data_register (NULL, post_init);
5159}
0f71a2f6 5160
b3cc3077 5161/* Create/delete the gdbarch data vector. */
95160752
AC
5162
5163static void
b3cc3077 5164alloc_gdbarch_data (struct gdbarch *gdbarch)
95160752 5165{
b3cc3077
JB
5166 gdb_assert (gdbarch->data == NULL);
5167 gdbarch->nr_data = gdbarch_data_registry.nr;
aebd7893 5168 gdbarch->data = GDBARCH_OBSTACK_CALLOC (gdbarch, gdbarch->nr_data, void *);
0f71a2f6
JM
5169}
5170
76860b5f 5171/* Initialize the current value of the specified per-architecture
b3cc3077
JB
5172 data-pointer. */
5173
95160752 5174void
030f20e1
AC
5175deprecated_set_gdbarch_data (struct gdbarch *gdbarch,
5176 struct gdbarch_data *data,
5177 void *pointer)
95160752
AC
5178{
5179 gdb_assert (data->index < gdbarch->nr_data);
aebd7893 5180 gdb_assert (gdbarch->data[data->index] == NULL);
030f20e1 5181 gdb_assert (data->pre_init == NULL);
95160752
AC
5182 gdbarch->data[data->index] = pointer;
5183}
5184
0f71a2f6
JM
5185/* Return the current value of the specified per-architecture
5186 data-pointer. */
5187
5188void *
451fbdda 5189gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
0f71a2f6 5190{
451fbdda 5191 gdb_assert (data->index < gdbarch->nr_data);
030f20e1 5192 if (gdbarch->data[data->index] == NULL)
76860b5f 5193 {
030f20e1
AC
5194 /* The data-pointer isn't initialized, call init() to get a
5195 value. */
5196 if (data->pre_init != NULL)
5197 /* Mid architecture creation: pass just the obstack, and not
5198 the entire architecture, as that way it isn't possible for
5199 pre-init code to refer to undefined architecture
5200 fields. */
5201 gdbarch->data[data->index] = data->pre_init (gdbarch->obstack);
5202 else if (gdbarch->initialized_p
5203 && data->post_init != NULL)
5204 /* Post architecture creation: pass the entire architecture
5205 (as all fields are valid), but be careful to also detect
5206 recursive references. */
5207 {
5208 gdb_assert (data->init_p);
5209 data->init_p = 0;
5210 gdbarch->data[data->index] = data->post_init (gdbarch);
5211 data->init_p = 1;
5212 }
5213 else
5214 /* The architecture initialization hasn't completed - punt -
5215 hope that the caller knows what they are doing. Once
5216 deprecated_set_gdbarch_data has been initialized, this can be
5217 changed to an internal error. */
5218 return NULL;
76860b5f
AC
5219 gdb_assert (gdbarch->data[data->index] != NULL);
5220 }
451fbdda 5221 return gdbarch->data[data->index];
0f71a2f6
JM
5222}
5223
5224
5225
be5a57e1 5226/* Keep a registry of swapped data required by GDB modules. */
0f71a2f6
JM
5227
5228struct gdbarch_swap
5229{
5230 void *swap;
5231 struct gdbarch_swap_registration *source;
5232 struct gdbarch_swap *next;
5233};
5234
5235struct gdbarch_swap_registration
adf40b2e
JM
5236{
5237 void *data;
5238 unsigned long sizeof_data;
5239 gdbarch_swap_ftype *init;
5240 struct gdbarch_swap_registration *next;
5241};
0f71a2f6 5242
be5a57e1 5243struct gdbarch_swap_registry
adf40b2e
JM
5244{
5245 int nr;
5246 struct gdbarch_swap_registration *registrations;
5247};
0f71a2f6 5248
be5a57e1 5249struct gdbarch_swap_registry gdbarch_swap_registry =
0f71a2f6
JM
5250{
5251 0, NULL,
5252};
5253
5254void
046a4708
AC
5255deprecated_register_gdbarch_swap (void *data,
5256 unsigned long sizeof_data,
5257 gdbarch_swap_ftype *init)
0f71a2f6
JM
5258{
5259 struct gdbarch_swap_registration **rego;
be5a57e1 5260 for (rego = &gdbarch_swap_registry.registrations;
0f71a2f6
JM
5261 (*rego) != NULL;
5262 rego = &(*rego)->next);
5263 (*rego) = XMALLOC (struct gdbarch_swap_registration);
5264 (*rego)->next = NULL;
5265 (*rego)->init = init;
5266 (*rego)->data = data;
5267 (*rego)->sizeof_data = sizeof_data;
5268}
5269
40af4b0c 5270static void
7de2341d 5271current_gdbarch_swap_init_hack (void)
0f71a2f6
JM
5272{
5273 struct gdbarch_swap_registration *rego;
7de2341d 5274 struct gdbarch_swap **curr = &current_gdbarch->swap;
be5a57e1 5275 for (rego = gdbarch_swap_registry.registrations;
0f71a2f6
JM
5276 rego != NULL;
5277 rego = rego->next)
5278 {
5279 if (rego->data != NULL)
5280 {
7de2341d
AC
5281 (*curr) = GDBARCH_OBSTACK_ZALLOC (current_gdbarch,
5282 struct gdbarch_swap);
0f71a2f6 5283 (*curr)->source = rego;
7de2341d
AC
5284 (*curr)->swap = gdbarch_obstack_zalloc (current_gdbarch,
5285 rego->sizeof_data);
0f71a2f6 5286 (*curr)->next = NULL;
0f71a2f6
JM
5287 curr = &(*curr)->next;
5288 }
5289 if (rego->init != NULL)
5290 rego->init ();
5291 }
5292}
5293
7de2341d
AC
5294static struct gdbarch *
5295current_gdbarch_swap_out_hack (void)
0f71a2f6 5296{
7de2341d 5297 struct gdbarch *old_gdbarch = current_gdbarch;
0f71a2f6 5298 struct gdbarch_swap *curr;
7de2341d
AC
5299
5300 gdb_assert (old_gdbarch != NULL);
5301 for (curr = old_gdbarch->swap;
0f71a2f6
JM
5302 curr != NULL;
5303 curr = curr->next)
7de2341d
AC
5304 {
5305 memcpy (curr->swap, curr->source->data, curr->source->sizeof_data);
5306 memset (curr->source->data, 0, curr->source->sizeof_data);
5307 }
5308 current_gdbarch = NULL;
5309 return old_gdbarch;
0f71a2f6
JM
5310}
5311
0f71a2f6 5312static void
7de2341d 5313current_gdbarch_swap_in_hack (struct gdbarch *new_gdbarch)
0f71a2f6
JM
5314{
5315 struct gdbarch_swap *curr;
7de2341d
AC
5316
5317 gdb_assert (current_gdbarch == NULL);
5318 for (curr = new_gdbarch->swap;
0f71a2f6
JM
5319 curr != NULL;
5320 curr = curr->next)
5321 memcpy (curr->source->data, curr->swap, curr->source->sizeof_data);
7de2341d 5322 current_gdbarch = new_gdbarch;
0f71a2f6
JM
5323}
5324
5325
be5a57e1 5326/* Keep a registry of the architectures known by GDB. */
0f71a2f6 5327
4b9b3959 5328struct gdbarch_registration
0f71a2f6
JM
5329{
5330 enum bfd_architecture bfd_architecture;
5331 gdbarch_init_ftype *init;
4b9b3959 5332 gdbarch_dump_tdep_ftype *dump_tdep;
0f71a2f6 5333 struct gdbarch_list *arches;
4b9b3959 5334 struct gdbarch_registration *next;
0f71a2f6
JM
5335};
5336
be5a57e1 5337static struct gdbarch_registration *gdbarch_registry = NULL;
0f71a2f6 5338
b4a20239
AC
5339static void
5340append_name (const char ***buf, int *nr, const char *name)
5341{
5342 *buf = xrealloc (*buf, sizeof (char**) * (*nr + 1));
5343 (*buf)[*nr] = name;
5344 *nr += 1;
5345}
5346
5347const char **
5348gdbarch_printable_names (void)
5349{
7996bcec
AC
5350 /* Accumulate a list of names based on the registed list of
5351 architectures. */
5352 enum bfd_architecture a;
5353 int nr_arches = 0;
5354 const char **arches = NULL;
5355 struct gdbarch_registration *rego;
5356 for (rego = gdbarch_registry;
5357 rego != NULL;
5358 rego = rego->next)
b4a20239 5359 {
7996bcec
AC
5360 const struct bfd_arch_info *ap;
5361 ap = bfd_lookup_arch (rego->bfd_architecture, 0);
5362 if (ap == NULL)
5363 internal_error (__FILE__, __LINE__,
5364 "gdbarch_architecture_names: multi-arch unknown");
5365 do
5366 {
5367 append_name (&arches, &nr_arches, ap->printable_name);
5368 ap = ap->next;
5369 }
5370 while (ap != NULL);
b4a20239 5371 }
7996bcec
AC
5372 append_name (&arches, &nr_arches, NULL);
5373 return arches;
b4a20239
AC
5374}
5375
5376
0f71a2f6 5377void
4b9b3959
AC
5378gdbarch_register (enum bfd_architecture bfd_architecture,
5379 gdbarch_init_ftype *init,
5380 gdbarch_dump_tdep_ftype *dump_tdep)
0f71a2f6 5381{
4b9b3959 5382 struct gdbarch_registration **curr;
0f71a2f6 5383 const struct bfd_arch_info *bfd_arch_info;
ec3d358c 5384 /* Check that BFD recognizes this architecture */
0f71a2f6
JM
5385 bfd_arch_info = bfd_lookup_arch (bfd_architecture, 0);
5386 if (bfd_arch_info == NULL)
5387 {
8e65ff28
AC
5388 internal_error (__FILE__, __LINE__,
5389 "gdbarch: Attempt to register unknown architecture (%d)",
5390 bfd_architecture);
0f71a2f6
JM
5391 }
5392 /* Check that we haven't seen this architecture before */
be5a57e1 5393 for (curr = &gdbarch_registry;
0f71a2f6
JM
5394 (*curr) != NULL;
5395 curr = &(*curr)->next)
5396 {
5397 if (bfd_architecture == (*curr)->bfd_architecture)
8e65ff28
AC
5398 internal_error (__FILE__, __LINE__,
5399 "gdbarch: Duplicate registraration of architecture (%s)",
5400 bfd_arch_info->printable_name);
0f71a2f6
JM
5401 }
5402 /* log it */
5403 if (gdbarch_debug)
5404 fprintf_unfiltered (gdb_stdlog, "register_gdbarch_init (%s, 0x%08lx)\n",
5405 bfd_arch_info->printable_name,
5406 (long) init);
5407 /* Append it */
4b9b3959 5408 (*curr) = XMALLOC (struct gdbarch_registration);
0f71a2f6
JM
5409 (*curr)->bfd_architecture = bfd_architecture;
5410 (*curr)->init = init;
4b9b3959 5411 (*curr)->dump_tdep = dump_tdep;
0f71a2f6
JM
5412 (*curr)->arches = NULL;
5413 (*curr)->next = NULL;
4b9b3959
AC
5414}
5415
5416void
5417register_gdbarch_init (enum bfd_architecture bfd_architecture,
5418 gdbarch_init_ftype *init)
5419{
5420 gdbarch_register (bfd_architecture, init, NULL);
0f71a2f6 5421}
0f71a2f6
JM
5422
5423
5424/* Look for an architecture using gdbarch_info. Base search on only
5425 BFD_ARCH_INFO and BYTE_ORDER. */
5426
5427struct gdbarch_list *
104c1213
JM
5428gdbarch_list_lookup_by_info (struct gdbarch_list *arches,
5429 const struct gdbarch_info *info)
0f71a2f6
JM
5430{
5431 for (; arches != NULL; arches = arches->next)
5432 {
5433 if (info->bfd_arch_info != arches->gdbarch->bfd_arch_info)
5434 continue;
5435 if (info->byte_order != arches->gdbarch->byte_order)
5436 continue;
4be87837
DJ
5437 if (info->osabi != arches->gdbarch->osabi)
5438 continue;
0f71a2f6
JM
5439 return arches;
5440 }
5441 return NULL;
5442}
5443
5444
ebdba546
AC
5445/* Find an architecture that matches the specified INFO. Create a new
5446 architecture if needed. Return that new architecture. Assumes
5447 that there is no current architecture. */
0f71a2f6 5448
ebdba546
AC
5449static struct gdbarch *
5450find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
0f71a2f6
JM
5451{
5452 struct gdbarch *new_gdbarch;
4b9b3959 5453 struct gdbarch_registration *rego;
0f71a2f6 5454
ebdba546
AC
5455 /* The existing architecture has been swapped out - all this code
5456 works from a clean slate. */
5457 gdb_assert (current_gdbarch == NULL);
5458
b732d07d 5459 /* Fill in missing parts of the INFO struct using a number of
ebdba546
AC
5460 sources: "set ..."; INFOabfd supplied; and the existing
5461 architecture. */
5462 gdbarch_info_fill (old_gdbarch, &info);
4be87837 5463
b732d07d
AC
5464 /* Must have found some sort of architecture. */
5465 gdb_assert (info.bfd_arch_info != NULL);
0f71a2f6
JM
5466
5467 if (gdbarch_debug)
5468 {
0f71a2f6 5469 fprintf_unfiltered (gdb_stdlog,
ebdba546 5470 "find_arch_by_info: info.bfd_arch_info %s\n",
0f71a2f6
JM
5471 (info.bfd_arch_info != NULL
5472 ? info.bfd_arch_info->printable_name
5473 : "(null)"));
5474 fprintf_unfiltered (gdb_stdlog,
ebdba546 5475 "find_arch_by_info: info.byte_order %d (%s)\n",
0f71a2f6 5476 info.byte_order,
d7449b42 5477 (info.byte_order == BFD_ENDIAN_BIG ? "big"
778eb05e 5478 : info.byte_order == BFD_ENDIAN_LITTLE ? "little"
0f71a2f6 5479 : "default"));
4be87837 5480 fprintf_unfiltered (gdb_stdlog,
ebdba546 5481 "find_arch_by_info: info.osabi %d (%s)\n",
4be87837 5482 info.osabi, gdbarch_osabi_name (info.osabi));
0f71a2f6 5483 fprintf_unfiltered (gdb_stdlog,
ebdba546 5484 "find_arch_by_info: info.abfd 0x%lx\n",
0f71a2f6
JM
5485 (long) info.abfd);
5486 fprintf_unfiltered (gdb_stdlog,
ebdba546 5487 "find_arch_by_info: info.tdep_info 0x%lx\n",
0f71a2f6
JM
5488 (long) info.tdep_info);
5489 }
5490
ebdba546 5491 /* Find the tdep code that knows about this architecture. */
b732d07d
AC
5492 for (rego = gdbarch_registry;
5493 rego != NULL;
5494 rego = rego->next)
5495 if (rego->bfd_architecture == info.bfd_arch_info->arch)
5496 break;
5497 if (rego == NULL)
5498 {
5499 if (gdbarch_debug)
ebdba546
AC
5500 fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5501 "No matching architecture\n");
b732d07d
AC
5502 return 0;
5503 }
5504
ebdba546 5505 /* Ask the tdep code for an architecture that matches "info". */
0f71a2f6
JM
5506 new_gdbarch = rego->init (info, rego->arches);
5507
ebdba546
AC
5508 /* Did the tdep code like it? No. Reject the change and revert to
5509 the old architecture. */
0f71a2f6
JM
5510 if (new_gdbarch == NULL)
5511 {
5512 if (gdbarch_debug)
ebdba546
AC
5513 fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5514 "Target rejected architecture\n");
5515 return NULL;
0f71a2f6
JM
5516 }
5517
ebdba546
AC
5518 /* Is this a pre-existing architecture (as determined by already
5519 being initialized)? Move it to the front of the architecture
5520 list (keeping the list sorted Most Recently Used). */
5521 if (new_gdbarch->initialized_p)
0f71a2f6 5522 {
ebdba546
AC
5523 struct gdbarch_list **list;
5524 struct gdbarch_list *this;
0f71a2f6 5525 if (gdbarch_debug)
ebdba546
AC
5526 fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5527 "Previous architecture 0x%08lx (%s) selected\n",
0f71a2f6
JM
5528 (long) new_gdbarch,
5529 new_gdbarch->bfd_arch_info->printable_name);
ebdba546
AC
5530 /* Find the existing arch in the list. */
5531 for (list = &rego->arches;
5532 (*list) != NULL && (*list)->gdbarch != new_gdbarch;
5533 list = &(*list)->next);
5534 /* It had better be in the list of architectures. */
5535 gdb_assert ((*list) != NULL && (*list)->gdbarch == new_gdbarch);
5536 /* Unlink THIS. */
5537 this = (*list);
5538 (*list) = this->next;
5539 /* Insert THIS at the front. */
5540 this->next = rego->arches;
5541 rego->arches = this;
5542 /* Return it. */
5543 return new_gdbarch;
0f71a2f6
JM
5544 }
5545
ebdba546
AC
5546 /* It's a new architecture. */
5547 if (gdbarch_debug)
5548 fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5549 "New architecture 0x%08lx (%s) selected\n",
5550 (long) new_gdbarch,
5551 new_gdbarch->bfd_arch_info->printable_name);
5552
5553 /* Insert the new architecture into the front of the architecture
5554 list (keep the list sorted Most Recently Used). */
0f79675b
AC
5555 {
5556 struct gdbarch_list *this = XMALLOC (struct gdbarch_list);
5557 this->next = rego->arches;
5558 this->gdbarch = new_gdbarch;
5559 rego->arches = this;
5560 }
0f71a2f6 5561
4b9b3959
AC
5562 /* Check that the newly installed architecture is valid. Plug in
5563 any post init values. */
5564 new_gdbarch->dump_tdep = rego->dump_tdep;
0f71a2f6 5565 verify_gdbarch (new_gdbarch);
ebdba546 5566 new_gdbarch->initialized_p = 1;
0f71a2f6 5567
ebdba546
AC
5568 /* Initialize any per-architecture swap areas. This phase requires
5569 a valid global CURRENT_GDBARCH. Set it momentarially, and then
5570 swap the entire architecture out. */
5571 current_gdbarch = new_gdbarch;
7de2341d 5572 current_gdbarch_swap_init_hack ();
ebdba546 5573 current_gdbarch_swap_out_hack ();
67c2c32c 5574
4b9b3959 5575 if (gdbarch_debug)
ebdba546 5576 gdbarch_dump (new_gdbarch, gdb_stdlog);
4b9b3959 5577
ebdba546 5578 return new_gdbarch;
0f71a2f6 5579}
c906108c 5580
ebdba546
AC
5581struct gdbarch *
5582gdbarch_find_by_info (struct gdbarch_info info)
5583{
5584 /* Save the previously selected architecture, setting the global to
5585 NULL. This stops things like gdbarch->init() trying to use the
5586 previous architecture's configuration. The previous architecture
5587 may not even be of the same architecture family. The most recent
5588 architecture of the same family is found at the head of the
5589 rego->arches list. */
5590 struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();
5591
5592 /* Find the specified architecture. */
5593 struct gdbarch *new_gdbarch = find_arch_by_info (old_gdbarch, info);
5594
5595 /* Restore the existing architecture. */
5596 gdb_assert (current_gdbarch == NULL);
5597 current_gdbarch_swap_in_hack (old_gdbarch);
5598
5599 return new_gdbarch;
5600}
5601
5602/* Make the specified architecture current, swapping the existing one
5603 out. */
5604
5605void
5606deprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)
5607{
5608 gdb_assert (new_gdbarch != NULL);
5609 gdb_assert (current_gdbarch != NULL);
5610 gdb_assert (new_gdbarch->initialized_p);
5611 current_gdbarch_swap_out_hack ();
5612 current_gdbarch_swap_in_hack (new_gdbarch);
5613 architecture_changed_event ();
5614}
c906108c 5615
104c1213 5616extern void _initialize_gdbarch (void);
b4a20239 5617
c906108c 5618void
7c7651b2 5619_initialize_gdbarch (void)
c906108c 5620{
5d161b24
DB
5621 struct cmd_list_element *c;
5622
5d161b24 5623 add_show_from_set (add_set_cmd ("arch",
c906108c
SS
5624 class_maintenance,
5625 var_zinteger,
adf40b2e 5626 (char *)&gdbarch_debug,
c906108c 5627 "Set architecture debugging.\n\
5d161b24
DB
5628When non-zero, architecture debugging is enabled.", &setdebuglist),
5629 &showdebuglist);
59233f88
AC
5630 c = add_set_cmd ("archdebug",
5631 class_maintenance,
5632 var_zinteger,
5633 (char *)&gdbarch_debug,
5634 "Set architecture debugging.\n\
5d161b24
DB
5635When non-zero, architecture debugging is enabled.", &setlist);
5636
59233f88
AC
5637 deprecate_cmd (c, "set debug arch");
5638 deprecate_cmd (add_show_from_set (c, &showlist), "show debug arch");
c906108c 5639}
This page took 0.785231 seconds and 4 git commands to generate.