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