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