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