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