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