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