2004-01-13 Andrew Cagney <cagney@redhat.com>
[platform/upstream/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 alloc_gdbarch_data (struct gdbarch *);
56
57 /* Non-zero if we want to trace architecture code.  */
58
59 #ifndef GDBARCH_DEBUG
60 #define GDBARCH_DEBUG 0
61 #endif
62 int gdbarch_debug = GDBARCH_DEBUG;
63
64
65 /* Maintain the struct gdbarch object */
66
67 struct gdbarch
68 {
69   /* Has this architecture been fully initialized?  */
70   int initialized_p;
71
72   /* An obstack bound to the lifetime of the architecture.  */
73   struct obstack *obstack;
74
75   /* basic architectural information */
76   const struct bfd_arch_info * bfd_arch_info;
77   int byte_order;
78   enum gdb_osabi osabi;
79
80   /* target specific vector. */
81   struct gdbarch_tdep *tdep;
82   gdbarch_dump_tdep_ftype *dump_tdep;
83
84   /* per-architecture data-pointers */
85   unsigned nr_data;
86   void **data;
87
88   /* per-architecture swap-regions */
89   struct gdbarch_swap *swap;
90
91   /* Multi-arch values.
92
93      When extending this structure you must:
94
95      Add the field below.
96
97      Declare set/get functions and define the corresponding
98      macro in gdbarch.h.
99
100      gdbarch_alloc(): If zero/NULL is not a suitable default,
101      initialize the new field.
102
103      verify_gdbarch(): Confirm that the target updated the field
104      correctly.
105
106      gdbarch_dump(): Add a fprintf_unfiltered call so that the new
107      field is dumped out
108
109      ``startup_gdbarch()'': Append an initial value to the static
110      variable (base values on the host's c-type system).
111
112      get_gdbarch(): Implement the set/get functions (probably using
113      the macro's as shortcuts).
114
115      */
116
117   int short_bit;
118   int int_bit;
119   int long_bit;
120   int long_long_bit;
121   int float_bit;
122   int double_bit;
123   int long_double_bit;
124   int ptr_bit;
125   int addr_bit;
126   int bfd_vma_bit;
127   int char_signed;
128   gdbarch_read_pc_ftype *read_pc;
129   gdbarch_write_pc_ftype *write_pc;
130   gdbarch_read_sp_ftype *read_sp;
131   gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer;
132   gdbarch_pseudo_register_read_ftype *pseudo_register_read;
133   gdbarch_pseudo_register_write_ftype *pseudo_register_write;
134   int num_regs;
135   int num_pseudo_regs;
136   int sp_regnum;
137   int pc_regnum;
138   int ps_regnum;
139   int fp0_regnum;
140   int deprecated_npc_regnum;
141   gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum;
142   gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum;
143   gdbarch_dwarf_reg_to_regnum_ftype *dwarf_reg_to_regnum;
144   gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum;
145   gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum;
146   gdbarch_register_name_ftype *register_name;
147   gdbarch_register_type_ftype *register_type;
148   gdbarch_deprecated_register_virtual_type_ftype *deprecated_register_virtual_type;
149   int deprecated_register_bytes;
150   gdbarch_deprecated_register_byte_ftype *deprecated_register_byte;
151   gdbarch_deprecated_register_raw_size_ftype *deprecated_register_raw_size;
152   gdbarch_deprecated_register_virtual_size_ftype *deprecated_register_virtual_size;
153   int deprecated_max_register_raw_size;
154   int deprecated_max_register_virtual_size;
155   gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
156   gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos;
157   int deprecated_fp_regnum;
158   gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp;
159   gdbarch_push_dummy_call_ftype *push_dummy_call;
160   gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments;
161   int deprecated_use_generic_dummy_frames;
162   gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address;
163   gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp;
164   int deprecated_register_size;
165   int call_dummy_location;
166   gdbarch_deprecated_call_dummy_address_ftype *deprecated_call_dummy_address;
167   CORE_ADDR deprecated_call_dummy_start_offset;
168   CORE_ADDR deprecated_call_dummy_breakpoint_offset;
169   int deprecated_call_dummy_length;
170   LONGEST * deprecated_call_dummy_words;
171   int deprecated_sizeof_call_dummy_words;
172   int deprecated_call_dummy_stack_adjust;
173   gdbarch_deprecated_fix_call_dummy_ftype *deprecated_fix_call_dummy;
174   gdbarch_push_dummy_code_ftype *push_dummy_code;
175   gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame;
176   int deprecated_extra_stack_alignment_needed;
177   gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info;
178   gdbarch_print_registers_info_ftype *print_registers_info;
179   gdbarch_print_float_info_ftype *print_float_info;
180   gdbarch_print_vector_info_ftype *print_vector_info;
181   gdbarch_register_sim_regno_ftype *register_sim_regno;
182   gdbarch_register_bytes_ok_ftype *register_bytes_ok;
183   gdbarch_cannot_fetch_register_ftype *cannot_fetch_register;
184   gdbarch_cannot_store_register_ftype *cannot_store_register;
185   gdbarch_get_longjmp_target_ftype *get_longjmp_target;
186   gdbarch_deprecated_pc_in_call_dummy_ftype *deprecated_pc_in_call_dummy;
187   gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first;
188   gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc;
189   int believe_pcc_promotion;
190   int believe_pcc_promotion_type;
191   gdbarch_deprecated_get_saved_register_ftype *deprecated_get_saved_register;
192   gdbarch_deprecated_register_convertible_ftype *deprecated_register_convertible;
193   gdbarch_deprecated_register_convert_to_virtual_ftype *deprecated_register_convert_to_virtual;
194   gdbarch_deprecated_register_convert_to_raw_ftype *deprecated_register_convert_to_raw;
195   gdbarch_convert_register_p_ftype *convert_register_p;
196   gdbarch_register_to_value_ftype *register_to_value;
197   gdbarch_value_to_register_ftype *value_to_register;
198   gdbarch_pointer_to_address_ftype *pointer_to_address;
199   gdbarch_address_to_pointer_ftype *address_to_pointer;
200   gdbarch_integer_to_address_ftype *integer_to_address;
201   gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame;
202   gdbarch_deprecated_store_struct_return_ftype *deprecated_store_struct_return;
203   gdbarch_return_value_ftype *return_value;
204   gdbarch_return_value_on_stack_ftype *return_value_on_stack;
205   gdbarch_extract_return_value_ftype *extract_return_value;
206   gdbarch_store_return_value_ftype *store_return_value;
207   gdbarch_deprecated_extract_return_value_ftype *deprecated_extract_return_value;
208   gdbarch_deprecated_store_return_value_ftype *deprecated_store_return_value;
209   gdbarch_use_struct_convention_ftype *use_struct_convention;
210   gdbarch_extract_struct_value_address_ftype *extract_struct_value_address;
211   gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address;
212   gdbarch_deprecated_frame_init_saved_regs_ftype *deprecated_frame_init_saved_regs;
213   gdbarch_deprecated_init_extra_frame_info_ftype *deprecated_init_extra_frame_info;
214   gdbarch_skip_prologue_ftype *skip_prologue;
215   gdbarch_prologue_frameless_p_ftype *prologue_frameless_p;
216   gdbarch_inner_than_ftype *inner_than;
217   gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
218   gdbarch_adjust_breakpoint_address_ftype *adjust_breakpoint_address;
219   gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint;
220   gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint;
221   CORE_ADDR decr_pc_after_break;
222   CORE_ADDR function_start_offset;
223   gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
224   CORE_ADDR frame_args_skip;
225   gdbarch_frameless_function_invocation_ftype *frameless_function_invocation;
226   gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
227   gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
228   gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
229   gdbarch_unwind_pc_ftype *unwind_pc;
230   gdbarch_unwind_sp_ftype *unwind_sp;
231   gdbarch_deprecated_frame_args_address_ftype *deprecated_frame_args_address;
232   gdbarch_deprecated_frame_locals_address_ftype *deprecated_frame_locals_address;
233   gdbarch_deprecated_saved_pc_after_call_ftype *deprecated_saved_pc_after_call;
234   gdbarch_frame_num_args_ftype *frame_num_args;
235   gdbarch_deprecated_stack_align_ftype *deprecated_stack_align;
236   gdbarch_frame_align_ftype *frame_align;
237   gdbarch_deprecated_reg_struct_has_addr_ftype *deprecated_reg_struct_has_addr;
238   gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr;
239   int frame_red_zone_size;
240   int parm_boundary;
241   const struct floatformat * float_format;
242   const struct floatformat * double_format;
243   const struct floatformat * long_double_format;
244   gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
245   gdbarch_addr_bits_remove_ftype *addr_bits_remove;
246   gdbarch_smash_text_address_ftype *smash_text_address;
247   gdbarch_software_single_step_ftype *software_single_step;
248   gdbarch_print_insn_ftype *print_insn;
249   gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
250   gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
251   gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline;
252   gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
253   gdbarch_pc_in_sigtramp_ftype *pc_in_sigtramp;
254   gdbarch_sigtramp_start_ftype *sigtramp_start;
255   gdbarch_sigtramp_end_ftype *sigtramp_end;
256   gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
257   gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
258   gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
259   gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
260   const char * name_of_malloc;
261   int cannot_step_breakpoint;
262   int have_nonsteppable_watchpoint;
263   gdbarch_address_class_type_flags_ftype *address_class_type_flags;
264   gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name;
265   gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags;
266   gdbarch_register_reggroup_p_ftype *register_reggroup_p;
267   gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
268   gdbarch_regset_from_core_section_ftype *regset_from_core_section;
269 };
270
271
272 /* The default architecture uses host values (for want of a better
273    choice). */
274
275 extern const struct bfd_arch_info bfd_default_arch_struct;
276
277 struct gdbarch startup_gdbarch =
278 {
279   1, /* Always initialized.  */
280   NULL, /* The obstack.  */
281   /* basic architecture information */
282   &bfd_default_arch_struct,  /* bfd_arch_info */
283   BFD_ENDIAN_BIG,  /* byte_order */
284   GDB_OSABI_UNKNOWN,  /* osabi */
285   /* target specific vector and its dump routine */
286   NULL, NULL,
287   /*per-architecture data-pointers and swap regions */
288   0, NULL, NULL,
289   /* Multi-arch values */
290   8 * sizeof (short),  /* short_bit */
291   8 * sizeof (int),  /* int_bit */
292   8 * sizeof (long),  /* long_bit */
293   8 * sizeof (LONGEST),  /* long_long_bit */
294   8 * sizeof (float),  /* float_bit */
295   8 * sizeof (double),  /* double_bit */
296   8 * sizeof (long double),  /* long_double_bit */
297   8 * sizeof (void*),  /* ptr_bit */
298   8 * sizeof (void*),  /* addr_bit */
299   8 * sizeof (void*),  /* bfd_vma_bit */
300   1,  /* char_signed */
301   0,  /* read_pc */
302   0,  /* write_pc */
303   0,  /* read_sp */
304   0,  /* virtual_frame_pointer */
305   0,  /* pseudo_register_read */
306   0,  /* pseudo_register_write */
307   0,  /* num_regs */
308   0,  /* num_pseudo_regs */
309   -1,  /* sp_regnum */
310   -1,  /* pc_regnum */
311   -1,  /* ps_regnum */
312   0,  /* fp0_regnum */
313   0,  /* deprecated_npc_regnum */
314   0,  /* stab_reg_to_regnum */
315   0,  /* ecoff_reg_to_regnum */
316   0,  /* dwarf_reg_to_regnum */
317   0,  /* sdb_reg_to_regnum */
318   0,  /* dwarf2_reg_to_regnum */
319   0,  /* register_name */
320   0,  /* register_type */
321   0,  /* deprecated_register_virtual_type */
322   0,  /* deprecated_register_bytes */
323   generic_register_byte,  /* deprecated_register_byte */
324   generic_register_size,  /* deprecated_register_raw_size */
325   generic_register_size,  /* deprecated_register_virtual_size */
326   0,  /* deprecated_max_register_raw_size */
327   0,  /* deprecated_max_register_virtual_size */
328   0,  /* unwind_dummy_id */
329   0,  /* deprecated_save_dummy_frame_tos */
330   -1,  /* deprecated_fp_regnum */
331   0,  /* deprecated_target_read_fp */
332   0,  /* push_dummy_call */
333   0,  /* deprecated_push_arguments */
334   0,  /* deprecated_use_generic_dummy_frames */
335   0,  /* deprecated_push_return_address */
336   0,  /* deprecated_dummy_write_sp */
337   0,  /* deprecated_register_size */
338   0,  /* call_dummy_location */
339   0,  /* deprecated_call_dummy_address */
340   0,  /* deprecated_call_dummy_start_offset */
341   0,  /* deprecated_call_dummy_breakpoint_offset */
342   0,  /* deprecated_call_dummy_length */
343   0,  /* deprecated_call_dummy_words */
344   0,  /* deprecated_sizeof_call_dummy_words */
345   0,  /* deprecated_call_dummy_stack_adjust */
346   0,  /* deprecated_fix_call_dummy */
347   0,  /* push_dummy_code */
348   0,  /* deprecated_push_dummy_frame */
349   0,  /* deprecated_extra_stack_alignment_needed */
350   0,  /* deprecated_do_registers_info */
351   default_print_registers_info,  /* print_registers_info */
352   0,  /* print_float_info */
353   0,  /* print_vector_info */
354   0,  /* register_sim_regno */
355   0,  /* register_bytes_ok */
356   0,  /* cannot_fetch_register */
357   0,  /* cannot_store_register */
358   0,  /* get_longjmp_target */
359   generic_pc_in_call_dummy,  /* deprecated_pc_in_call_dummy */
360   0,  /* deprecated_init_frame_pc_first */
361   0,  /* deprecated_init_frame_pc */
362   0,  /* believe_pcc_promotion */
363   0,  /* believe_pcc_promotion_type */
364   0,  /* deprecated_get_saved_register */
365   0,  /* deprecated_register_convertible */
366   0,  /* deprecated_register_convert_to_virtual */
367   0,  /* deprecated_register_convert_to_raw */
368   0,  /* convert_register_p */
369   0,  /* register_to_value */
370   0,  /* value_to_register */
371   0,  /* pointer_to_address */
372   0,  /* address_to_pointer */
373   0,  /* integer_to_address */
374   0,  /* deprecated_pop_frame */
375   0,  /* deprecated_store_struct_return */
376   0,  /* return_value */
377   0,  /* return_value_on_stack */
378   0,  /* extract_return_value */
379   0,  /* store_return_value */
380   0,  /* deprecated_extract_return_value */
381   0,  /* deprecated_store_return_value */
382   0,  /* use_struct_convention */
383   0,  /* extract_struct_value_address */
384   0,  /* deprecated_extract_struct_value_address */
385   0,  /* deprecated_frame_init_saved_regs */
386   0,  /* deprecated_init_extra_frame_info */
387   0,  /* skip_prologue */
388   0,  /* prologue_frameless_p */
389   0,  /* inner_than */
390   0,  /* breakpoint_from_pc */
391   0,  /* adjust_breakpoint_address */
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   convert_from_func_ptr_addr_identity,  /* 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   generic_skip_solib_resolver,  /* skip_solib_resolver */
424   0,  /* in_solib_call_trampoline */
425   0,  /* in_solib_return_trampoline */
426   0,  /* pc_in_sigtramp */
427   0,  /* sigtramp_start */
428   0,  /* sigtramp_end */
429   generic_in_function_epilogue_p,  /* in_function_epilogue_p */
430   construct_inferior_arguments,  /* construct_inferior_arguments */
431   0,  /* elf_make_msymbol_special */
432   0,  /* coff_make_msymbol_special */
433   "malloc",  /* name_of_malloc */
434   0,  /* cannot_step_breakpoint */
435   0,  /* have_nonsteppable_watchpoint */
436   0,  /* address_class_type_flags */
437   0,  /* address_class_type_flags_to_name */
438   0,  /* address_class_name_to_type_flags */
439   default_register_reggroup_p,  /* register_reggroup_p */
440   0,  /* fetch_pointer_argument */
441   0,  /* regset_from_core_section */
442   /* startup_gdbarch() */
443 };
444
445 struct gdbarch *current_gdbarch = &startup_gdbarch;
446
447 /* Create a new ``struct gdbarch'' based on information provided by
448    ``struct gdbarch_info''. */
449
450 struct gdbarch *
451 gdbarch_alloc (const struct gdbarch_info *info,
452                struct gdbarch_tdep *tdep)
453 {
454   /* NOTE: The new architecture variable is named ``current_gdbarch''
455      so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to
456      the current local architecture and not the previous global
457      architecture.  This ensures that the new architectures initial
458      values are not influenced by the previous architecture.  Once
459      everything is parameterised with gdbarch, this will go away.  */
460   struct gdbarch *current_gdbarch;
461
462   /* Create an obstack for allocating all the per-architecture memory,
463      then use that to allocate the architecture vector.  */
464   struct obstack *obstack = XMALLOC (struct obstack);
465   obstack_init (obstack);
466   current_gdbarch = obstack_alloc (obstack, sizeof (*current_gdbarch));
467   memset (current_gdbarch, 0, sizeof (*current_gdbarch));
468   current_gdbarch->obstack = obstack;
469
470   alloc_gdbarch_data (current_gdbarch);
471
472   current_gdbarch->tdep = tdep;
473
474   current_gdbarch->bfd_arch_info = info->bfd_arch_info;
475   current_gdbarch->byte_order = info->byte_order;
476   current_gdbarch->osabi = info->osabi;
477
478   /* Force the explicit initialization of these. */
479   current_gdbarch->short_bit = 2*TARGET_CHAR_BIT;
480   current_gdbarch->int_bit = 4*TARGET_CHAR_BIT;
481   current_gdbarch->long_bit = 4*TARGET_CHAR_BIT;
482   current_gdbarch->long_long_bit = 2*TARGET_LONG_BIT;
483   current_gdbarch->float_bit = 4*TARGET_CHAR_BIT;
484   current_gdbarch->double_bit = 8*TARGET_CHAR_BIT;
485   current_gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
486   current_gdbarch->ptr_bit = TARGET_INT_BIT;
487   current_gdbarch->bfd_vma_bit = TARGET_ARCHITECTURE->bits_per_address;
488   current_gdbarch->char_signed = -1;
489   current_gdbarch->write_pc = generic_target_write_pc;
490   current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
491   current_gdbarch->num_regs = -1;
492   current_gdbarch->sp_regnum = -1;
493   current_gdbarch->pc_regnum = -1;
494   current_gdbarch->ps_regnum = -1;
495   current_gdbarch->fp0_regnum = -1;
496   current_gdbarch->deprecated_npc_regnum = -1;
497   current_gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
498   current_gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
499   current_gdbarch->dwarf_reg_to_regnum = no_op_reg_to_regnum;
500   current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
501   current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
502   current_gdbarch->deprecated_register_byte = generic_register_byte;
503   current_gdbarch->deprecated_register_raw_size = generic_register_size;
504   current_gdbarch->deprecated_register_virtual_size = generic_register_size;
505   current_gdbarch->deprecated_fp_regnum = -1;
506   current_gdbarch->deprecated_use_generic_dummy_frames = 1;
507   current_gdbarch->call_dummy_location = AT_ENTRY_POINT;
508   current_gdbarch->deprecated_call_dummy_words = legacy_call_dummy_words;
509   current_gdbarch->deprecated_sizeof_call_dummy_words = legacy_sizeof_call_dummy_words;
510   current_gdbarch->print_registers_info = default_print_registers_info;
511   current_gdbarch->register_sim_regno = legacy_register_sim_regno;
512   current_gdbarch->cannot_fetch_register = cannot_register_not;
513   current_gdbarch->cannot_store_register = cannot_register_not;
514   current_gdbarch->deprecated_pc_in_call_dummy = generic_pc_in_call_dummy;
515   current_gdbarch->deprecated_register_convertible = deprecated_register_convertible_not;
516   current_gdbarch->convert_register_p = legacy_convert_register_p;
517   current_gdbarch->register_to_value = legacy_register_to_value;
518   current_gdbarch->value_to_register = legacy_value_to_register;
519   current_gdbarch->pointer_to_address = unsigned_pointer_to_address;
520   current_gdbarch->address_to_pointer = unsigned_address_to_pointer;
521   current_gdbarch->return_value_on_stack = generic_return_value_on_stack_not;
522   current_gdbarch->extract_return_value = legacy_extract_return_value;
523   current_gdbarch->store_return_value = legacy_store_return_value;
524   current_gdbarch->use_struct_convention = generic_use_struct_convention;
525   current_gdbarch->prologue_frameless_p = generic_prologue_frameless_p;
526   current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
527   current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
528   current_gdbarch->decr_pc_after_break = -1;
529   current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address;
530   current_gdbarch->frame_args_skip = -1;
531   current_gdbarch->frameless_function_invocation = generic_frameless_function_invocation_not;
532   current_gdbarch->deprecated_frame_args_address = get_frame_base;
533   current_gdbarch->deprecated_frame_locals_address = get_frame_base;
534   current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
535   current_gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
536   current_gdbarch->addr_bits_remove = core_addr_identity;
537   current_gdbarch->smash_text_address = core_addr_identity;
538   current_gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
539   current_gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
540   current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
541   current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
542   current_gdbarch->pc_in_sigtramp = legacy_pc_in_sigtramp;
543   current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
544   current_gdbarch->construct_inferior_arguments = construct_inferior_arguments;
545   current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
546   current_gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
547   current_gdbarch->name_of_malloc = "malloc";
548   current_gdbarch->register_reggroup_p = default_register_reggroup_p;
549   /* gdbarch_alloc() */
550
551   return current_gdbarch;
552 }
553
554
555 /* Allocate extra space using the per-architecture obstack.  */
556
557 void *
558 gdbarch_obstack_zalloc (struct gdbarch *arch, long size)
559 {
560   void *data = obstack_alloc (arch->obstack, size);
561   memset (data, 0, size);
562   return data;
563 }
564
565
566 /* Free a gdbarch struct.  This should never happen in normal
567    operation --- once you've created a gdbarch, you keep it around.
568    However, if an architecture's init function encounters an error
569    building the structure, it may need to clean up a partially
570    constructed gdbarch.  */
571
572 void
573 gdbarch_free (struct gdbarch *arch)
574 {
575   struct obstack *obstack;
576   gdb_assert (arch != NULL);
577   gdb_assert (!arch->initialized_p);
578   obstack = arch->obstack;
579   obstack_free (obstack, 0); /* Includes the ARCH.  */
580   xfree (obstack);
581 }
582
583
584 /* Ensure that all values in a GDBARCH are reasonable.  */
585
586 /* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
587    just happens to match the global variable ``current_gdbarch''.  That
588    way macros refering to that variable get the local and not the global
589    version - ulgh.  Once everything is parameterised with gdbarch, this
590    will go away. */
591
592 static void
593 verify_gdbarch (struct gdbarch *current_gdbarch)
594 {
595   struct ui_file *log;
596   struct cleanup *cleanups;
597   long dummy;
598   char *buf;
599   log = mem_fileopen ();
600   cleanups = make_cleanup_ui_file_delete (log);
601   /* fundamental */
602   if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
603     fprintf_unfiltered (log, "\n\tbyte-order");
604   if (current_gdbarch->bfd_arch_info == NULL)
605     fprintf_unfiltered (log, "\n\tbfd_arch_info");
606   /* Check those that need to be defined for the given multi-arch level. */
607   /* Skip verify of short_bit, invalid_p == 0 */
608   /* Skip verify of int_bit, invalid_p == 0 */
609   /* Skip verify of long_bit, invalid_p == 0 */
610   /* Skip verify of long_long_bit, invalid_p == 0 */
611   /* Skip verify of float_bit, invalid_p == 0 */
612   /* Skip verify of double_bit, invalid_p == 0 */
613   /* Skip verify of long_double_bit, invalid_p == 0 */
614   /* Skip verify of ptr_bit, invalid_p == 0 */
615   if (current_gdbarch->addr_bit == 0)
616     current_gdbarch->addr_bit = TARGET_PTR_BIT;
617   /* Skip verify of bfd_vma_bit, invalid_p == 0 */
618   if (current_gdbarch->char_signed == -1)
619     current_gdbarch->char_signed = 1;
620   /* Skip verify of read_pc, has predicate */
621   /* Skip verify of write_pc, invalid_p == 0 */
622   /* Skip verify of read_sp, has predicate */
623   /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
624   /* Skip verify of pseudo_register_read, has predicate */
625   /* Skip verify of pseudo_register_write, has predicate */
626   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
627       && (current_gdbarch->num_regs == -1))
628     fprintf_unfiltered (log, "\n\tnum_regs");
629   /* Skip verify of num_pseudo_regs, invalid_p == 0 */
630   /* Skip verify of sp_regnum, invalid_p == 0 */
631   /* Skip verify of pc_regnum, invalid_p == 0 */
632   /* Skip verify of ps_regnum, invalid_p == 0 */
633   /* Skip verify of fp0_regnum, invalid_p == 0 */
634   /* Skip verify of deprecated_npc_regnum, invalid_p == 0 */
635   /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
636   /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
637   /* Skip verify of dwarf_reg_to_regnum, invalid_p == 0 */
638   /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
639   /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
640   /* Skip verify of register_type, has predicate */
641   /* Skip verify of deprecated_register_virtual_type, has predicate */
642   /* Skip verify of deprecated_register_byte, has predicate */
643   /* Skip verify of deprecated_register_raw_size, has predicate */
644   /* Skip verify of deprecated_register_virtual_size, has predicate */
645   /* Skip verify of deprecated_max_register_raw_size, has predicate */
646   /* Skip verify of deprecated_max_register_virtual_size, has predicate */
647   /* Skip verify of unwind_dummy_id, has predicate */
648   /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */
649   /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
650   /* Skip verify of deprecated_target_read_fp, has predicate */
651   /* Skip verify of push_dummy_call, has predicate */
652   /* Skip verify of deprecated_push_arguments, has predicate */
653   /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */
654   /* Skip verify of deprecated_push_return_address, has predicate */
655   /* Skip verify of deprecated_dummy_write_sp, has predicate */
656   /* Skip verify of call_dummy_location, invalid_p == 0 */
657   /* Skip verify of deprecated_call_dummy_address, has predicate */
658   /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
659   /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
660   /* Skip verify of deprecated_call_dummy_stack_adjust, has predicate */
661   /* Skip verify of deprecated_fix_call_dummy, has predicate */
662   /* Skip verify of push_dummy_code, has predicate */
663   /* Skip verify of deprecated_push_dummy_frame, has predicate */
664   /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */
665   /* Skip verify of deprecated_do_registers_info, has predicate */
666   /* Skip verify of print_registers_info, invalid_p == 0 */
667   /* Skip verify of print_float_info, has predicate */
668   /* Skip verify of print_vector_info, has predicate */
669   /* Skip verify of register_sim_regno, invalid_p == 0 */
670   /* Skip verify of register_bytes_ok, has predicate */
671   /* Skip verify of cannot_fetch_register, invalid_p == 0 */
672   /* Skip verify of cannot_store_register, invalid_p == 0 */
673   /* Skip verify of get_longjmp_target, has predicate */
674   /* Skip verify of deprecated_pc_in_call_dummy, has predicate */
675   /* Skip verify of deprecated_init_frame_pc_first, has predicate */
676   /* Skip verify of deprecated_init_frame_pc, has predicate */
677   /* Skip verify of deprecated_get_saved_register, has predicate */
678   /* Skip verify of deprecated_register_convertible, invalid_p == 0 */
679   /* Skip verify of deprecated_register_convert_to_virtual, invalid_p == 0 */
680   /* Skip verify of deprecated_register_convert_to_raw, invalid_p == 0 */
681   /* Skip verify of convert_register_p, invalid_p == 0 */
682   /* Skip verify of register_to_value, invalid_p == 0 */
683   /* Skip verify of value_to_register, invalid_p == 0 */
684   /* Skip verify of pointer_to_address, invalid_p == 0 */
685   /* Skip verify of address_to_pointer, invalid_p == 0 */
686   /* Skip verify of integer_to_address, has predicate */
687   /* Skip verify of deprecated_pop_frame, has predicate */
688   /* Skip verify of deprecated_store_struct_return, has predicate */
689   /* Skip verify of return_value, has predicate */
690   /* Skip verify of return_value_on_stack, invalid_p == 0 */
691   /* Skip verify of extract_return_value, invalid_p == 0 */
692   /* Skip verify of store_return_value, invalid_p == 0 */
693   /* Skip verify of use_struct_convention, invalid_p == 0 */
694   /* Skip verify of extract_struct_value_address, has predicate */
695   /* Skip verify of deprecated_extract_struct_value_address, has predicate */
696   /* Skip verify of deprecated_frame_init_saved_regs, has predicate */
697   /* Skip verify of deprecated_init_extra_frame_info, has predicate */
698   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
699       && (current_gdbarch->skip_prologue == 0))
700     fprintf_unfiltered (log, "\n\tskip_prologue");
701   /* Skip verify of prologue_frameless_p, invalid_p == 0 */
702   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
703       && (current_gdbarch->inner_than == 0))
704     fprintf_unfiltered (log, "\n\tinner_than");
705   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
706       && (current_gdbarch->breakpoint_from_pc == 0))
707     fprintf_unfiltered (log, "\n\tbreakpoint_from_pc");
708   /* Skip verify of adjust_breakpoint_address, has predicate */
709   /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
710   /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
711   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
712       && (current_gdbarch->decr_pc_after_break == -1))
713     fprintf_unfiltered (log, "\n\tdecr_pc_after_break");
714   /* Skip verify of function_start_offset, invalid_p == 0 */
715   /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
716   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
717       && (current_gdbarch->frame_args_skip == -1))
718     fprintf_unfiltered (log, "\n\tframe_args_skip");
719   /* Skip verify of frameless_function_invocation, invalid_p == 0 */
720   /* Skip verify of deprecated_frame_chain, has predicate */
721   /* Skip verify of deprecated_frame_chain_valid, has predicate */
722   /* Skip verify of deprecated_frame_saved_pc, has predicate */
723   /* Skip verify of unwind_pc, has predicate */
724   /* Skip verify of unwind_sp, has predicate */
725   /* Skip verify of deprecated_frame_args_address, has predicate */
726   /* Skip verify of deprecated_frame_locals_address, has predicate */
727   /* Skip verify of deprecated_saved_pc_after_call, has predicate */
728   /* Skip verify of frame_num_args, has predicate */
729   /* Skip verify of deprecated_stack_align, has predicate */
730   /* Skip verify of frame_align, has predicate */
731   /* Skip verify of deprecated_reg_struct_has_addr, has predicate */
732   /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
733   if (current_gdbarch->float_format == 0)
734     current_gdbarch->float_format = default_float_format (current_gdbarch);
735   if (current_gdbarch->double_format == 0)
736     current_gdbarch->double_format = default_double_format (current_gdbarch);
737   if (current_gdbarch->long_double_format == 0)
738     current_gdbarch->long_double_format = default_double_format (current_gdbarch);
739   /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
740   /* Skip verify of addr_bits_remove, invalid_p == 0 */
741   /* Skip verify of smash_text_address, invalid_p == 0 */
742   /* Skip verify of software_single_step, has predicate */
743   if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
744       && (current_gdbarch->print_insn == 0))
745     fprintf_unfiltered (log, "\n\tprint_insn");
746   /* Skip verify of skip_trampoline_code, invalid_p == 0 */
747   /* Skip verify of skip_solib_resolver, invalid_p == 0 */
748   /* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
749   /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
750   /* Skip verify of pc_in_sigtramp, invalid_p == 0 */
751   /* Skip verify of sigtramp_start, has predicate */
752   /* Skip verify of sigtramp_end, has predicate */
753   /* Skip verify of in_function_epilogue_p, invalid_p == 0 */
754   /* Skip verify of construct_inferior_arguments, invalid_p == 0 */
755   /* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
756   /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
757   /* Skip verify of name_of_malloc, invalid_p == 0 */
758   /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
759   /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
760   /* Skip verify of address_class_type_flags, has predicate */
761   /* Skip verify of address_class_type_flags_to_name, has predicate */
762   /* Skip verify of address_class_name_to_type_flags, has predicate */
763   /* Skip verify of register_reggroup_p, invalid_p == 0 */
764   /* Skip verify of fetch_pointer_argument, has predicate */
765   /* Skip verify of regset_from_core_section, has predicate */
766   buf = ui_file_xstrdup (log, &dummy);
767   make_cleanup (xfree, buf);
768   if (strlen (buf) > 0)
769     internal_error (__FILE__, __LINE__,
770                     "verify_gdbarch: the following are invalid ...%s",
771                     buf);
772   do_cleanups (cleanups);
773 }
774
775
776 /* Print out the details of the current architecture. */
777
778 /* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
779    just happens to match the global variable ``current_gdbarch''.  That
780    way macros refering to that variable get the local and not the global
781    version - ulgh.  Once everything is parameterised with gdbarch, this
782    will go away. */
783
784 void
785 gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
786 {
787   fprintf_unfiltered (file,
788                       "gdbarch_dump: GDB_MULTI_ARCH = %d\n",
789                       GDB_MULTI_ARCH);
790   fprintf_unfiltered (file,
791                       "gdbarch_dump: convert_from_func_ptr_addr = 0x%08lx\n",
792                       (long) current_gdbarch->convert_from_func_ptr_addr);
793   fprintf_unfiltered (file,
794                       "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
795                       gdbarch_frame_align_p (current_gdbarch));
796   fprintf_unfiltered (file,
797                       "gdbarch_dump: frame_align = 0x%08lx\n",
798                       (long) current_gdbarch->frame_align);
799   fprintf_unfiltered (file,
800                       "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
801                       gdbarch_regset_from_core_section_p (current_gdbarch));
802   fprintf_unfiltered (file,
803                       "gdbarch_dump: regset_from_core_section = 0x%08lx\n",
804                       (long) current_gdbarch->regset_from_core_section);
805   fprintf_unfiltered (file,
806                       "gdbarch_dump: gdbarch_return_value_p() = %d\n",
807                       gdbarch_return_value_p (current_gdbarch));
808   fprintf_unfiltered (file,
809                       "gdbarch_dump: return_value = 0x%08lx\n",
810                       (long) current_gdbarch->return_value);
811   fprintf_unfiltered (file,
812                       "gdbarch_dump: in_function_epilogue_p = 0x%08lx\n",
813                       (long) current_gdbarch->in_function_epilogue_p);
814   fprintf_unfiltered (file,
815                       "gdbarch_dump: register_reggroup_p = 0x%08lx\n",
816                       (long) current_gdbarch->register_reggroup_p);
817   fprintf_unfiltered (file,
818                       "gdbarch_dump: stabs_argument_has_addr = 0x%08lx\n",
819                       (long) current_gdbarch->stabs_argument_has_addr);
820   fprintf_unfiltered (file,
821                       "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
822                       gdbarch_pseudo_register_read_p (current_gdbarch));
823   fprintf_unfiltered (file,
824                       "gdbarch_dump: pseudo_register_read = 0x%08lx\n",
825                       (long) current_gdbarch->pseudo_register_read);
826   fprintf_unfiltered (file,
827                       "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
828                       gdbarch_pseudo_register_write_p (current_gdbarch));
829   fprintf_unfiltered (file,
830                       "gdbarch_dump: pseudo_register_write = 0x%08lx\n",
831                       (long) current_gdbarch->pseudo_register_write);
832   fprintf_unfiltered (file,
833                       "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
834                       gdbarch_address_class_name_to_type_flags_p (current_gdbarch));
835   fprintf_unfiltered (file,
836                       "gdbarch_dump: address_class_name_to_type_flags = 0x%08lx\n",
837                       (long) current_gdbarch->address_class_name_to_type_flags);
838 #ifdef ADDRESS_CLASS_TYPE_FLAGS_P
839   fprintf_unfiltered (file,
840                       "gdbarch_dump: %s # %s\n",
841                       "ADDRESS_CLASS_TYPE_FLAGS_P()",
842                       XSTRING (ADDRESS_CLASS_TYPE_FLAGS_P ()));
843   fprintf_unfiltered (file,
844                       "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS_P() = %d\n",
845                       ADDRESS_CLASS_TYPE_FLAGS_P ());
846 #endif
847 #ifdef ADDRESS_CLASS_TYPE_FLAGS
848   fprintf_unfiltered (file,
849                       "gdbarch_dump: %s # %s\n",
850                       "ADDRESS_CLASS_TYPE_FLAGS(byte_size, dwarf2_addr_class)",
851                       XSTRING (ADDRESS_CLASS_TYPE_FLAGS (byte_size, dwarf2_addr_class)));
852   fprintf_unfiltered (file,
853                       "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS = <0x%08lx>\n",
854                       (long) current_gdbarch->address_class_type_flags
855                       /*ADDRESS_CLASS_TYPE_FLAGS ()*/);
856 #endif
857   fprintf_unfiltered (file,
858                       "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
859                       gdbarch_address_class_type_flags_to_name_p (current_gdbarch));
860   fprintf_unfiltered (file,
861                       "gdbarch_dump: address_class_type_flags_to_name = 0x%08lx\n",
862                       (long) current_gdbarch->address_class_type_flags_to_name);
863 #ifdef ADDRESS_TO_POINTER
864   fprintf_unfiltered (file,
865                       "gdbarch_dump: %s # %s\n",
866                       "ADDRESS_TO_POINTER(type, buf, addr)",
867                       XSTRING (ADDRESS_TO_POINTER (type, buf, addr)));
868   fprintf_unfiltered (file,
869                       "gdbarch_dump: ADDRESS_TO_POINTER = <0x%08lx>\n",
870                       (long) current_gdbarch->address_to_pointer
871                       /*ADDRESS_TO_POINTER ()*/);
872 #endif
873 #ifdef ADDR_BITS_REMOVE
874   fprintf_unfiltered (file,
875                       "gdbarch_dump: %s # %s\n",
876                       "ADDR_BITS_REMOVE(addr)",
877                       XSTRING (ADDR_BITS_REMOVE (addr)));
878   fprintf_unfiltered (file,
879                       "gdbarch_dump: ADDR_BITS_REMOVE = <0x%08lx>\n",
880                       (long) current_gdbarch->addr_bits_remove
881                       /*ADDR_BITS_REMOVE ()*/);
882 #endif
883   fprintf_unfiltered (file,
884                       "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
885                       gdbarch_adjust_breakpoint_address_p (current_gdbarch));
886   fprintf_unfiltered (file,
887                       "gdbarch_dump: adjust_breakpoint_address = 0x%08lx\n",
888                       (long) current_gdbarch->adjust_breakpoint_address);
889 #ifdef BELIEVE_PCC_PROMOTION
890   fprintf_unfiltered (file,
891                       "gdbarch_dump: BELIEVE_PCC_PROMOTION # %s\n",
892                       XSTRING (BELIEVE_PCC_PROMOTION));
893   fprintf_unfiltered (file,
894                       "gdbarch_dump: BELIEVE_PCC_PROMOTION = %d\n",
895                       BELIEVE_PCC_PROMOTION);
896 #endif
897 #ifdef BELIEVE_PCC_PROMOTION_TYPE
898   fprintf_unfiltered (file,
899                       "gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE # %s\n",
900                       XSTRING (BELIEVE_PCC_PROMOTION_TYPE));
901   fprintf_unfiltered (file,
902                       "gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE = %d\n",
903                       BELIEVE_PCC_PROMOTION_TYPE);
904 #endif
905 #ifdef BREAKPOINT_FROM_PC
906   fprintf_unfiltered (file,
907                       "gdbarch_dump: %s # %s\n",
908                       "BREAKPOINT_FROM_PC(pcptr, lenptr)",
909                       XSTRING (BREAKPOINT_FROM_PC (pcptr, lenptr)));
910   fprintf_unfiltered (file,
911                       "gdbarch_dump: BREAKPOINT_FROM_PC = <0x%08lx>\n",
912                       (long) current_gdbarch->breakpoint_from_pc
913                       /*BREAKPOINT_FROM_PC ()*/);
914 #endif
915 #ifdef CALL_DUMMY_LOCATION
916   fprintf_unfiltered (file,
917                       "gdbarch_dump: CALL_DUMMY_LOCATION # %s\n",
918                       XSTRING (CALL_DUMMY_LOCATION));
919   fprintf_unfiltered (file,
920                       "gdbarch_dump: CALL_DUMMY_LOCATION = %d\n",
921                       CALL_DUMMY_LOCATION);
922 #endif
923 #ifdef CANNOT_FETCH_REGISTER
924   fprintf_unfiltered (file,
925                       "gdbarch_dump: %s # %s\n",
926                       "CANNOT_FETCH_REGISTER(regnum)",
927                       XSTRING (CANNOT_FETCH_REGISTER (regnum)));
928   fprintf_unfiltered (file,
929                       "gdbarch_dump: CANNOT_FETCH_REGISTER = <0x%08lx>\n",
930                       (long) current_gdbarch->cannot_fetch_register
931                       /*CANNOT_FETCH_REGISTER ()*/);
932 #endif
933 #ifdef CANNOT_STEP_BREAKPOINT
934   fprintf_unfiltered (file,
935                       "gdbarch_dump: CANNOT_STEP_BREAKPOINT # %s\n",
936                       XSTRING (CANNOT_STEP_BREAKPOINT));
937   fprintf_unfiltered (file,
938                       "gdbarch_dump: CANNOT_STEP_BREAKPOINT = %d\n",
939                       CANNOT_STEP_BREAKPOINT);
940 #endif
941 #ifdef CANNOT_STORE_REGISTER
942   fprintf_unfiltered (file,
943                       "gdbarch_dump: %s # %s\n",
944                       "CANNOT_STORE_REGISTER(regnum)",
945                       XSTRING (CANNOT_STORE_REGISTER (regnum)));
946   fprintf_unfiltered (file,
947                       "gdbarch_dump: CANNOT_STORE_REGISTER = <0x%08lx>\n",
948                       (long) current_gdbarch->cannot_store_register
949                       /*CANNOT_STORE_REGISTER ()*/);
950 #endif
951 #ifdef COFF_MAKE_MSYMBOL_SPECIAL
952   fprintf_unfiltered (file,
953                       "gdbarch_dump: %s # %s\n",
954                       "COFF_MAKE_MSYMBOL_SPECIAL(val, msym)",
955                       XSTRING (COFF_MAKE_MSYMBOL_SPECIAL (val, msym)));
956   fprintf_unfiltered (file,
957                       "gdbarch_dump: COFF_MAKE_MSYMBOL_SPECIAL = <0x%08lx>\n",
958                       (long) current_gdbarch->coff_make_msymbol_special
959                       /*COFF_MAKE_MSYMBOL_SPECIAL ()*/);
960 #endif
961   fprintf_unfiltered (file,
962                       "gdbarch_dump: construct_inferior_arguments = 0x%08lx\n",
963                       (long) current_gdbarch->construct_inferior_arguments);
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   fprintf_unfiltered (file,
2218                       "gdbarch_dump: skip_solib_resolver = 0x%08lx\n",
2219                       (long) current_gdbarch->skip_solib_resolver);
2220 #ifdef SKIP_TRAMPOLINE_CODE
2221   fprintf_unfiltered (file,
2222                       "gdbarch_dump: %s # %s\n",
2223                       "SKIP_TRAMPOLINE_CODE(pc)",
2224                       XSTRING (SKIP_TRAMPOLINE_CODE (pc)));
2225   fprintf_unfiltered (file,
2226                       "gdbarch_dump: SKIP_TRAMPOLINE_CODE = <0x%08lx>\n",
2227                       (long) current_gdbarch->skip_trampoline_code
2228                       /*SKIP_TRAMPOLINE_CODE ()*/);
2229 #endif
2230 #ifdef SMASH_TEXT_ADDRESS
2231   fprintf_unfiltered (file,
2232                       "gdbarch_dump: %s # %s\n",
2233                       "SMASH_TEXT_ADDRESS(addr)",
2234                       XSTRING (SMASH_TEXT_ADDRESS (addr)));
2235   fprintf_unfiltered (file,
2236                       "gdbarch_dump: SMASH_TEXT_ADDRESS = <0x%08lx>\n",
2237                       (long) current_gdbarch->smash_text_address
2238                       /*SMASH_TEXT_ADDRESS ()*/);
2239 #endif
2240 #ifdef SOFTWARE_SINGLE_STEP_P
2241   fprintf_unfiltered (file,
2242                       "gdbarch_dump: %s # %s\n",
2243                       "SOFTWARE_SINGLE_STEP_P()",
2244                       XSTRING (SOFTWARE_SINGLE_STEP_P ()));
2245   fprintf_unfiltered (file,
2246                       "gdbarch_dump: SOFTWARE_SINGLE_STEP_P() = %d\n",
2247                       SOFTWARE_SINGLE_STEP_P ());
2248 #endif
2249 #ifdef SOFTWARE_SINGLE_STEP
2250   fprintf_unfiltered (file,
2251                       "gdbarch_dump: %s # %s\n",
2252                       "SOFTWARE_SINGLE_STEP(sig, insert_breakpoints_p)",
2253                       XSTRING (SOFTWARE_SINGLE_STEP (sig, insert_breakpoints_p)));
2254   fprintf_unfiltered (file,
2255                       "gdbarch_dump: SOFTWARE_SINGLE_STEP = <0x%08lx>\n",
2256                       (long) current_gdbarch->software_single_step
2257                       /*SOFTWARE_SINGLE_STEP ()*/);
2258 #endif
2259 #ifdef SP_REGNUM
2260   fprintf_unfiltered (file,
2261                       "gdbarch_dump: SP_REGNUM # %s\n",
2262                       XSTRING (SP_REGNUM));
2263   fprintf_unfiltered (file,
2264                       "gdbarch_dump: SP_REGNUM = %d\n",
2265                       SP_REGNUM);
2266 #endif
2267 #ifdef STAB_REG_TO_REGNUM
2268   fprintf_unfiltered (file,
2269                       "gdbarch_dump: %s # %s\n",
2270                       "STAB_REG_TO_REGNUM(stab_regnr)",
2271                       XSTRING (STAB_REG_TO_REGNUM (stab_regnr)));
2272   fprintf_unfiltered (file,
2273                       "gdbarch_dump: STAB_REG_TO_REGNUM = <0x%08lx>\n",
2274                       (long) current_gdbarch->stab_reg_to_regnum
2275                       /*STAB_REG_TO_REGNUM ()*/);
2276 #endif
2277 #ifdef STORE_RETURN_VALUE
2278   fprintf_unfiltered (file,
2279                       "gdbarch_dump: %s # %s\n",
2280                       "STORE_RETURN_VALUE(type, regcache, valbuf)",
2281                       XSTRING (STORE_RETURN_VALUE (type, regcache, valbuf)));
2282   fprintf_unfiltered (file,
2283                       "gdbarch_dump: STORE_RETURN_VALUE = <0x%08lx>\n",
2284                       (long) current_gdbarch->store_return_value
2285                       /*STORE_RETURN_VALUE ()*/);
2286 #endif
2287 #ifdef TARGET_ADDR_BIT
2288   fprintf_unfiltered (file,
2289                       "gdbarch_dump: TARGET_ADDR_BIT # %s\n",
2290                       XSTRING (TARGET_ADDR_BIT));
2291   fprintf_unfiltered (file,
2292                       "gdbarch_dump: TARGET_ADDR_BIT = %d\n",
2293                       TARGET_ADDR_BIT);
2294 #endif
2295 #ifdef TARGET_ARCHITECTURE
2296   fprintf_unfiltered (file,
2297                       "gdbarch_dump: TARGET_ARCHITECTURE # %s\n",
2298                       XSTRING (TARGET_ARCHITECTURE));
2299   if (TARGET_ARCHITECTURE != NULL)
2300     fprintf_unfiltered (file,
2301                         "gdbarch_dump: TARGET_ARCHITECTURE = %s\n",
2302                         TARGET_ARCHITECTURE->printable_name);
2303 #endif
2304 #ifdef TARGET_BFD_VMA_BIT
2305   fprintf_unfiltered (file,
2306                       "gdbarch_dump: TARGET_BFD_VMA_BIT # %s\n",
2307                       XSTRING (TARGET_BFD_VMA_BIT));
2308   fprintf_unfiltered (file,
2309                       "gdbarch_dump: TARGET_BFD_VMA_BIT = %d\n",
2310                       TARGET_BFD_VMA_BIT);
2311 #endif
2312 #ifdef TARGET_BYTE_ORDER
2313   fprintf_unfiltered (file,
2314                       "gdbarch_dump: TARGET_BYTE_ORDER # %s\n",
2315                       XSTRING (TARGET_BYTE_ORDER));
2316   fprintf_unfiltered (file,
2317                       "gdbarch_dump: TARGET_BYTE_ORDER = %ld\n",
2318                       (long) TARGET_BYTE_ORDER);
2319 #endif
2320 #ifdef TARGET_CHAR_SIGNED
2321   fprintf_unfiltered (file,
2322                       "gdbarch_dump: TARGET_CHAR_SIGNED # %s\n",
2323                       XSTRING (TARGET_CHAR_SIGNED));
2324   fprintf_unfiltered (file,
2325                       "gdbarch_dump: TARGET_CHAR_SIGNED = %d\n",
2326                       TARGET_CHAR_SIGNED);
2327 #endif
2328 #ifdef TARGET_DOUBLE_BIT
2329   fprintf_unfiltered (file,
2330                       "gdbarch_dump: TARGET_DOUBLE_BIT # %s\n",
2331                       XSTRING (TARGET_DOUBLE_BIT));
2332   fprintf_unfiltered (file,
2333                       "gdbarch_dump: TARGET_DOUBLE_BIT = %d\n",
2334                       TARGET_DOUBLE_BIT);
2335 #endif
2336 #ifdef TARGET_DOUBLE_FORMAT
2337   fprintf_unfiltered (file,
2338                       "gdbarch_dump: TARGET_DOUBLE_FORMAT # %s\n",
2339                       XSTRING (TARGET_DOUBLE_FORMAT));
2340   fprintf_unfiltered (file,
2341                       "gdbarch_dump: TARGET_DOUBLE_FORMAT = %s\n",
2342                       (TARGET_DOUBLE_FORMAT)->name);
2343 #endif
2344 #ifdef TARGET_FLOAT_BIT
2345   fprintf_unfiltered (file,
2346                       "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
2347                       XSTRING (TARGET_FLOAT_BIT));
2348   fprintf_unfiltered (file,
2349                       "gdbarch_dump: TARGET_FLOAT_BIT = %d\n",
2350                       TARGET_FLOAT_BIT);
2351 #endif
2352 #ifdef TARGET_FLOAT_FORMAT
2353   fprintf_unfiltered (file,
2354                       "gdbarch_dump: TARGET_FLOAT_FORMAT # %s\n",
2355                       XSTRING (TARGET_FLOAT_FORMAT));
2356   fprintf_unfiltered (file,
2357                       "gdbarch_dump: TARGET_FLOAT_FORMAT = %s\n",
2358                       (TARGET_FLOAT_FORMAT)->name);
2359 #endif
2360 #ifdef TARGET_INT_BIT
2361   fprintf_unfiltered (file,
2362                       "gdbarch_dump: TARGET_INT_BIT # %s\n",
2363                       XSTRING (TARGET_INT_BIT));
2364   fprintf_unfiltered (file,
2365                       "gdbarch_dump: TARGET_INT_BIT = %d\n",
2366                       TARGET_INT_BIT);
2367 #endif
2368 #ifdef TARGET_LONG_BIT
2369   fprintf_unfiltered (file,
2370                       "gdbarch_dump: TARGET_LONG_BIT # %s\n",
2371                       XSTRING (TARGET_LONG_BIT));
2372   fprintf_unfiltered (file,
2373                       "gdbarch_dump: TARGET_LONG_BIT = %d\n",
2374                       TARGET_LONG_BIT);
2375 #endif
2376 #ifdef TARGET_LONG_DOUBLE_BIT
2377   fprintf_unfiltered (file,
2378                       "gdbarch_dump: TARGET_LONG_DOUBLE_BIT # %s\n",
2379                       XSTRING (TARGET_LONG_DOUBLE_BIT));
2380   fprintf_unfiltered (file,
2381                       "gdbarch_dump: TARGET_LONG_DOUBLE_BIT = %d\n",
2382                       TARGET_LONG_DOUBLE_BIT);
2383 #endif
2384 #ifdef TARGET_LONG_DOUBLE_FORMAT
2385   fprintf_unfiltered (file,
2386                       "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # %s\n",
2387                       XSTRING (TARGET_LONG_DOUBLE_FORMAT));
2388   fprintf_unfiltered (file,
2389                       "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT = %s\n",
2390                       (TARGET_LONG_DOUBLE_FORMAT)->name);
2391 #endif
2392 #ifdef TARGET_LONG_LONG_BIT
2393   fprintf_unfiltered (file,
2394                       "gdbarch_dump: TARGET_LONG_LONG_BIT # %s\n",
2395                       XSTRING (TARGET_LONG_LONG_BIT));
2396   fprintf_unfiltered (file,
2397                       "gdbarch_dump: TARGET_LONG_LONG_BIT = %d\n",
2398                       TARGET_LONG_LONG_BIT);
2399 #endif
2400 #ifdef TARGET_OSABI
2401   fprintf_unfiltered (file,
2402                       "gdbarch_dump: TARGET_OSABI # %s\n",
2403                       XSTRING (TARGET_OSABI));
2404   fprintf_unfiltered (file,
2405                       "gdbarch_dump: TARGET_OSABI = %ld\n",
2406                       (long) TARGET_OSABI);
2407 #endif
2408 #ifdef TARGET_PRINT_INSN
2409   fprintf_unfiltered (file,
2410                       "gdbarch_dump: %s # %s\n",
2411                       "TARGET_PRINT_INSN(vma, info)",
2412                       XSTRING (TARGET_PRINT_INSN (vma, info)));
2413   fprintf_unfiltered (file,
2414                       "gdbarch_dump: TARGET_PRINT_INSN = <0x%08lx>\n",
2415                       (long) current_gdbarch->print_insn
2416                       /*TARGET_PRINT_INSN ()*/);
2417 #endif
2418 #ifdef TARGET_PTR_BIT
2419   fprintf_unfiltered (file,
2420                       "gdbarch_dump: TARGET_PTR_BIT # %s\n",
2421                       XSTRING (TARGET_PTR_BIT));
2422   fprintf_unfiltered (file,
2423                       "gdbarch_dump: TARGET_PTR_BIT = %d\n",
2424                       TARGET_PTR_BIT);
2425 #endif
2426 #ifdef TARGET_READ_PC_P
2427   fprintf_unfiltered (file,
2428                       "gdbarch_dump: %s # %s\n",
2429                       "TARGET_READ_PC_P()",
2430                       XSTRING (TARGET_READ_PC_P ()));
2431   fprintf_unfiltered (file,
2432                       "gdbarch_dump: TARGET_READ_PC_P() = %d\n",
2433                       TARGET_READ_PC_P ());
2434 #endif
2435 #ifdef TARGET_READ_PC
2436   fprintf_unfiltered (file,
2437                       "gdbarch_dump: %s # %s\n",
2438                       "TARGET_READ_PC(ptid)",
2439                       XSTRING (TARGET_READ_PC (ptid)));
2440   fprintf_unfiltered (file,
2441                       "gdbarch_dump: TARGET_READ_PC = <0x%08lx>\n",
2442                       (long) current_gdbarch->read_pc
2443                       /*TARGET_READ_PC ()*/);
2444 #endif
2445 #ifdef TARGET_READ_SP_P
2446   fprintf_unfiltered (file,
2447                       "gdbarch_dump: %s # %s\n",
2448                       "TARGET_READ_SP_P()",
2449                       XSTRING (TARGET_READ_SP_P ()));
2450   fprintf_unfiltered (file,
2451                       "gdbarch_dump: TARGET_READ_SP_P() = %d\n",
2452                       TARGET_READ_SP_P ());
2453 #endif
2454 #ifdef TARGET_READ_SP
2455   fprintf_unfiltered (file,
2456                       "gdbarch_dump: %s # %s\n",
2457                       "TARGET_READ_SP()",
2458                       XSTRING (TARGET_READ_SP ()));
2459   fprintf_unfiltered (file,
2460                       "gdbarch_dump: TARGET_READ_SP = <0x%08lx>\n",
2461                       (long) current_gdbarch->read_sp
2462                       /*TARGET_READ_SP ()*/);
2463 #endif
2464 #ifdef TARGET_SHORT_BIT
2465   fprintf_unfiltered (file,
2466                       "gdbarch_dump: TARGET_SHORT_BIT # %s\n",
2467                       XSTRING (TARGET_SHORT_BIT));
2468   fprintf_unfiltered (file,
2469                       "gdbarch_dump: TARGET_SHORT_BIT = %d\n",
2470                       TARGET_SHORT_BIT);
2471 #endif
2472 #ifdef TARGET_VIRTUAL_FRAME_POINTER
2473   fprintf_unfiltered (file,
2474                       "gdbarch_dump: %s # %s\n",
2475                       "TARGET_VIRTUAL_FRAME_POINTER(pc, frame_regnum, frame_offset)",
2476                       XSTRING (TARGET_VIRTUAL_FRAME_POINTER (pc, frame_regnum, frame_offset)));
2477   fprintf_unfiltered (file,
2478                       "gdbarch_dump: TARGET_VIRTUAL_FRAME_POINTER = <0x%08lx>\n",
2479                       (long) current_gdbarch->virtual_frame_pointer
2480                       /*TARGET_VIRTUAL_FRAME_POINTER ()*/);
2481 #endif
2482 #ifdef TARGET_WRITE_PC
2483   fprintf_unfiltered (file,
2484                       "gdbarch_dump: %s # %s\n",
2485                       "TARGET_WRITE_PC(val, ptid)",
2486                       XSTRING (TARGET_WRITE_PC (val, ptid)));
2487   fprintf_unfiltered (file,
2488                       "gdbarch_dump: TARGET_WRITE_PC = <0x%08lx>\n",
2489                       (long) current_gdbarch->write_pc
2490                       /*TARGET_WRITE_PC ()*/);
2491 #endif
2492   fprintf_unfiltered (file,
2493                       "gdbarch_dump: gdbarch_unwind_dummy_id_p() = %d\n",
2494                       gdbarch_unwind_dummy_id_p (current_gdbarch));
2495   fprintf_unfiltered (file,
2496                       "gdbarch_dump: unwind_dummy_id = 0x%08lx\n",
2497                       (long) current_gdbarch->unwind_dummy_id);
2498   fprintf_unfiltered (file,
2499                       "gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
2500                       gdbarch_unwind_pc_p (current_gdbarch));
2501   fprintf_unfiltered (file,
2502                       "gdbarch_dump: unwind_pc = 0x%08lx\n",
2503                       (long) current_gdbarch->unwind_pc);
2504   fprintf_unfiltered (file,
2505                       "gdbarch_dump: gdbarch_unwind_sp_p() = %d\n",
2506                       gdbarch_unwind_sp_p (current_gdbarch));
2507   fprintf_unfiltered (file,
2508                       "gdbarch_dump: unwind_sp = 0x%08lx\n",
2509                       (long) current_gdbarch->unwind_sp);
2510 #ifdef USE_STRUCT_CONVENTION
2511   fprintf_unfiltered (file,
2512                       "gdbarch_dump: %s # %s\n",
2513                       "USE_STRUCT_CONVENTION(gcc_p, value_type)",
2514                       XSTRING (USE_STRUCT_CONVENTION (gcc_p, value_type)));
2515   fprintf_unfiltered (file,
2516                       "gdbarch_dump: USE_STRUCT_CONVENTION = <0x%08lx>\n",
2517                       (long) current_gdbarch->use_struct_convention
2518                       /*USE_STRUCT_CONVENTION ()*/);
2519 #endif
2520 #ifdef VALUE_TO_REGISTER
2521   fprintf_unfiltered (file,
2522                       "gdbarch_dump: %s # %s\n",
2523                       "VALUE_TO_REGISTER(frame, regnum, type, buf)",
2524                       XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf)));
2525   fprintf_unfiltered (file,
2526                       "gdbarch_dump: VALUE_TO_REGISTER = <0x%08lx>\n",
2527                       (long) current_gdbarch->value_to_register
2528                       /*VALUE_TO_REGISTER ()*/);
2529 #endif
2530   if (current_gdbarch->dump_tdep != NULL)
2531     current_gdbarch->dump_tdep (current_gdbarch, file);
2532 }
2533
2534 struct gdbarch_tdep *
2535 gdbarch_tdep (struct gdbarch *gdbarch)
2536 {
2537   if (gdbarch_debug >= 2)
2538     fprintf_unfiltered (gdb_stdlog, "gdbarch_tdep called\n");
2539   return gdbarch->tdep;
2540 }
2541
2542
2543 const struct bfd_arch_info *
2544 gdbarch_bfd_arch_info (struct gdbarch *gdbarch)
2545 {
2546   gdb_assert (gdbarch != NULL);
2547   if (gdbarch_debug >= 2)
2548     fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_arch_info called\n");
2549   return gdbarch->bfd_arch_info;
2550 }
2551
2552 int
2553 gdbarch_byte_order (struct gdbarch *gdbarch)
2554 {
2555   gdb_assert (gdbarch != NULL);
2556   if (gdbarch_debug >= 2)
2557     fprintf_unfiltered (gdb_stdlog, "gdbarch_byte_order called\n");
2558   return gdbarch->byte_order;
2559 }
2560
2561 enum gdb_osabi
2562 gdbarch_osabi (struct gdbarch *gdbarch)
2563 {
2564   gdb_assert (gdbarch != NULL);
2565   if (gdbarch_debug >= 2)
2566     fprintf_unfiltered (gdb_stdlog, "gdbarch_osabi called\n");
2567   return gdbarch->osabi;
2568 }
2569
2570 int
2571 gdbarch_short_bit (struct gdbarch *gdbarch)
2572 {
2573   gdb_assert (gdbarch != NULL);
2574   /* Skip verify of short_bit, invalid_p == 0 */
2575   if (gdbarch_debug >= 2)
2576     fprintf_unfiltered (gdb_stdlog, "gdbarch_short_bit called\n");
2577   return gdbarch->short_bit;
2578 }
2579
2580 void
2581 set_gdbarch_short_bit (struct gdbarch *gdbarch,
2582                        int short_bit)
2583 {
2584   gdbarch->short_bit = short_bit;
2585 }
2586
2587 int
2588 gdbarch_int_bit (struct gdbarch *gdbarch)
2589 {
2590   gdb_assert (gdbarch != NULL);
2591   /* Skip verify of int_bit, invalid_p == 0 */
2592   if (gdbarch_debug >= 2)
2593     fprintf_unfiltered (gdb_stdlog, "gdbarch_int_bit called\n");
2594   return gdbarch->int_bit;
2595 }
2596
2597 void
2598 set_gdbarch_int_bit (struct gdbarch *gdbarch,
2599                      int int_bit)
2600 {
2601   gdbarch->int_bit = int_bit;
2602 }
2603
2604 int
2605 gdbarch_long_bit (struct gdbarch *gdbarch)
2606 {
2607   gdb_assert (gdbarch != NULL);
2608   /* Skip verify of long_bit, invalid_p == 0 */
2609   if (gdbarch_debug >= 2)
2610     fprintf_unfiltered (gdb_stdlog, "gdbarch_long_bit called\n");
2611   return gdbarch->long_bit;
2612 }
2613
2614 void
2615 set_gdbarch_long_bit (struct gdbarch *gdbarch,
2616                       int long_bit)
2617 {
2618   gdbarch->long_bit = long_bit;
2619 }
2620
2621 int
2622 gdbarch_long_long_bit (struct gdbarch *gdbarch)
2623 {
2624   gdb_assert (gdbarch != NULL);
2625   /* Skip verify of long_long_bit, invalid_p == 0 */
2626   if (gdbarch_debug >= 2)
2627     fprintf_unfiltered (gdb_stdlog, "gdbarch_long_long_bit called\n");
2628   return gdbarch->long_long_bit;
2629 }
2630
2631 void
2632 set_gdbarch_long_long_bit (struct gdbarch *gdbarch,
2633                            int long_long_bit)
2634 {
2635   gdbarch->long_long_bit = long_long_bit;
2636 }
2637
2638 int
2639 gdbarch_float_bit (struct gdbarch *gdbarch)
2640 {
2641   gdb_assert (gdbarch != NULL);
2642   /* Skip verify of float_bit, invalid_p == 0 */
2643   if (gdbarch_debug >= 2)
2644     fprintf_unfiltered (gdb_stdlog, "gdbarch_float_bit called\n");
2645   return gdbarch->float_bit;
2646 }
2647
2648 void
2649 set_gdbarch_float_bit (struct gdbarch *gdbarch,
2650                        int float_bit)
2651 {
2652   gdbarch->float_bit = float_bit;
2653 }
2654
2655 int
2656 gdbarch_double_bit (struct gdbarch *gdbarch)
2657 {
2658   gdb_assert (gdbarch != NULL);
2659   /* Skip verify of double_bit, invalid_p == 0 */
2660   if (gdbarch_debug >= 2)
2661     fprintf_unfiltered (gdb_stdlog, "gdbarch_double_bit called\n");
2662   return gdbarch->double_bit;
2663 }
2664
2665 void
2666 set_gdbarch_double_bit (struct gdbarch *gdbarch,
2667                         int double_bit)
2668 {
2669   gdbarch->double_bit = double_bit;
2670 }
2671
2672 int
2673 gdbarch_long_double_bit (struct gdbarch *gdbarch)
2674 {
2675   gdb_assert (gdbarch != NULL);
2676   /* Skip verify of long_double_bit, invalid_p == 0 */
2677   if (gdbarch_debug >= 2)
2678     fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_bit called\n");
2679   return gdbarch->long_double_bit;
2680 }
2681
2682 void
2683 set_gdbarch_long_double_bit (struct gdbarch *gdbarch,
2684                              int long_double_bit)
2685 {
2686   gdbarch->long_double_bit = long_double_bit;
2687 }
2688
2689 int
2690 gdbarch_ptr_bit (struct gdbarch *gdbarch)
2691 {
2692   gdb_assert (gdbarch != NULL);
2693   /* Skip verify of ptr_bit, invalid_p == 0 */
2694   if (gdbarch_debug >= 2)
2695     fprintf_unfiltered (gdb_stdlog, "gdbarch_ptr_bit called\n");
2696   return gdbarch->ptr_bit;
2697 }
2698
2699 void
2700 set_gdbarch_ptr_bit (struct gdbarch *gdbarch,
2701                      int ptr_bit)
2702 {
2703   gdbarch->ptr_bit = ptr_bit;
2704 }
2705
2706 int
2707 gdbarch_addr_bit (struct gdbarch *gdbarch)
2708 {
2709   gdb_assert (gdbarch != NULL);
2710   /* Check variable changed from pre-default.  */
2711   gdb_assert (gdbarch->addr_bit != 0);
2712   if (gdbarch_debug >= 2)
2713     fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bit called\n");
2714   return gdbarch->addr_bit;
2715 }
2716
2717 void
2718 set_gdbarch_addr_bit (struct gdbarch *gdbarch,
2719                       int addr_bit)
2720 {
2721   gdbarch->addr_bit = addr_bit;
2722 }
2723
2724 int
2725 gdbarch_bfd_vma_bit (struct gdbarch *gdbarch)
2726 {
2727   gdb_assert (gdbarch != NULL);
2728   /* Skip verify of bfd_vma_bit, invalid_p == 0 */
2729   if (gdbarch_debug >= 2)
2730     fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_vma_bit called\n");
2731   return gdbarch->bfd_vma_bit;
2732 }
2733
2734 void
2735 set_gdbarch_bfd_vma_bit (struct gdbarch *gdbarch,
2736                          int bfd_vma_bit)
2737 {
2738   gdbarch->bfd_vma_bit = bfd_vma_bit;
2739 }
2740
2741 int
2742 gdbarch_char_signed (struct gdbarch *gdbarch)
2743 {
2744   gdb_assert (gdbarch != NULL);
2745   /* Check variable changed from pre-default.  */
2746   gdb_assert (gdbarch->char_signed != -1);
2747   if (gdbarch_debug >= 2)
2748     fprintf_unfiltered (gdb_stdlog, "gdbarch_char_signed called\n");
2749   return gdbarch->char_signed;
2750 }
2751
2752 void
2753 set_gdbarch_char_signed (struct gdbarch *gdbarch,
2754                          int char_signed)
2755 {
2756   gdbarch->char_signed = char_signed;
2757 }
2758
2759 int
2760 gdbarch_read_pc_p (struct gdbarch *gdbarch)
2761 {
2762   gdb_assert (gdbarch != NULL);
2763   return gdbarch->read_pc != NULL;
2764 }
2765
2766 CORE_ADDR
2767 gdbarch_read_pc (struct gdbarch *gdbarch, ptid_t ptid)
2768 {
2769   gdb_assert (gdbarch != NULL);
2770   gdb_assert (gdbarch->read_pc != NULL);
2771   if (gdbarch_debug >= 2)
2772     fprintf_unfiltered (gdb_stdlog, "gdbarch_read_pc called\n");
2773   return gdbarch->read_pc (ptid);
2774 }
2775
2776 void
2777 set_gdbarch_read_pc (struct gdbarch *gdbarch,
2778                      gdbarch_read_pc_ftype read_pc)
2779 {
2780   gdbarch->read_pc = read_pc;
2781 }
2782
2783 void
2784 gdbarch_write_pc (struct gdbarch *gdbarch, CORE_ADDR val, ptid_t ptid)
2785 {
2786   gdb_assert (gdbarch != NULL);
2787   gdb_assert (gdbarch->write_pc != NULL);
2788   if (gdbarch_debug >= 2)
2789     fprintf_unfiltered (gdb_stdlog, "gdbarch_write_pc called\n");
2790   gdbarch->write_pc (val, ptid);
2791 }
2792
2793 void
2794 set_gdbarch_write_pc (struct gdbarch *gdbarch,
2795                       gdbarch_write_pc_ftype write_pc)
2796 {
2797   gdbarch->write_pc = write_pc;
2798 }
2799
2800 int
2801 gdbarch_read_sp_p (struct gdbarch *gdbarch)
2802 {
2803   gdb_assert (gdbarch != NULL);
2804   return gdbarch->read_sp != NULL;
2805 }
2806
2807 CORE_ADDR
2808 gdbarch_read_sp (struct gdbarch *gdbarch)
2809 {
2810   gdb_assert (gdbarch != NULL);
2811   gdb_assert (gdbarch->read_sp != NULL);
2812   if (gdbarch_debug >= 2)
2813     fprintf_unfiltered (gdb_stdlog, "gdbarch_read_sp called\n");
2814   return gdbarch->read_sp ();
2815 }
2816
2817 void
2818 set_gdbarch_read_sp (struct gdbarch *gdbarch,
2819                      gdbarch_read_sp_ftype read_sp)
2820 {
2821   gdbarch->read_sp = read_sp;
2822 }
2823
2824 void
2825 gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset)
2826 {
2827   gdb_assert (gdbarch != NULL);
2828   gdb_assert (gdbarch->virtual_frame_pointer != NULL);
2829   if (gdbarch_debug >= 2)
2830     fprintf_unfiltered (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n");
2831   gdbarch->virtual_frame_pointer (pc, frame_regnum, frame_offset);
2832 }
2833
2834 void
2835 set_gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch,
2836                                    gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer)
2837 {
2838   gdbarch->virtual_frame_pointer = virtual_frame_pointer;
2839 }
2840
2841 int
2842 gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch)
2843 {
2844   gdb_assert (gdbarch != NULL);
2845   return gdbarch->pseudo_register_read != NULL;
2846 }
2847
2848 void
2849 gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf)
2850 {
2851   gdb_assert (gdbarch != NULL);
2852   gdb_assert (gdbarch->pseudo_register_read != NULL);
2853   if (gdbarch_debug >= 2)
2854     fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_read called\n");
2855   gdbarch->pseudo_register_read (gdbarch, regcache, cookednum, buf);
2856 }
2857
2858 void
2859 set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch,
2860                                   gdbarch_pseudo_register_read_ftype pseudo_register_read)
2861 {
2862   gdbarch->pseudo_register_read = pseudo_register_read;
2863 }
2864
2865 int
2866 gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
2867 {
2868   gdb_assert (gdbarch != NULL);
2869   return gdbarch->pseudo_register_write != NULL;
2870 }
2871
2872 void
2873 gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf)
2874 {
2875   gdb_assert (gdbarch != NULL);
2876   gdb_assert (gdbarch->pseudo_register_write != NULL);
2877   if (gdbarch_debug >= 2)
2878     fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_write called\n");
2879   gdbarch->pseudo_register_write (gdbarch, regcache, cookednum, buf);
2880 }
2881
2882 void
2883 set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch,
2884                                    gdbarch_pseudo_register_write_ftype pseudo_register_write)
2885 {
2886   gdbarch->pseudo_register_write = pseudo_register_write;
2887 }
2888
2889 int
2890 gdbarch_num_regs (struct gdbarch *gdbarch)
2891 {
2892   gdb_assert (gdbarch != NULL);
2893   /* Check variable changed from pre-default.  */
2894   gdb_assert (gdbarch->num_regs != -1);
2895   if (gdbarch_debug >= 2)
2896     fprintf_unfiltered (gdb_stdlog, "gdbarch_num_regs called\n");
2897   return gdbarch->num_regs;
2898 }
2899
2900 void
2901 set_gdbarch_num_regs (struct gdbarch *gdbarch,
2902                       int num_regs)
2903 {
2904   gdbarch->num_regs = num_regs;
2905 }
2906
2907 int
2908 gdbarch_num_pseudo_regs (struct gdbarch *gdbarch)
2909 {
2910   gdb_assert (gdbarch != NULL);
2911   /* Skip verify of num_pseudo_regs, invalid_p == 0 */
2912   if (gdbarch_debug >= 2)
2913     fprintf_unfiltered (gdb_stdlog, "gdbarch_num_pseudo_regs called\n");
2914   return gdbarch->num_pseudo_regs;
2915 }
2916
2917 void
2918 set_gdbarch_num_pseudo_regs (struct gdbarch *gdbarch,
2919                              int num_pseudo_regs)
2920 {
2921   gdbarch->num_pseudo_regs = num_pseudo_regs;
2922 }
2923
2924 int
2925 gdbarch_sp_regnum (struct gdbarch *gdbarch)
2926 {
2927   gdb_assert (gdbarch != NULL);
2928   /* Skip verify of sp_regnum, invalid_p == 0 */
2929   if (gdbarch_debug >= 2)
2930     fprintf_unfiltered (gdb_stdlog, "gdbarch_sp_regnum called\n");
2931   return gdbarch->sp_regnum;
2932 }
2933
2934 void
2935 set_gdbarch_sp_regnum (struct gdbarch *gdbarch,
2936                        int sp_regnum)
2937 {
2938   gdbarch->sp_regnum = sp_regnum;
2939 }
2940
2941 int
2942 gdbarch_pc_regnum (struct gdbarch *gdbarch)
2943 {
2944   gdb_assert (gdbarch != NULL);
2945   /* Skip verify of pc_regnum, invalid_p == 0 */
2946   if (gdbarch_debug >= 2)
2947     fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_regnum called\n");
2948   return gdbarch->pc_regnum;
2949 }
2950
2951 void
2952 set_gdbarch_pc_regnum (struct gdbarch *gdbarch,
2953                        int pc_regnum)
2954 {
2955   gdbarch->pc_regnum = pc_regnum;
2956 }
2957
2958 int
2959 gdbarch_ps_regnum (struct gdbarch *gdbarch)
2960 {
2961   gdb_assert (gdbarch != NULL);
2962   /* Skip verify of ps_regnum, invalid_p == 0 */
2963   if (gdbarch_debug >= 2)
2964     fprintf_unfiltered (gdb_stdlog, "gdbarch_ps_regnum called\n");
2965   return gdbarch->ps_regnum;
2966 }
2967
2968 void
2969 set_gdbarch_ps_regnum (struct gdbarch *gdbarch,
2970                        int ps_regnum)
2971 {
2972   gdbarch->ps_regnum = ps_regnum;
2973 }
2974
2975 int
2976 gdbarch_fp0_regnum (struct gdbarch *gdbarch)
2977 {
2978   gdb_assert (gdbarch != NULL);
2979   /* Skip verify of fp0_regnum, invalid_p == 0 */
2980   if (gdbarch_debug >= 2)
2981     fprintf_unfiltered (gdb_stdlog, "gdbarch_fp0_regnum called\n");
2982   return gdbarch->fp0_regnum;
2983 }
2984
2985 void
2986 set_gdbarch_fp0_regnum (struct gdbarch *gdbarch,
2987                         int fp0_regnum)
2988 {
2989   gdbarch->fp0_regnum = fp0_regnum;
2990 }
2991
2992 int
2993 gdbarch_deprecated_npc_regnum (struct gdbarch *gdbarch)
2994 {
2995   gdb_assert (gdbarch != NULL);
2996   /* Skip verify of deprecated_npc_regnum, invalid_p == 0 */
2997   if (gdbarch_debug >= 2)
2998     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_npc_regnum called\n");
2999   return gdbarch->deprecated_npc_regnum;
3000 }
3001
3002 void
3003 set_gdbarch_deprecated_npc_regnum (struct gdbarch *gdbarch,
3004                                    int deprecated_npc_regnum)
3005 {
3006   gdbarch->deprecated_npc_regnum = deprecated_npc_regnum;
3007 }
3008
3009 int
3010 gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr)
3011 {
3012   gdb_assert (gdbarch != NULL);
3013   gdb_assert (gdbarch->stab_reg_to_regnum != NULL);
3014   if (gdbarch_debug >= 2)
3015     fprintf_unfiltered (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n");
3016   return gdbarch->stab_reg_to_regnum (stab_regnr);
3017 }
3018
3019 void
3020 set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch,
3021                                 gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum)
3022 {
3023   gdbarch->stab_reg_to_regnum = stab_reg_to_regnum;
3024 }
3025
3026 int
3027 gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr)
3028 {
3029   gdb_assert (gdbarch != NULL);
3030   gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL);
3031   if (gdbarch_debug >= 2)
3032     fprintf_unfiltered (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n");
3033   return gdbarch->ecoff_reg_to_regnum (ecoff_regnr);
3034 }
3035
3036 void
3037 set_gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch,
3038                                  gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum)
3039 {
3040   gdbarch->ecoff_reg_to_regnum = ecoff_reg_to_regnum;
3041 }
3042
3043 int
3044 gdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int dwarf_regnr)
3045 {
3046   gdb_assert (gdbarch != NULL);
3047   gdb_assert (gdbarch->dwarf_reg_to_regnum != NULL);
3048   if (gdbarch_debug >= 2)
3049     fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf_reg_to_regnum called\n");
3050   return gdbarch->dwarf_reg_to_regnum (dwarf_regnr);
3051 }
3052
3053 void
3054 set_gdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch,
3055                                  gdbarch_dwarf_reg_to_regnum_ftype dwarf_reg_to_regnum)
3056 {
3057   gdbarch->dwarf_reg_to_regnum = dwarf_reg_to_regnum;
3058 }
3059
3060 int
3061 gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, int sdb_regnr)
3062 {
3063   gdb_assert (gdbarch != NULL);
3064   gdb_assert (gdbarch->sdb_reg_to_regnum != NULL);
3065   if (gdbarch_debug >= 2)
3066     fprintf_unfiltered (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n");
3067   return gdbarch->sdb_reg_to_regnum (sdb_regnr);
3068 }
3069
3070 void
3071 set_gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch,
3072                                gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum)
3073 {
3074   gdbarch->sdb_reg_to_regnum = sdb_reg_to_regnum;
3075 }
3076
3077 int
3078 gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr)
3079 {
3080   gdb_assert (gdbarch != NULL);
3081   gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL);
3082   if (gdbarch_debug >= 2)
3083     fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n");
3084   return gdbarch->dwarf2_reg_to_regnum (dwarf2_regnr);
3085 }
3086
3087 void
3088 set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch,
3089                                   gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum)
3090 {
3091   gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum;
3092 }
3093
3094 const char *
3095 gdbarch_register_name (struct gdbarch *gdbarch, int regnr)
3096 {
3097   gdb_assert (gdbarch != NULL);
3098   gdb_assert (gdbarch->register_name != NULL);
3099   if (gdbarch_debug >= 2)
3100     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
3101   return gdbarch->register_name (regnr);
3102 }
3103
3104 void
3105 set_gdbarch_register_name (struct gdbarch *gdbarch,
3106                            gdbarch_register_name_ftype register_name)
3107 {
3108   gdbarch->register_name = register_name;
3109 }
3110
3111 int
3112 gdbarch_register_type_p (struct gdbarch *gdbarch)
3113 {
3114   gdb_assert (gdbarch != NULL);
3115   return gdbarch->register_type != NULL;
3116 }
3117
3118 struct type *
3119 gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
3120 {
3121   gdb_assert (gdbarch != NULL);
3122   gdb_assert (gdbarch->register_type != NULL);
3123   if (gdbarch_debug >= 2)
3124     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n");
3125   return gdbarch->register_type (gdbarch, reg_nr);
3126 }
3127
3128 void
3129 set_gdbarch_register_type (struct gdbarch *gdbarch,
3130                            gdbarch_register_type_ftype register_type)
3131 {
3132   gdbarch->register_type = register_type;
3133 }
3134
3135 int
3136 gdbarch_deprecated_register_virtual_type_p (struct gdbarch *gdbarch)
3137 {
3138   gdb_assert (gdbarch != NULL);
3139   return gdbarch->deprecated_register_virtual_type != NULL;
3140 }
3141
3142 struct type *
3143 gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, int reg_nr)
3144 {
3145   gdb_assert (gdbarch != NULL);
3146   gdb_assert (gdbarch->deprecated_register_virtual_type != NULL);
3147   if (gdbarch_debug >= 2)
3148     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_type called\n");
3149   return gdbarch->deprecated_register_virtual_type (reg_nr);
3150 }
3151
3152 void
3153 set_gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch,
3154                                               gdbarch_deprecated_register_virtual_type_ftype deprecated_register_virtual_type)
3155 {
3156   gdbarch->deprecated_register_virtual_type = deprecated_register_virtual_type;
3157 }
3158
3159 int
3160 gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch)
3161 {
3162   gdb_assert (gdbarch != NULL);
3163   if (gdbarch_debug >= 2)
3164     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_bytes called\n");
3165   return gdbarch->deprecated_register_bytes;
3166 }
3167
3168 void
3169 set_gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch,
3170                                        int deprecated_register_bytes)
3171 {
3172   gdbarch->deprecated_register_bytes = deprecated_register_bytes;
3173 }
3174
3175 int
3176 gdbarch_deprecated_register_byte_p (struct gdbarch *gdbarch)
3177 {
3178   gdb_assert (gdbarch != NULL);
3179   return gdbarch->deprecated_register_byte != generic_register_byte;
3180 }
3181
3182 int
3183 gdbarch_deprecated_register_byte (struct gdbarch *gdbarch, int reg_nr)
3184 {
3185   gdb_assert (gdbarch != NULL);
3186   gdb_assert (gdbarch->deprecated_register_byte != NULL);
3187   /* Do not check predicate: gdbarch->deprecated_register_byte != generic_register_byte, allow call.  */
3188   if (gdbarch_debug >= 2)
3189     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_byte called\n");
3190   return gdbarch->deprecated_register_byte (reg_nr);
3191 }
3192
3193 void
3194 set_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch,
3195                                       gdbarch_deprecated_register_byte_ftype deprecated_register_byte)
3196 {
3197   gdbarch->deprecated_register_byte = deprecated_register_byte;
3198 }
3199
3200 int
3201 gdbarch_deprecated_register_raw_size_p (struct gdbarch *gdbarch)
3202 {
3203   gdb_assert (gdbarch != NULL);
3204   return gdbarch->deprecated_register_raw_size != generic_register_size;
3205 }
3206
3207 int
3208 gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, int reg_nr)
3209 {
3210   gdb_assert (gdbarch != NULL);
3211   gdb_assert (gdbarch->deprecated_register_raw_size != NULL);
3212   /* Do not check predicate: gdbarch->deprecated_register_raw_size != generic_register_size, allow call.  */
3213   if (gdbarch_debug >= 2)
3214     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_raw_size called\n");
3215   return gdbarch->deprecated_register_raw_size (reg_nr);
3216 }
3217
3218 void
3219 set_gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch,
3220                                           gdbarch_deprecated_register_raw_size_ftype deprecated_register_raw_size)
3221 {
3222   gdbarch->deprecated_register_raw_size = deprecated_register_raw_size;
3223 }
3224
3225 int
3226 gdbarch_deprecated_register_virtual_size_p (struct gdbarch *gdbarch)
3227 {
3228   gdb_assert (gdbarch != NULL);
3229   return gdbarch->deprecated_register_virtual_size != generic_register_size;
3230 }
3231
3232 int
3233 gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, int reg_nr)
3234 {
3235   gdb_assert (gdbarch != NULL);
3236   gdb_assert (gdbarch->deprecated_register_virtual_size != NULL);
3237   /* Do not check predicate: gdbarch->deprecated_register_virtual_size != generic_register_size, allow call.  */
3238   if (gdbarch_debug >= 2)
3239     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_size called\n");
3240   return gdbarch->deprecated_register_virtual_size (reg_nr);
3241 }
3242
3243 void
3244 set_gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch,
3245                                               gdbarch_deprecated_register_virtual_size_ftype deprecated_register_virtual_size)
3246 {
3247   gdbarch->deprecated_register_virtual_size = deprecated_register_virtual_size;
3248 }
3249
3250 int
3251 gdbarch_deprecated_max_register_raw_size_p (struct gdbarch *gdbarch)
3252 {
3253   gdb_assert (gdbarch != NULL);
3254   return gdbarch->deprecated_max_register_raw_size != 0;
3255 }
3256
3257 int
3258 gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch)
3259 {
3260   gdb_assert (gdbarch != NULL);
3261   if (gdbarch_debug >= 2)
3262     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_raw_size called\n");
3263   return gdbarch->deprecated_max_register_raw_size;
3264 }
3265
3266 void
3267 set_gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch,
3268                                               int deprecated_max_register_raw_size)
3269 {
3270   gdbarch->deprecated_max_register_raw_size = deprecated_max_register_raw_size;
3271 }
3272
3273 int
3274 gdbarch_deprecated_max_register_virtual_size_p (struct gdbarch *gdbarch)
3275 {
3276   gdb_assert (gdbarch != NULL);
3277   return gdbarch->deprecated_max_register_virtual_size != 0;
3278 }
3279
3280 int
3281 gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch)
3282 {
3283   gdb_assert (gdbarch != NULL);
3284   if (gdbarch_debug >= 2)
3285     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_virtual_size called\n");
3286   return gdbarch->deprecated_max_register_virtual_size;
3287 }
3288
3289 void
3290 set_gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch,
3291                                                   int deprecated_max_register_virtual_size)
3292 {
3293   gdbarch->deprecated_max_register_virtual_size = deprecated_max_register_virtual_size;
3294 }
3295
3296 int
3297 gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch)
3298 {
3299   gdb_assert (gdbarch != NULL);
3300   return gdbarch->unwind_dummy_id != NULL;
3301 }
3302
3303 struct frame_id
3304 gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info)
3305 {
3306   gdb_assert (gdbarch != NULL);
3307   gdb_assert (gdbarch->unwind_dummy_id != NULL);
3308   if (gdbarch_debug >= 2)
3309     fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n");
3310   return gdbarch->unwind_dummy_id (gdbarch, info);
3311 }
3312
3313 void
3314 set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
3315                              gdbarch_unwind_dummy_id_ftype unwind_dummy_id)
3316 {
3317   gdbarch->unwind_dummy_id = unwind_dummy_id;
3318 }
3319
3320 int
3321 gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
3322 {
3323   gdb_assert (gdbarch != NULL);
3324   return gdbarch->deprecated_save_dummy_frame_tos != NULL;
3325 }
3326
3327 void
3328 gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
3329 {
3330   gdb_assert (gdbarch != NULL);
3331   gdb_assert (gdbarch->deprecated_save_dummy_frame_tos != NULL);
3332   if (gdbarch_debug >= 2)
3333     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n");
3334   gdbarch->deprecated_save_dummy_frame_tos (sp);
3335 }
3336
3337 void
3338 set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch,
3339                                              gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos)
3340 {
3341   gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos;
3342 }
3343
3344 int
3345 gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
3346 {
3347   gdb_assert (gdbarch != NULL);
3348   /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
3349   if (gdbarch_debug >= 2)
3350     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
3351   return gdbarch->deprecated_fp_regnum;
3352 }
3353
3354 void
3355 set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
3356                                   int deprecated_fp_regnum)
3357 {
3358   gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
3359 }
3360
3361 int
3362 gdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch)
3363 {
3364   gdb_assert (gdbarch != NULL);
3365   return gdbarch->deprecated_target_read_fp != NULL;
3366 }
3367
3368 CORE_ADDR
3369 gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch)
3370 {
3371   gdb_assert (gdbarch != NULL);
3372   gdb_assert (gdbarch->deprecated_target_read_fp != NULL);
3373   if (gdbarch_debug >= 2)
3374     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n");
3375   return gdbarch->deprecated_target_read_fp ();
3376 }
3377
3378 void
3379 set_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch,
3380                                        gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp)
3381 {
3382   gdbarch->deprecated_target_read_fp = deprecated_target_read_fp;
3383 }
3384
3385 int
3386 gdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
3387 {
3388   gdb_assert (gdbarch != NULL);
3389   return gdbarch->push_dummy_call != NULL;
3390 }
3391
3392 CORE_ADDR
3393 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)
3394 {
3395   gdb_assert (gdbarch != NULL);
3396   gdb_assert (gdbarch->push_dummy_call != NULL);
3397   if (gdbarch_debug >= 2)
3398     fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n");
3399   return gdbarch->push_dummy_call (gdbarch, func_addr, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr);
3400 }
3401
3402 void
3403 set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
3404                              gdbarch_push_dummy_call_ftype push_dummy_call)
3405 {
3406   gdbarch->push_dummy_call = push_dummy_call;
3407 }
3408
3409 int
3410 gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch)
3411 {
3412   gdb_assert (gdbarch != NULL);
3413   return gdbarch->deprecated_push_arguments != NULL;
3414 }
3415
3416 CORE_ADDR
3417 gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
3418 {
3419   gdb_assert (gdbarch != NULL);
3420   gdb_assert (gdbarch->deprecated_push_arguments != NULL);
3421   if (gdbarch_debug >= 2)
3422     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n");
3423   return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr);
3424 }
3425
3426 void
3427 set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch,
3428                                        gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments)
3429 {
3430   gdbarch->deprecated_push_arguments = deprecated_push_arguments;
3431 }
3432
3433 int
3434 gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch)
3435 {
3436   gdb_assert (gdbarch != NULL);
3437   /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */
3438   if (gdbarch_debug >= 2)
3439     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_use_generic_dummy_frames called\n");
3440   return gdbarch->deprecated_use_generic_dummy_frames;
3441 }
3442
3443 void
3444 set_gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch,
3445                                                  int deprecated_use_generic_dummy_frames)
3446 {
3447   gdbarch->deprecated_use_generic_dummy_frames = deprecated_use_generic_dummy_frames;
3448 }
3449
3450 int
3451 gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch)
3452 {
3453   gdb_assert (gdbarch != NULL);
3454   return gdbarch->deprecated_push_return_address != NULL;
3455 }
3456
3457 CORE_ADDR
3458 gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp)
3459 {
3460   gdb_assert (gdbarch != NULL);
3461   gdb_assert (gdbarch->deprecated_push_return_address != NULL);
3462   if (gdbarch_debug >= 2)
3463     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n");
3464   return gdbarch->deprecated_push_return_address (pc, sp);
3465 }
3466
3467 void
3468 set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch,
3469                                             gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address)
3470 {
3471   gdbarch->deprecated_push_return_address = deprecated_push_return_address;
3472 }
3473
3474 int
3475 gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch)
3476 {
3477   gdb_assert (gdbarch != NULL);
3478   return gdbarch->deprecated_dummy_write_sp != NULL;
3479 }
3480
3481 void
3482 gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val)
3483 {
3484   gdb_assert (gdbarch != NULL);
3485   gdb_assert (gdbarch->deprecated_dummy_write_sp != NULL);
3486   if (gdbarch_debug >= 2)
3487     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n");
3488   gdbarch->deprecated_dummy_write_sp (val);
3489 }
3490
3491 void
3492 set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch,
3493                                        gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp)
3494 {
3495   gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp;
3496 }
3497
3498 int
3499 gdbarch_deprecated_register_size (struct gdbarch *gdbarch)
3500 {
3501   gdb_assert (gdbarch != NULL);
3502   if (gdbarch_debug >= 2)
3503     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n");
3504   return gdbarch->deprecated_register_size;
3505 }
3506
3507 void
3508 set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch,
3509                                       int deprecated_register_size)
3510 {
3511   gdbarch->deprecated_register_size = deprecated_register_size;
3512 }
3513
3514 int
3515 gdbarch_call_dummy_location (struct gdbarch *gdbarch)
3516 {
3517   gdb_assert (gdbarch != NULL);
3518   /* Skip verify of call_dummy_location, invalid_p == 0 */
3519   if (gdbarch_debug >= 2)
3520     fprintf_unfiltered (gdb_stdlog, "gdbarch_call_dummy_location called\n");
3521   return gdbarch->call_dummy_location;
3522 }
3523
3524 void
3525 set_gdbarch_call_dummy_location (struct gdbarch *gdbarch,
3526                                  int call_dummy_location)
3527 {
3528   gdbarch->call_dummy_location = call_dummy_location;
3529 }
3530
3531 int
3532 gdbarch_deprecated_call_dummy_address_p (struct gdbarch *gdbarch)
3533 {
3534   gdb_assert (gdbarch != NULL);
3535   return gdbarch->deprecated_call_dummy_address != NULL;
3536 }
3537
3538 CORE_ADDR
3539 gdbarch_deprecated_call_dummy_address (struct gdbarch *gdbarch)
3540 {
3541   gdb_assert (gdbarch != NULL);
3542   gdb_assert (gdbarch->deprecated_call_dummy_address != NULL);
3543   if (gdbarch_debug >= 2)
3544     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_address called\n");
3545   return gdbarch->deprecated_call_dummy_address ();
3546 }
3547
3548 void
3549 set_gdbarch_deprecated_call_dummy_address (struct gdbarch *gdbarch,
3550                                            gdbarch_deprecated_call_dummy_address_ftype deprecated_call_dummy_address)
3551 {
3552   gdbarch->deprecated_call_dummy_address = deprecated_call_dummy_address;
3553 }
3554
3555 CORE_ADDR
3556 gdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch)
3557 {
3558   gdb_assert (gdbarch != NULL);
3559   if (gdbarch_debug >= 2)
3560     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_start_offset called\n");
3561   return gdbarch->deprecated_call_dummy_start_offset;
3562 }
3563
3564 void
3565 set_gdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch,
3566                                                 CORE_ADDR deprecated_call_dummy_start_offset)
3567 {
3568   gdbarch->deprecated_call_dummy_start_offset = deprecated_call_dummy_start_offset;
3569 }
3570
3571 CORE_ADDR
3572 gdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch)
3573 {
3574   gdb_assert (gdbarch != NULL);
3575   if (gdbarch_debug >= 2)
3576     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_breakpoint_offset called\n");
3577   return gdbarch->deprecated_call_dummy_breakpoint_offset;
3578 }
3579
3580 void
3581 set_gdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch,
3582                                                      CORE_ADDR deprecated_call_dummy_breakpoint_offset)
3583 {
3584   gdbarch->deprecated_call_dummy_breakpoint_offset = deprecated_call_dummy_breakpoint_offset;
3585 }
3586
3587 int
3588 gdbarch_deprecated_call_dummy_length (struct gdbarch *gdbarch)
3589 {
3590   gdb_assert (gdbarch != NULL);
3591   if (gdbarch_debug >= 2)
3592     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_length called\n");
3593   return gdbarch->deprecated_call_dummy_length;
3594 }
3595
3596 void
3597 set_gdbarch_deprecated_call_dummy_length (struct gdbarch *gdbarch,
3598                                           int deprecated_call_dummy_length)
3599 {
3600   gdbarch->deprecated_call_dummy_length = deprecated_call_dummy_length;
3601 }
3602
3603 LONGEST *
3604 gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch)
3605 {
3606   gdb_assert (gdbarch != NULL);
3607   /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
3608   if (gdbarch_debug >= 2)
3609     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_words called\n");
3610   return gdbarch->deprecated_call_dummy_words;
3611 }
3612
3613 void
3614 set_gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch,
3615                                          LONGEST * deprecated_call_dummy_words)
3616 {
3617   gdbarch->deprecated_call_dummy_words = deprecated_call_dummy_words;
3618 }
3619
3620 int
3621 gdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch)
3622 {
3623   gdb_assert (gdbarch != NULL);
3624   /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
3625   if (gdbarch_debug >= 2)
3626     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_sizeof_call_dummy_words called\n");
3627   return gdbarch->deprecated_sizeof_call_dummy_words;
3628 }
3629
3630 void
3631 set_gdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch,
3632                                                 int deprecated_sizeof_call_dummy_words)
3633 {
3634   gdbarch->deprecated_sizeof_call_dummy_words = deprecated_sizeof_call_dummy_words;
3635 }
3636
3637 int
3638 gdbarch_deprecated_call_dummy_stack_adjust_p (struct gdbarch *gdbarch)
3639 {
3640   gdb_assert (gdbarch != NULL);
3641   return gdbarch->deprecated_call_dummy_stack_adjust != 0;
3642 }
3643
3644 int
3645 gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch)
3646 {
3647   gdb_assert (gdbarch != NULL);
3648   if (gdbarch_debug >= 2)
3649     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_stack_adjust called\n");
3650   return gdbarch->deprecated_call_dummy_stack_adjust;
3651 }
3652
3653 void
3654 set_gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch,
3655                                                 int deprecated_call_dummy_stack_adjust)
3656 {
3657   gdbarch->deprecated_call_dummy_stack_adjust = deprecated_call_dummy_stack_adjust;
3658 }
3659
3660 int
3661 gdbarch_deprecated_fix_call_dummy_p (struct gdbarch *gdbarch)
3662 {
3663   gdb_assert (gdbarch != NULL);
3664   return gdbarch->deprecated_fix_call_dummy != NULL;
3665 }
3666
3667 void
3668 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)
3669 {
3670   gdb_assert (gdbarch != NULL);
3671   gdb_assert (gdbarch->deprecated_fix_call_dummy != NULL);
3672   if (gdbarch_debug >= 2)
3673     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fix_call_dummy called\n");
3674   gdbarch->deprecated_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p);
3675 }
3676
3677 void
3678 set_gdbarch_deprecated_fix_call_dummy (struct gdbarch *gdbarch,
3679                                        gdbarch_deprecated_fix_call_dummy_ftype deprecated_fix_call_dummy)
3680 {
3681   gdbarch->deprecated_fix_call_dummy = deprecated_fix_call_dummy;
3682 }
3683
3684 int
3685 gdbarch_push_dummy_code_p (struct gdbarch *gdbarch)
3686 {
3687   gdb_assert (gdbarch != NULL);
3688   return gdbarch->push_dummy_code != NULL;
3689 }
3690
3691 CORE_ADDR
3692 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)
3693 {
3694   gdb_assert (gdbarch != NULL);
3695   gdb_assert (gdbarch->push_dummy_code != NULL);
3696   if (gdbarch_debug >= 2)
3697     fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_code called\n");
3698   return gdbarch->push_dummy_code (gdbarch, sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr);
3699 }
3700
3701 void
3702 set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
3703                              gdbarch_push_dummy_code_ftype push_dummy_code)
3704 {
3705   gdbarch->push_dummy_code = push_dummy_code;
3706 }
3707
3708 int
3709 gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch)
3710 {
3711   gdb_assert (gdbarch != NULL);
3712   return gdbarch->deprecated_push_dummy_frame != NULL;
3713 }
3714
3715 void
3716 gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch)
3717 {
3718   gdb_assert (gdbarch != NULL);
3719   gdb_assert (gdbarch->deprecated_push_dummy_frame != NULL);
3720   if (gdbarch_debug >= 2)
3721     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n");
3722   gdbarch->deprecated_push_dummy_frame ();
3723 }
3724
3725 void
3726 set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch,
3727                                          gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame)
3728 {
3729   gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame;
3730 }
3731
3732 int
3733 gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch)
3734 {
3735   gdb_assert (gdbarch != NULL);
3736   /* Skip verify of deprecated_extra_stack_alignment_needed, invalid_p == 0 */
3737   if (gdbarch_debug >= 2)
3738     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extra_stack_alignment_needed called\n");
3739   return gdbarch->deprecated_extra_stack_alignment_needed;
3740 }
3741
3742 void
3743 set_gdbarch_deprecated_extra_stack_alignment_needed (struct gdbarch *gdbarch,
3744                                                      int deprecated_extra_stack_alignment_needed)
3745 {
3746   gdbarch->deprecated_extra_stack_alignment_needed = deprecated_extra_stack_alignment_needed;
3747 }
3748
3749 int
3750 gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch)
3751 {
3752   gdb_assert (gdbarch != NULL);
3753   return gdbarch->deprecated_do_registers_info != NULL;
3754 }
3755
3756 void
3757 gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs)
3758 {
3759   gdb_assert (gdbarch != NULL);
3760   gdb_assert (gdbarch->deprecated_do_registers_info != NULL);
3761   if (gdbarch_debug >= 2)
3762     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n");
3763   gdbarch->deprecated_do_registers_info (reg_nr, fpregs);
3764 }
3765
3766 void
3767 set_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch,
3768                                           gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info)
3769 {
3770   gdbarch->deprecated_do_registers_info = deprecated_do_registers_info;
3771 }
3772
3773 void
3774 gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
3775 {
3776   gdb_assert (gdbarch != NULL);
3777   gdb_assert (gdbarch->print_registers_info != NULL);
3778   if (gdbarch_debug >= 2)
3779     fprintf_unfiltered (gdb_stdlog, "gdbarch_print_registers_info called\n");
3780   gdbarch->print_registers_info (gdbarch, file, frame, regnum, all);
3781 }
3782
3783 void
3784 set_gdbarch_print_registers_info (struct gdbarch *gdbarch,
3785                                   gdbarch_print_registers_info_ftype print_registers_info)
3786 {
3787   gdbarch->print_registers_info = print_registers_info;
3788 }
3789
3790 int
3791 gdbarch_print_float_info_p (struct gdbarch *gdbarch)
3792 {
3793   gdb_assert (gdbarch != NULL);
3794   return gdbarch->print_float_info != NULL;
3795 }
3796
3797 void
3798 gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
3799 {
3800   gdb_assert (gdbarch != NULL);
3801   gdb_assert (gdbarch->print_float_info != NULL);
3802   if (gdbarch_debug >= 2)
3803     fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n");
3804   gdbarch->print_float_info (gdbarch, file, frame, args);
3805 }
3806
3807 void
3808 set_gdbarch_print_float_info (struct gdbarch *gdbarch,
3809                               gdbarch_print_float_info_ftype print_float_info)
3810 {
3811   gdbarch->print_float_info = print_float_info;
3812 }
3813
3814 int
3815 gdbarch_print_vector_info_p (struct gdbarch *gdbarch)
3816 {
3817   gdb_assert (gdbarch != NULL);
3818   return gdbarch->print_vector_info != NULL;
3819 }
3820
3821 void
3822 gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
3823 {
3824   gdb_assert (gdbarch != NULL);
3825   gdb_assert (gdbarch->print_vector_info != NULL);
3826   if (gdbarch_debug >= 2)
3827     fprintf_unfiltered (gdb_stdlog, "gdbarch_print_vector_info called\n");
3828   gdbarch->print_vector_info (gdbarch, file, frame, args);
3829 }
3830
3831 void
3832 set_gdbarch_print_vector_info (struct gdbarch *gdbarch,
3833                                gdbarch_print_vector_info_ftype print_vector_info)
3834 {
3835   gdbarch->print_vector_info = print_vector_info;
3836 }
3837
3838 int
3839 gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr)
3840 {
3841   gdb_assert (gdbarch != NULL);
3842   gdb_assert (gdbarch->register_sim_regno != NULL);
3843   if (gdbarch_debug >= 2)
3844     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n");
3845   return gdbarch->register_sim_regno (reg_nr);
3846 }
3847
3848 void
3849 set_gdbarch_register_sim_regno (struct gdbarch *gdbarch,
3850                                 gdbarch_register_sim_regno_ftype register_sim_regno)
3851 {
3852   gdbarch->register_sim_regno = register_sim_regno;
3853 }
3854
3855 int
3856 gdbarch_register_bytes_ok_p (struct gdbarch *gdbarch)
3857 {
3858   gdb_assert (gdbarch != NULL);
3859   return gdbarch->register_bytes_ok != NULL;
3860 }
3861
3862 int
3863 gdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes)
3864 {
3865   gdb_assert (gdbarch != NULL);
3866   gdb_assert (gdbarch->register_bytes_ok != NULL);
3867   if (gdbarch_debug >= 2)
3868     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n");
3869   return gdbarch->register_bytes_ok (nr_bytes);
3870 }
3871
3872 void
3873 set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch,
3874                                gdbarch_register_bytes_ok_ftype register_bytes_ok)
3875 {
3876   gdbarch->register_bytes_ok = register_bytes_ok;
3877 }
3878
3879 int
3880 gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum)
3881 {
3882   gdb_assert (gdbarch != NULL);
3883   gdb_assert (gdbarch->cannot_fetch_register != NULL);
3884   if (gdbarch_debug >= 2)
3885     fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n");
3886   return gdbarch->cannot_fetch_register (regnum);
3887 }
3888
3889 void
3890 set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch,
3891                                    gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
3892 {
3893   gdbarch->cannot_fetch_register = cannot_fetch_register;
3894 }
3895
3896 int
3897 gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum)
3898 {
3899   gdb_assert (gdbarch != NULL);
3900   gdb_assert (gdbarch->cannot_store_register != NULL);
3901   if (gdbarch_debug >= 2)
3902     fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n");
3903   return gdbarch->cannot_store_register (regnum);
3904 }
3905
3906 void
3907 set_gdbarch_cannot_store_register (struct gdbarch *gdbarch,
3908                                    gdbarch_cannot_store_register_ftype cannot_store_register)
3909 {
3910   gdbarch->cannot_store_register = cannot_store_register;
3911 }
3912
3913 int
3914 gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
3915 {
3916   gdb_assert (gdbarch != NULL);
3917   return gdbarch->get_longjmp_target != NULL;
3918 }
3919
3920 int
3921 gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc)
3922 {
3923   gdb_assert (gdbarch != NULL);
3924   gdb_assert (gdbarch->get_longjmp_target != NULL);
3925   if (gdbarch_debug >= 2)
3926     fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n");
3927   return gdbarch->get_longjmp_target (pc);
3928 }
3929
3930 void
3931 set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch,
3932                                 gdbarch_get_longjmp_target_ftype get_longjmp_target)
3933 {
3934   gdbarch->get_longjmp_target = get_longjmp_target;
3935 }
3936
3937 int
3938 gdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch)
3939 {
3940   gdb_assert (gdbarch != NULL);
3941   return gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy;
3942 }
3943
3944 int
3945 gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address)
3946 {
3947   gdb_assert (gdbarch != NULL);
3948   gdb_assert (gdbarch->deprecated_pc_in_call_dummy != NULL);
3949   /* Do not check predicate: gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy, allow call.  */
3950   if (gdbarch_debug >= 2)
3951     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n");
3952   return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address);
3953 }
3954
3955 void
3956 set_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch,
3957                                          gdbarch_deprecated_pc_in_call_dummy_ftype deprecated_pc_in_call_dummy)
3958 {
3959   gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy;
3960 }
3961
3962 int
3963 gdbarch_deprecated_init_frame_pc_first_p (struct gdbarch *gdbarch)
3964 {
3965   gdb_assert (gdbarch != NULL);
3966   return gdbarch->deprecated_init_frame_pc_first != NULL;
3967 }
3968
3969 CORE_ADDR
3970 gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
3971 {
3972   gdb_assert (gdbarch != NULL);
3973   gdb_assert (gdbarch->deprecated_init_frame_pc_first != NULL);
3974   if (gdbarch_debug >= 2)
3975     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc_first called\n");
3976   return gdbarch->deprecated_init_frame_pc_first (fromleaf, prev);
3977 }
3978
3979 void
3980 set_gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch,
3981                                             gdbarch_deprecated_init_frame_pc_first_ftype deprecated_init_frame_pc_first)
3982 {
3983   gdbarch->deprecated_init_frame_pc_first = deprecated_init_frame_pc_first;
3984 }
3985
3986 int
3987 gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
3988 {
3989   gdb_assert (gdbarch != NULL);
3990   return gdbarch->deprecated_init_frame_pc != NULL;
3991 }
3992
3993 CORE_ADDR
3994 gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
3995 {
3996   gdb_assert (gdbarch != NULL);
3997   gdb_assert (gdbarch->deprecated_init_frame_pc != NULL);
3998   if (gdbarch_debug >= 2)
3999     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
4000   return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
4001 }
4002
4003 void
4004 set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
4005                                       gdbarch_deprecated_init_frame_pc_ftype deprecated_init_frame_pc)
4006 {
4007   gdbarch->deprecated_init_frame_pc = deprecated_init_frame_pc;
4008 }
4009
4010 int
4011 gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch)
4012 {
4013   gdb_assert (gdbarch != NULL);
4014   if (gdbarch_debug >= 2)
4015     fprintf_unfiltered (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n");
4016   return gdbarch->believe_pcc_promotion;
4017 }
4018
4019 void
4020 set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch,
4021                                    int believe_pcc_promotion)
4022 {
4023   gdbarch->believe_pcc_promotion = believe_pcc_promotion;
4024 }
4025
4026 int
4027 gdbarch_believe_pcc_promotion_type (struct gdbarch *gdbarch)
4028 {
4029   gdb_assert (gdbarch != NULL);
4030   if (gdbarch_debug >= 2)
4031     fprintf_unfiltered (gdb_stdlog, "gdbarch_believe_pcc_promotion_type called\n");
4032   return gdbarch->believe_pcc_promotion_type;
4033 }
4034
4035 void
4036 set_gdbarch_believe_pcc_promotion_type (struct gdbarch *gdbarch,
4037                                         int believe_pcc_promotion_type)
4038 {
4039   gdbarch->believe_pcc_promotion_type = believe_pcc_promotion_type;
4040 }
4041
4042 int
4043 gdbarch_deprecated_get_saved_register_p (struct gdbarch *gdbarch)
4044 {
4045   gdb_assert (gdbarch != NULL);
4046   return gdbarch->deprecated_get_saved_register != NULL;
4047 }
4048
4049 void
4050 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)
4051 {
4052   gdb_assert (gdbarch != NULL);
4053   gdb_assert (gdbarch->deprecated_get_saved_register != NULL);
4054   if (gdbarch_debug >= 2)
4055     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_get_saved_register called\n");
4056   gdbarch->deprecated_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval);
4057 }
4058
4059 void
4060 set_gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch,
4061                                            gdbarch_deprecated_get_saved_register_ftype deprecated_get_saved_register)
4062 {
4063   gdbarch->deprecated_get_saved_register = deprecated_get_saved_register;
4064 }
4065
4066 int
4067 gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch, int nr)
4068 {
4069   gdb_assert (gdbarch != NULL);
4070   gdb_assert (gdbarch->deprecated_register_convertible != NULL);
4071   if (gdbarch_debug >= 2)
4072     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convertible called\n");
4073   return gdbarch->deprecated_register_convertible (nr);
4074 }
4075
4076 void
4077 set_gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch,
4078                                              gdbarch_deprecated_register_convertible_ftype deprecated_register_convertible)
4079 {
4080   gdbarch->deprecated_register_convertible = deprecated_register_convertible;
4081 }
4082
4083 void
4084 gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to)
4085 {
4086   gdb_assert (gdbarch != NULL);
4087   gdb_assert (gdbarch->deprecated_register_convert_to_virtual != NULL);
4088   if (gdbarch_debug >= 2)
4089     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_virtual called\n");
4090   gdbarch->deprecated_register_convert_to_virtual (regnum, type, from, to);
4091 }
4092
4093 void
4094 set_gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch,
4095                                                     gdbarch_deprecated_register_convert_to_virtual_ftype deprecated_register_convert_to_virtual)
4096 {
4097   gdbarch->deprecated_register_convert_to_virtual = deprecated_register_convert_to_virtual;
4098 }
4099
4100 void
4101 gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, const char *from, char *to)
4102 {
4103   gdb_assert (gdbarch != NULL);
4104   gdb_assert (gdbarch->deprecated_register_convert_to_raw != NULL);
4105   if (gdbarch_debug >= 2)
4106     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_raw called\n");
4107   gdbarch->deprecated_register_convert_to_raw (type, regnum, from, to);
4108 }
4109
4110 void
4111 set_gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch,
4112                                                 gdbarch_deprecated_register_convert_to_raw_ftype deprecated_register_convert_to_raw)
4113 {
4114   gdbarch->deprecated_register_convert_to_raw = deprecated_register_convert_to_raw;
4115 }
4116
4117 int
4118 gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
4119 {
4120   gdb_assert (gdbarch != NULL);
4121   gdb_assert (gdbarch->convert_register_p != NULL);
4122   if (gdbarch_debug >= 2)
4123     fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_register_p called\n");
4124   return gdbarch->convert_register_p (regnum, type);
4125 }
4126
4127 void
4128 set_gdbarch_convert_register_p (struct gdbarch *gdbarch,
4129                                 gdbarch_convert_register_p_ftype convert_register_p)
4130 {
4131   gdbarch->convert_register_p = convert_register_p;
4132 }
4133
4134 void
4135 gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, void *buf)
4136 {
4137   gdb_assert (gdbarch != NULL);
4138   gdb_assert (gdbarch->register_to_value != NULL);
4139   if (gdbarch_debug >= 2)
4140     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_to_value called\n");
4141   gdbarch->register_to_value (frame, regnum, type, buf);
4142 }
4143
4144 void
4145 set_gdbarch_register_to_value (struct gdbarch *gdbarch,
4146                                gdbarch_register_to_value_ftype register_to_value)
4147 {
4148   gdbarch->register_to_value = register_to_value;
4149 }
4150
4151 void
4152 gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const void *buf)
4153 {
4154   gdb_assert (gdbarch != NULL);
4155   gdb_assert (gdbarch->value_to_register != NULL);
4156   if (gdbarch_debug >= 2)
4157     fprintf_unfiltered (gdb_stdlog, "gdbarch_value_to_register called\n");
4158   gdbarch->value_to_register (frame, regnum, type, buf);
4159 }
4160
4161 void
4162 set_gdbarch_value_to_register (struct gdbarch *gdbarch,
4163                                gdbarch_value_to_register_ftype value_to_register)
4164 {
4165   gdbarch->value_to_register = value_to_register;
4166 }
4167
4168 CORE_ADDR
4169 gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const void *buf)
4170 {
4171   gdb_assert (gdbarch != NULL);
4172   gdb_assert (gdbarch->pointer_to_address != NULL);
4173   if (gdbarch_debug >= 2)
4174     fprintf_unfiltered (gdb_stdlog, "gdbarch_pointer_to_address called\n");
4175   return gdbarch->pointer_to_address (type, buf);
4176 }
4177
4178 void
4179 set_gdbarch_pointer_to_address (struct gdbarch *gdbarch,
4180                                 gdbarch_pointer_to_address_ftype pointer_to_address)
4181 {
4182   gdbarch->pointer_to_address = pointer_to_address;
4183 }
4184
4185 void
4186 gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, void *buf, CORE_ADDR addr)
4187 {
4188   gdb_assert (gdbarch != NULL);
4189   gdb_assert (gdbarch->address_to_pointer != NULL);
4190   if (gdbarch_debug >= 2)
4191     fprintf_unfiltered (gdb_stdlog, "gdbarch_address_to_pointer called\n");
4192   gdbarch->address_to_pointer (type, buf, addr);
4193 }
4194
4195 void
4196 set_gdbarch_address_to_pointer (struct gdbarch *gdbarch,
4197                                 gdbarch_address_to_pointer_ftype address_to_pointer)
4198 {
4199   gdbarch->address_to_pointer = address_to_pointer;
4200 }
4201
4202 int
4203 gdbarch_integer_to_address_p (struct gdbarch *gdbarch)
4204 {
4205   gdb_assert (gdbarch != NULL);
4206   return gdbarch->integer_to_address != NULL;
4207 }
4208
4209 CORE_ADDR
4210 gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, void *buf)
4211 {
4212   gdb_assert (gdbarch != NULL);
4213   gdb_assert (gdbarch->integer_to_address != NULL);
4214   if (gdbarch_debug >= 2)
4215     fprintf_unfiltered (gdb_stdlog, "gdbarch_integer_to_address called\n");
4216   return gdbarch->integer_to_address (type, buf);
4217 }
4218
4219 void
4220 set_gdbarch_integer_to_address (struct gdbarch *gdbarch,
4221                                 gdbarch_integer_to_address_ftype integer_to_address)
4222 {
4223   gdbarch->integer_to_address = integer_to_address;
4224 }
4225
4226 int
4227 gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch)
4228 {
4229   gdb_assert (gdbarch != NULL);
4230   return gdbarch->deprecated_pop_frame != NULL;
4231 }
4232
4233 void
4234 gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch)
4235 {
4236   gdb_assert (gdbarch != NULL);
4237   gdb_assert (gdbarch->deprecated_pop_frame != NULL);
4238   if (gdbarch_debug >= 2)
4239     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pop_frame called\n");
4240   gdbarch->deprecated_pop_frame ();
4241 }
4242
4243 void
4244 set_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch,
4245                                   gdbarch_deprecated_pop_frame_ftype deprecated_pop_frame)
4246 {
4247   gdbarch->deprecated_pop_frame = deprecated_pop_frame;
4248 }
4249
4250 int
4251 gdbarch_deprecated_store_struct_return_p (struct gdbarch *gdbarch)
4252 {
4253   gdb_assert (gdbarch != NULL);
4254   return gdbarch->deprecated_store_struct_return != NULL;
4255 }
4256
4257 void
4258 gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR sp)
4259 {
4260   gdb_assert (gdbarch != NULL);
4261   gdb_assert (gdbarch->deprecated_store_struct_return != NULL);
4262   if (gdbarch_debug >= 2)
4263     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_struct_return called\n");
4264   gdbarch->deprecated_store_struct_return (addr, sp);
4265 }
4266
4267 void
4268 set_gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch,
4269                                             gdbarch_deprecated_store_struct_return_ftype deprecated_store_struct_return)
4270 {
4271   gdbarch->deprecated_store_struct_return = deprecated_store_struct_return;
4272 }
4273
4274 int
4275 gdbarch_return_value_p (struct gdbarch *gdbarch)
4276 {
4277   gdb_assert (gdbarch != NULL);
4278   return gdbarch->return_value != NULL;
4279 }
4280
4281 enum return_value_convention
4282 gdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, void *readbuf, const void *writebuf)
4283 {
4284   gdb_assert (gdbarch != NULL);
4285   gdb_assert (gdbarch->return_value != NULL);
4286   if (gdbarch_debug >= 2)
4287     fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value called\n");
4288   return gdbarch->return_value (gdbarch, valtype, regcache, readbuf, writebuf);
4289 }
4290
4291 void
4292 set_gdbarch_return_value (struct gdbarch *gdbarch,
4293                           gdbarch_return_value_ftype return_value)
4294 {
4295   gdbarch->return_value = return_value;
4296 }
4297
4298 int
4299 gdbarch_return_value_on_stack (struct gdbarch *gdbarch, struct type *type)
4300 {
4301   gdb_assert (gdbarch != NULL);
4302   gdb_assert (gdbarch->return_value_on_stack != NULL);
4303   if (gdbarch_debug >= 2)
4304     fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value_on_stack called\n");
4305   return gdbarch->return_value_on_stack (type);
4306 }
4307
4308 void
4309 set_gdbarch_return_value_on_stack (struct gdbarch *gdbarch,
4310                                    gdbarch_return_value_on_stack_ftype return_value_on_stack)
4311 {
4312   gdbarch->return_value_on_stack = return_value_on_stack;
4313 }
4314
4315 void
4316 gdbarch_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, void *valbuf)
4317 {
4318   gdb_assert (gdbarch != NULL);
4319   gdb_assert (gdbarch->extract_return_value != NULL);
4320   if (gdbarch_debug >= 2)
4321     fprintf_unfiltered (gdb_stdlog, "gdbarch_extract_return_value called\n");
4322   gdbarch->extract_return_value (type, regcache, valbuf);
4323 }
4324
4325 void
4326 set_gdbarch_extract_return_value (struct gdbarch *gdbarch,
4327                                   gdbarch_extract_return_value_ftype extract_return_value)
4328 {
4329   gdbarch->extract_return_value = extract_return_value;
4330 }
4331
4332 void
4333 gdbarch_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const void *valbuf)
4334 {
4335   gdb_assert (gdbarch != NULL);
4336   gdb_assert (gdbarch->store_return_value != NULL);
4337   if (gdbarch_debug >= 2)
4338     fprintf_unfiltered (gdb_stdlog, "gdbarch_store_return_value called\n");
4339   gdbarch->store_return_value (type, regcache, valbuf);
4340 }
4341
4342 void
4343 set_gdbarch_store_return_value (struct gdbarch *gdbarch,
4344                                 gdbarch_store_return_value_ftype store_return_value)
4345 {
4346   gdbarch->store_return_value = store_return_value;
4347 }
4348
4349 void
4350 gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, char *regbuf, char *valbuf)
4351 {
4352   gdb_assert (gdbarch != NULL);
4353   gdb_assert (gdbarch->deprecated_extract_return_value != NULL);
4354   if (gdbarch_debug >= 2)
4355     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_return_value called\n");
4356   gdbarch->deprecated_extract_return_value (type, regbuf, valbuf);
4357 }
4358
4359 void
4360 set_gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch,
4361                                              gdbarch_deprecated_extract_return_value_ftype deprecated_extract_return_value)
4362 {
4363   gdbarch->deprecated_extract_return_value = deprecated_extract_return_value;
4364 }
4365
4366 void
4367 gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, char *valbuf)
4368 {
4369   gdb_assert (gdbarch != NULL);
4370   gdb_assert (gdbarch->deprecated_store_return_value != NULL);
4371   if (gdbarch_debug >= 2)
4372     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_return_value called\n");
4373   gdbarch->deprecated_store_return_value (type, valbuf);
4374 }
4375
4376 void
4377 set_gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch,
4378                                            gdbarch_deprecated_store_return_value_ftype deprecated_store_return_value)
4379 {
4380   gdbarch->deprecated_store_return_value = deprecated_store_return_value;
4381 }
4382
4383 int
4384 gdbarch_use_struct_convention (struct gdbarch *gdbarch, int gcc_p, struct type *value_type)
4385 {
4386   gdb_assert (gdbarch != NULL);
4387   gdb_assert (gdbarch->use_struct_convention != NULL);
4388   if (gdbarch_debug >= 2)
4389     fprintf_unfiltered (gdb_stdlog, "gdbarch_use_struct_convention called\n");
4390   return gdbarch->use_struct_convention (gcc_p, value_type);
4391 }
4392
4393 void
4394 set_gdbarch_use_struct_convention (struct gdbarch *gdbarch,
4395                                    gdbarch_use_struct_convention_ftype use_struct_convention)
4396 {
4397   gdbarch->use_struct_convention = use_struct_convention;
4398 }
4399
4400 int
4401 gdbarch_extract_struct_value_address_p (struct gdbarch *gdbarch)
4402 {
4403   gdb_assert (gdbarch != NULL);
4404   return gdbarch->extract_struct_value_address != NULL;
4405 }
4406
4407 CORE_ADDR
4408 gdbarch_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache)
4409 {
4410   gdb_assert (gdbarch != NULL);
4411   gdb_assert (gdbarch->extract_struct_value_address != NULL);
4412   if (gdbarch_debug >= 2)
4413     fprintf_unfiltered (gdb_stdlog, "gdbarch_extract_struct_value_address called\n");
4414   return gdbarch->extract_struct_value_address (regcache);
4415 }
4416
4417 void
4418 set_gdbarch_extract_struct_value_address (struct gdbarch *gdbarch,
4419                                           gdbarch_extract_struct_value_address_ftype extract_struct_value_address)
4420 {
4421   gdbarch->extract_struct_value_address = extract_struct_value_address;
4422 }
4423
4424 int
4425 gdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch)
4426 {
4427   gdb_assert (gdbarch != NULL);
4428   return gdbarch->deprecated_extract_struct_value_address != NULL;
4429 }
4430
4431 CORE_ADDR
4432 gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, char *regbuf)
4433 {
4434   gdb_assert (gdbarch != NULL);
4435   gdb_assert (gdbarch->deprecated_extract_struct_value_address != NULL);
4436   if (gdbarch_debug >= 2)
4437     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_struct_value_address called\n");
4438   return gdbarch->deprecated_extract_struct_value_address (regbuf);
4439 }
4440
4441 void
4442 set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch,
4443                                                      gdbarch_deprecated_extract_struct_value_address_ftype deprecated_extract_struct_value_address)
4444 {
4445   gdbarch->deprecated_extract_struct_value_address = deprecated_extract_struct_value_address;
4446 }
4447
4448 int
4449 gdbarch_deprecated_frame_init_saved_regs_p (struct gdbarch *gdbarch)
4450 {
4451   gdb_assert (gdbarch != NULL);
4452   return gdbarch->deprecated_frame_init_saved_regs != NULL;
4453 }
4454
4455 void
4456 gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch, struct frame_info *frame)
4457 {
4458   gdb_assert (gdbarch != NULL);
4459   gdb_assert (gdbarch->deprecated_frame_init_saved_regs != NULL);
4460   if (gdbarch_debug >= 2)
4461     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_init_saved_regs called\n");
4462   gdbarch->deprecated_frame_init_saved_regs (frame);
4463 }
4464
4465 void
4466 set_gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch,
4467                                               gdbarch_deprecated_frame_init_saved_regs_ftype deprecated_frame_init_saved_regs)
4468 {
4469   gdbarch->deprecated_frame_init_saved_regs = deprecated_frame_init_saved_regs;
4470 }
4471
4472 int
4473 gdbarch_deprecated_init_extra_frame_info_p (struct gdbarch *gdbarch)
4474 {
4475   gdb_assert (gdbarch != NULL);
4476   return gdbarch->deprecated_init_extra_frame_info != NULL;
4477 }
4478
4479 void
4480 gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch, int fromleaf, struct frame_info *frame)
4481 {
4482   gdb_assert (gdbarch != NULL);
4483   gdb_assert (gdbarch->deprecated_init_extra_frame_info != NULL);
4484   if (gdbarch_debug >= 2)
4485     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_extra_frame_info called\n");
4486   gdbarch->deprecated_init_extra_frame_info (fromleaf, frame);
4487 }
4488
4489 void
4490 set_gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch,
4491                                               gdbarch_deprecated_init_extra_frame_info_ftype deprecated_init_extra_frame_info)
4492 {
4493   gdbarch->deprecated_init_extra_frame_info = deprecated_init_extra_frame_info;
4494 }
4495
4496 CORE_ADDR
4497 gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
4498 {
4499   gdb_assert (gdbarch != NULL);
4500   gdb_assert (gdbarch->skip_prologue != NULL);
4501   if (gdbarch_debug >= 2)
4502     fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_prologue called\n");
4503   return gdbarch->skip_prologue (ip);
4504 }
4505
4506 void
4507 set_gdbarch_skip_prologue (struct gdbarch *gdbarch,
4508                            gdbarch_skip_prologue_ftype skip_prologue)
4509 {
4510   gdbarch->skip_prologue = skip_prologue;
4511 }
4512
4513 int
4514 gdbarch_prologue_frameless_p (struct gdbarch *gdbarch, CORE_ADDR ip)
4515 {
4516   gdb_assert (gdbarch != NULL);
4517   gdb_assert (gdbarch->prologue_frameless_p != NULL);
4518   if (gdbarch_debug >= 2)
4519     fprintf_unfiltered (gdb_stdlog, "gdbarch_prologue_frameless_p called\n");
4520   return gdbarch->prologue_frameless_p (ip);
4521 }
4522
4523 void
4524 set_gdbarch_prologue_frameless_p (struct gdbarch *gdbarch,
4525                                   gdbarch_prologue_frameless_p_ftype prologue_frameless_p)
4526 {
4527   gdbarch->prologue_frameless_p = prologue_frameless_p;
4528 }
4529
4530 int
4531 gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs)
4532 {
4533   gdb_assert (gdbarch != NULL);
4534   gdb_assert (gdbarch->inner_than != NULL);
4535   if (gdbarch_debug >= 2)
4536     fprintf_unfiltered (gdb_stdlog, "gdbarch_inner_than called\n");
4537   return gdbarch->inner_than (lhs, rhs);
4538 }
4539
4540 void
4541 set_gdbarch_inner_than (struct gdbarch *gdbarch,
4542                         gdbarch_inner_than_ftype inner_than)
4543 {
4544   gdbarch->inner_than = inner_than;
4545 }
4546
4547 const unsigned char *
4548 gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
4549 {
4550   gdb_assert (gdbarch != NULL);
4551   gdb_assert (gdbarch->breakpoint_from_pc != NULL);
4552   if (gdbarch_debug >= 2)
4553     fprintf_unfiltered (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n");
4554   return gdbarch->breakpoint_from_pc (pcptr, lenptr);
4555 }
4556
4557 void
4558 set_gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch,
4559                                 gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc)
4560 {
4561   gdbarch->breakpoint_from_pc = breakpoint_from_pc;
4562 }
4563
4564 int
4565 gdbarch_adjust_breakpoint_address_p (struct gdbarch *gdbarch)
4566 {
4567   gdb_assert (gdbarch != NULL);
4568   return gdbarch->adjust_breakpoint_address != NULL;
4569 }
4570
4571 CORE_ADDR
4572 gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
4573 {
4574   gdb_assert (gdbarch != NULL);
4575   gdb_assert (gdbarch->adjust_breakpoint_address != NULL);
4576   if (gdbarch_debug >= 2)
4577     fprintf_unfiltered (gdb_stdlog, "gdbarch_adjust_breakpoint_address called\n");
4578   return gdbarch->adjust_breakpoint_address (gdbarch, bpaddr);
4579 }
4580
4581 void
4582 set_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch,
4583                                        gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address)
4584 {
4585   gdbarch->adjust_breakpoint_address = adjust_breakpoint_address;
4586 }
4587
4588 int
4589 gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
4590 {
4591   gdb_assert (gdbarch != NULL);
4592   gdb_assert (gdbarch->memory_insert_breakpoint != NULL);
4593   if (gdbarch_debug >= 2)
4594     fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n");
4595   return gdbarch->memory_insert_breakpoint (addr, contents_cache);
4596 }
4597
4598 void
4599 set_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch,
4600                                       gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint)
4601 {
4602   gdbarch->memory_insert_breakpoint = memory_insert_breakpoint;
4603 }
4604
4605 int
4606 gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
4607 {
4608   gdb_assert (gdbarch != NULL);
4609   gdb_assert (gdbarch->memory_remove_breakpoint != NULL);
4610   if (gdbarch_debug >= 2)
4611     fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n");
4612   return gdbarch->memory_remove_breakpoint (addr, contents_cache);
4613 }
4614
4615 void
4616 set_gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch,
4617                                       gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint)
4618 {
4619   gdbarch->memory_remove_breakpoint = memory_remove_breakpoint;
4620 }
4621
4622 CORE_ADDR
4623 gdbarch_decr_pc_after_break (struct gdbarch *gdbarch)
4624 {
4625   gdb_assert (gdbarch != NULL);
4626   /* Check variable changed from pre-default.  */
4627   gdb_assert (gdbarch->decr_pc_after_break != -1);
4628   if (gdbarch_debug >= 2)
4629     fprintf_unfiltered (gdb_stdlog, "gdbarch_decr_pc_after_break called\n");
4630   return gdbarch->decr_pc_after_break;
4631 }
4632
4633 void
4634 set_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch,
4635                                  CORE_ADDR decr_pc_after_break)
4636 {
4637   gdbarch->decr_pc_after_break = decr_pc_after_break;
4638 }
4639
4640 CORE_ADDR
4641 gdbarch_function_start_offset (struct gdbarch *gdbarch)
4642 {
4643   gdb_assert (gdbarch != NULL);
4644   /* Skip verify of function_start_offset, invalid_p == 0 */
4645   if (gdbarch_debug >= 2)
4646     fprintf_unfiltered (gdb_stdlog, "gdbarch_function_start_offset called\n");
4647   return gdbarch->function_start_offset;
4648 }
4649
4650 void
4651 set_gdbarch_function_start_offset (struct gdbarch *gdbarch,
4652                                    CORE_ADDR function_start_offset)
4653 {
4654   gdbarch->function_start_offset = function_start_offset;
4655 }
4656
4657 void
4658 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)
4659 {
4660   gdb_assert (gdbarch != NULL);
4661   gdb_assert (gdbarch->remote_translate_xfer_address != NULL);
4662   if (gdbarch_debug >= 2)
4663     fprintf_unfiltered (gdb_stdlog, "gdbarch_remote_translate_xfer_address called\n");
4664   gdbarch->remote_translate_xfer_address (gdbarch, regcache, gdb_addr, gdb_len, rem_addr, rem_len);
4665 }
4666
4667 void
4668 set_gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch,
4669                                            gdbarch_remote_translate_xfer_address_ftype remote_translate_xfer_address)
4670 {
4671   gdbarch->remote_translate_xfer_address = remote_translate_xfer_address;
4672 }
4673
4674 CORE_ADDR
4675 gdbarch_frame_args_skip (struct gdbarch *gdbarch)
4676 {
4677   gdb_assert (gdbarch != NULL);
4678   /* Check variable changed from pre-default.  */
4679   gdb_assert (gdbarch->frame_args_skip != -1);
4680   if (gdbarch_debug >= 2)
4681     fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_skip called\n");
4682   return gdbarch->frame_args_skip;
4683 }
4684
4685 void
4686 set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
4687                              CORE_ADDR frame_args_skip)
4688 {
4689   gdbarch->frame_args_skip = frame_args_skip;
4690 }
4691
4692 int
4693 gdbarch_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi)
4694 {
4695   gdb_assert (gdbarch != NULL);
4696   gdb_assert (gdbarch->frameless_function_invocation != NULL);
4697   if (gdbarch_debug >= 2)
4698     fprintf_unfiltered (gdb_stdlog, "gdbarch_frameless_function_invocation called\n");
4699   return gdbarch->frameless_function_invocation (fi);
4700 }
4701
4702 void
4703 set_gdbarch_frameless_function_invocation (struct gdbarch *gdbarch,
4704                                            gdbarch_frameless_function_invocation_ftype frameless_function_invocation)
4705 {
4706   gdbarch->frameless_function_invocation = frameless_function_invocation;
4707 }
4708
4709 int
4710 gdbarch_deprecated_frame_chain_p (struct gdbarch *gdbarch)
4711 {
4712   gdb_assert (gdbarch != NULL);
4713   return gdbarch->deprecated_frame_chain != NULL;
4714 }
4715
4716 CORE_ADDR
4717 gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
4718 {
4719   gdb_assert (gdbarch != NULL);
4720   gdb_assert (gdbarch->deprecated_frame_chain != NULL);
4721   if (gdbarch_debug >= 2)
4722     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain called\n");
4723   return gdbarch->deprecated_frame_chain (frame);
4724 }
4725
4726 void
4727 set_gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch,
4728                                     gdbarch_deprecated_frame_chain_ftype deprecated_frame_chain)
4729 {
4730   gdbarch->deprecated_frame_chain = deprecated_frame_chain;
4731 }
4732
4733 int
4734 gdbarch_deprecated_frame_chain_valid_p (struct gdbarch *gdbarch)
4735 {
4736   gdb_assert (gdbarch != NULL);
4737   return gdbarch->deprecated_frame_chain_valid != NULL;
4738 }
4739
4740 int
4741 gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch, CORE_ADDR chain, struct frame_info *thisframe)
4742 {
4743   gdb_assert (gdbarch != NULL);
4744   gdb_assert (gdbarch->deprecated_frame_chain_valid != NULL);
4745   if (gdbarch_debug >= 2)
4746     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain_valid called\n");
4747   return gdbarch->deprecated_frame_chain_valid (chain, thisframe);
4748 }
4749
4750 void
4751 set_gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch,
4752                                           gdbarch_deprecated_frame_chain_valid_ftype deprecated_frame_chain_valid)
4753 {
4754   gdbarch->deprecated_frame_chain_valid = deprecated_frame_chain_valid;
4755 }
4756
4757 int
4758 gdbarch_deprecated_frame_saved_pc_p (struct gdbarch *gdbarch)
4759 {
4760   gdb_assert (gdbarch != NULL);
4761   return gdbarch->deprecated_frame_saved_pc != NULL;
4762 }
4763
4764 CORE_ADDR
4765 gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi)
4766 {
4767   gdb_assert (gdbarch != NULL);
4768   gdb_assert (gdbarch->deprecated_frame_saved_pc != NULL);
4769   if (gdbarch_debug >= 2)
4770     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_saved_pc called\n");
4771   return gdbarch->deprecated_frame_saved_pc (fi);
4772 }
4773
4774 void
4775 set_gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch,
4776                                        gdbarch_deprecated_frame_saved_pc_ftype deprecated_frame_saved_pc)
4777 {
4778   gdbarch->deprecated_frame_saved_pc = deprecated_frame_saved_pc;
4779 }
4780
4781 int
4782 gdbarch_unwind_pc_p (struct gdbarch *gdbarch)
4783 {
4784   gdb_assert (gdbarch != NULL);
4785   return gdbarch->unwind_pc != NULL;
4786 }
4787
4788 CORE_ADDR
4789 gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
4790 {
4791   gdb_assert (gdbarch != NULL);
4792   gdb_assert (gdbarch->unwind_pc != NULL);
4793   if (gdbarch_debug >= 2)
4794     fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_pc called\n");
4795   return gdbarch->unwind_pc (gdbarch, next_frame);
4796 }
4797
4798 void
4799 set_gdbarch_unwind_pc (struct gdbarch *gdbarch,
4800                        gdbarch_unwind_pc_ftype unwind_pc)
4801 {
4802   gdbarch->unwind_pc = unwind_pc;
4803 }
4804
4805 int
4806 gdbarch_unwind_sp_p (struct gdbarch *gdbarch)
4807 {
4808   gdb_assert (gdbarch != NULL);
4809   return gdbarch->unwind_sp != NULL;
4810 }
4811
4812 CORE_ADDR
4813 gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
4814 {
4815   gdb_assert (gdbarch != NULL);
4816   gdb_assert (gdbarch->unwind_sp != NULL);
4817   if (gdbarch_debug >= 2)
4818     fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_sp called\n");
4819   return gdbarch->unwind_sp (gdbarch, next_frame);
4820 }
4821
4822 void
4823 set_gdbarch_unwind_sp (struct gdbarch *gdbarch,
4824                        gdbarch_unwind_sp_ftype unwind_sp)
4825 {
4826   gdbarch->unwind_sp = unwind_sp;
4827 }
4828
4829 int
4830 gdbarch_deprecated_frame_args_address_p (struct gdbarch *gdbarch)
4831 {
4832   gdb_assert (gdbarch != NULL);
4833   return gdbarch->deprecated_frame_args_address != get_frame_base;
4834 }
4835
4836 CORE_ADDR
4837 gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi)
4838 {
4839   gdb_assert (gdbarch != NULL);
4840   gdb_assert (gdbarch->deprecated_frame_args_address != NULL);
4841   /* Do not check predicate: gdbarch->deprecated_frame_args_address != get_frame_base, allow call.  */
4842   if (gdbarch_debug >= 2)
4843     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_args_address called\n");
4844   return gdbarch->deprecated_frame_args_address (fi);
4845 }
4846
4847 void
4848 set_gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch,
4849                                            gdbarch_deprecated_frame_args_address_ftype deprecated_frame_args_address)
4850 {
4851   gdbarch->deprecated_frame_args_address = deprecated_frame_args_address;
4852 }
4853
4854 int
4855 gdbarch_deprecated_frame_locals_address_p (struct gdbarch *gdbarch)
4856 {
4857   gdb_assert (gdbarch != NULL);
4858   return gdbarch->deprecated_frame_locals_address != get_frame_base;
4859 }
4860
4861 CORE_ADDR
4862 gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi)
4863 {
4864   gdb_assert (gdbarch != NULL);
4865   gdb_assert (gdbarch->deprecated_frame_locals_address != NULL);
4866   /* Do not check predicate: gdbarch->deprecated_frame_locals_address != get_frame_base, allow call.  */
4867   if (gdbarch_debug >= 2)
4868     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_locals_address called\n");
4869   return gdbarch->deprecated_frame_locals_address (fi);
4870 }
4871
4872 void
4873 set_gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch,
4874                                              gdbarch_deprecated_frame_locals_address_ftype deprecated_frame_locals_address)
4875 {
4876   gdbarch->deprecated_frame_locals_address = deprecated_frame_locals_address;
4877 }
4878
4879 int
4880 gdbarch_deprecated_saved_pc_after_call_p (struct gdbarch *gdbarch)
4881 {
4882   gdb_assert (gdbarch != NULL);
4883   return gdbarch->deprecated_saved_pc_after_call != NULL;
4884 }
4885
4886 CORE_ADDR
4887 gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch, struct frame_info *frame)
4888 {
4889   gdb_assert (gdbarch != NULL);
4890   gdb_assert (gdbarch->deprecated_saved_pc_after_call != NULL);
4891   if (gdbarch_debug >= 2)
4892     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_saved_pc_after_call called\n");
4893   return gdbarch->deprecated_saved_pc_after_call (frame);
4894 }
4895
4896 void
4897 set_gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch,
4898                                             gdbarch_deprecated_saved_pc_after_call_ftype deprecated_saved_pc_after_call)
4899 {
4900   gdbarch->deprecated_saved_pc_after_call = deprecated_saved_pc_after_call;
4901 }
4902
4903 int
4904 gdbarch_frame_num_args_p (struct gdbarch *gdbarch)
4905 {
4906   gdb_assert (gdbarch != NULL);
4907   return gdbarch->frame_num_args != NULL;
4908 }
4909
4910 int
4911 gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame)
4912 {
4913   gdb_assert (gdbarch != NULL);
4914   gdb_assert (gdbarch->frame_num_args != NULL);
4915   if (gdbarch_debug >= 2)
4916     fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_num_args called\n");
4917   return gdbarch->frame_num_args (frame);
4918 }
4919
4920 void
4921 set_gdbarch_frame_num_args (struct gdbarch *gdbarch,
4922                             gdbarch_frame_num_args_ftype frame_num_args)
4923 {
4924   gdbarch->frame_num_args = frame_num_args;
4925 }
4926
4927 int
4928 gdbarch_deprecated_stack_align_p (struct gdbarch *gdbarch)
4929 {
4930   gdb_assert (gdbarch != NULL);
4931   return gdbarch->deprecated_stack_align != NULL;
4932 }
4933
4934 CORE_ADDR
4935 gdbarch_deprecated_stack_align (struct gdbarch *gdbarch, CORE_ADDR sp)
4936 {
4937   gdb_assert (gdbarch != NULL);
4938   gdb_assert (gdbarch->deprecated_stack_align != NULL);
4939   if (gdbarch_debug >= 2)
4940     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_stack_align called\n");
4941   return gdbarch->deprecated_stack_align (sp);
4942 }
4943
4944 void
4945 set_gdbarch_deprecated_stack_align (struct gdbarch *gdbarch,
4946                                     gdbarch_deprecated_stack_align_ftype deprecated_stack_align)
4947 {
4948   gdbarch->deprecated_stack_align = deprecated_stack_align;
4949 }
4950
4951 int
4952 gdbarch_frame_align_p (struct gdbarch *gdbarch)
4953 {
4954   gdb_assert (gdbarch != NULL);
4955   return gdbarch->frame_align != NULL;
4956 }
4957
4958 CORE_ADDR
4959 gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address)
4960 {
4961   gdb_assert (gdbarch != NULL);
4962   gdb_assert (gdbarch->frame_align != NULL);
4963   if (gdbarch_debug >= 2)
4964     fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_align called\n");
4965   return gdbarch->frame_align (gdbarch, address);
4966 }
4967
4968 void
4969 set_gdbarch_frame_align (struct gdbarch *gdbarch,
4970                          gdbarch_frame_align_ftype frame_align)
4971 {
4972   gdbarch->frame_align = frame_align;
4973 }
4974
4975 int
4976 gdbarch_deprecated_reg_struct_has_addr_p (struct gdbarch *gdbarch)
4977 {
4978   gdb_assert (gdbarch != NULL);
4979   return gdbarch->deprecated_reg_struct_has_addr != NULL;
4980 }
4981
4982 int
4983 gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, int gcc_p, struct type *type)
4984 {
4985   gdb_assert (gdbarch != NULL);
4986   gdb_assert (gdbarch->deprecated_reg_struct_has_addr != NULL);
4987   if (gdbarch_debug >= 2)
4988     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_reg_struct_has_addr called\n");
4989   return gdbarch->deprecated_reg_struct_has_addr (gcc_p, type);
4990 }
4991
4992 void
4993 set_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch,
4994                                             gdbarch_deprecated_reg_struct_has_addr_ftype deprecated_reg_struct_has_addr)
4995 {
4996   gdbarch->deprecated_reg_struct_has_addr = deprecated_reg_struct_has_addr;
4997 }
4998
4999 int
5000 gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
5001 {
5002   gdb_assert (gdbarch != NULL);
5003   gdb_assert (gdbarch->stabs_argument_has_addr != NULL);
5004   if (gdbarch_debug >= 2)
5005     fprintf_unfiltered (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n");
5006   return gdbarch->stabs_argument_has_addr (gdbarch, type);
5007 }
5008
5009 void
5010 set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch,
5011                                      gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
5012 {
5013   gdbarch->stabs_argument_has_addr = stabs_argument_has_addr;
5014 }
5015
5016 int
5017 gdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
5018 {
5019   gdb_assert (gdbarch != NULL);
5020   if (gdbarch_debug >= 2)
5021     fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_red_zone_size called\n");
5022   return gdbarch->frame_red_zone_size;
5023 }
5024
5025 void
5026 set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch,
5027                                  int frame_red_zone_size)
5028 {
5029   gdbarch->frame_red_zone_size = frame_red_zone_size;
5030 }
5031
5032 int
5033 gdbarch_parm_boundary (struct gdbarch *gdbarch)
5034 {
5035   gdb_assert (gdbarch != NULL);
5036   if (gdbarch_debug >= 2)
5037     fprintf_unfiltered (gdb_stdlog, "gdbarch_parm_boundary called\n");
5038   return gdbarch->parm_boundary;
5039 }
5040
5041 void
5042 set_gdbarch_parm_boundary (struct gdbarch *gdbarch,
5043                            int parm_boundary)
5044 {
5045   gdbarch->parm_boundary = parm_boundary;
5046 }
5047
5048 const struct floatformat *
5049 gdbarch_float_format (struct gdbarch *gdbarch)
5050 {
5051   gdb_assert (gdbarch != NULL);
5052   if (gdbarch_debug >= 2)
5053     fprintf_unfiltered (gdb_stdlog, "gdbarch_float_format called\n");
5054   return gdbarch->float_format;
5055 }
5056
5057 void
5058 set_gdbarch_float_format (struct gdbarch *gdbarch,
5059                           const struct floatformat * float_format)
5060 {
5061   gdbarch->float_format = float_format;
5062 }
5063
5064 const struct floatformat *
5065 gdbarch_double_format (struct gdbarch *gdbarch)
5066 {
5067   gdb_assert (gdbarch != NULL);
5068   if (gdbarch_debug >= 2)
5069     fprintf_unfiltered (gdb_stdlog, "gdbarch_double_format called\n");
5070   return gdbarch->double_format;
5071 }
5072
5073 void
5074 set_gdbarch_double_format (struct gdbarch *gdbarch,
5075                            const struct floatformat * double_format)
5076 {
5077   gdbarch->double_format = double_format;
5078 }
5079
5080 const struct floatformat *
5081 gdbarch_long_double_format (struct gdbarch *gdbarch)
5082 {
5083   gdb_assert (gdbarch != NULL);
5084   if (gdbarch_debug >= 2)
5085     fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_format called\n");
5086   return gdbarch->long_double_format;
5087 }
5088
5089 void
5090 set_gdbarch_long_double_format (struct gdbarch *gdbarch,
5091                                 const struct floatformat * long_double_format)
5092 {
5093   gdbarch->long_double_format = long_double_format;
5094 }
5095
5096 CORE_ADDR
5097 gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
5098 {
5099   gdb_assert (gdbarch != NULL);
5100   gdb_assert (gdbarch->convert_from_func_ptr_addr != NULL);
5101   if (gdbarch_debug >= 2)
5102     fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_from_func_ptr_addr called\n");
5103   return gdbarch->convert_from_func_ptr_addr (gdbarch, addr, targ);
5104 }
5105
5106 void
5107 set_gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch,
5108                                         gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr)
5109 {
5110   gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr;
5111 }
5112
5113 CORE_ADDR
5114 gdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
5115 {
5116   gdb_assert (gdbarch != NULL);
5117   gdb_assert (gdbarch->addr_bits_remove != NULL);
5118   if (gdbarch_debug >= 2)
5119     fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bits_remove called\n");
5120   return gdbarch->addr_bits_remove (addr);
5121 }
5122
5123 void
5124 set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch,
5125                               gdbarch_addr_bits_remove_ftype addr_bits_remove)
5126 {
5127   gdbarch->addr_bits_remove = addr_bits_remove;
5128 }
5129
5130 CORE_ADDR
5131 gdbarch_smash_text_address (struct gdbarch *gdbarch, CORE_ADDR addr)
5132 {
5133   gdb_assert (gdbarch != NULL);
5134   gdb_assert (gdbarch->smash_text_address != NULL);
5135   if (gdbarch_debug >= 2)
5136     fprintf_unfiltered (gdb_stdlog, "gdbarch_smash_text_address called\n");
5137   return gdbarch->smash_text_address (addr);
5138 }
5139
5140 void
5141 set_gdbarch_smash_text_address (struct gdbarch *gdbarch,
5142                                 gdbarch_smash_text_address_ftype smash_text_address)
5143 {
5144   gdbarch->smash_text_address = smash_text_address;
5145 }
5146
5147 int
5148 gdbarch_software_single_step_p (struct gdbarch *gdbarch)
5149 {
5150   gdb_assert (gdbarch != NULL);
5151   return gdbarch->software_single_step != NULL;
5152 }
5153
5154 void
5155 gdbarch_software_single_step (struct gdbarch *gdbarch, enum target_signal sig, int insert_breakpoints_p)
5156 {
5157   gdb_assert (gdbarch != NULL);
5158   gdb_assert (gdbarch->software_single_step != NULL);
5159   if (gdbarch_debug >= 2)
5160     fprintf_unfiltered (gdb_stdlog, "gdbarch_software_single_step called\n");
5161   gdbarch->software_single_step (sig, insert_breakpoints_p);
5162 }
5163
5164 void
5165 set_gdbarch_software_single_step (struct gdbarch *gdbarch,
5166                                   gdbarch_software_single_step_ftype software_single_step)
5167 {
5168   gdbarch->software_single_step = software_single_step;
5169 }
5170
5171 int
5172 gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info)
5173 {
5174   gdb_assert (gdbarch != NULL);
5175   gdb_assert (gdbarch->print_insn != NULL);
5176   if (gdbarch_debug >= 2)
5177     fprintf_unfiltered (gdb_stdlog, "gdbarch_print_insn called\n");
5178   return gdbarch->print_insn (vma, info);
5179 }
5180
5181 void
5182 set_gdbarch_print_insn (struct gdbarch *gdbarch,
5183                         gdbarch_print_insn_ftype print_insn)
5184 {
5185   gdbarch->print_insn = print_insn;
5186 }
5187
5188 CORE_ADDR
5189 gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, CORE_ADDR pc)
5190 {
5191   gdb_assert (gdbarch != NULL);
5192   gdb_assert (gdbarch->skip_trampoline_code != NULL);
5193   if (gdbarch_debug >= 2)
5194     fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_trampoline_code called\n");
5195   return gdbarch->skip_trampoline_code (pc);
5196 }
5197
5198 void
5199 set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch,
5200                                   gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
5201 {
5202   gdbarch->skip_trampoline_code = skip_trampoline_code;
5203 }
5204
5205 CORE_ADDR
5206 gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
5207 {
5208   gdb_assert (gdbarch != NULL);
5209   gdb_assert (gdbarch->skip_solib_resolver != NULL);
5210   if (gdbarch_debug >= 2)
5211     fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_solib_resolver called\n");
5212   return gdbarch->skip_solib_resolver (gdbarch, pc);
5213 }
5214
5215 void
5216 set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch,
5217                                  gdbarch_skip_solib_resolver_ftype skip_solib_resolver)
5218 {
5219   gdbarch->skip_solib_resolver = skip_solib_resolver;
5220 }
5221
5222 int
5223 gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
5224 {
5225   gdb_assert (gdbarch != NULL);
5226   gdb_assert (gdbarch->in_solib_call_trampoline != NULL);
5227   if (gdbarch_debug >= 2)
5228     fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_call_trampoline called\n");
5229   return gdbarch->in_solib_call_trampoline (pc, name);
5230 }
5231
5232 void
5233 set_gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch,
5234                                       gdbarch_in_solib_call_trampoline_ftype in_solib_call_trampoline)
5235 {
5236   gdbarch->in_solib_call_trampoline = in_solib_call_trampoline;
5237 }
5238
5239 int
5240 gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
5241 {
5242   gdb_assert (gdbarch != NULL);
5243   gdb_assert (gdbarch->in_solib_return_trampoline != NULL);
5244   if (gdbarch_debug >= 2)
5245     fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_return_trampoline called\n");
5246   return gdbarch->in_solib_return_trampoline (pc, name);
5247 }
5248
5249 void
5250 set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
5251                                         gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline)
5252 {
5253   gdbarch->in_solib_return_trampoline = in_solib_return_trampoline;
5254 }
5255
5256 int
5257 gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
5258 {
5259   gdb_assert (gdbarch != NULL);
5260   gdb_assert (gdbarch->pc_in_sigtramp != NULL);
5261   if (gdbarch_debug >= 2)
5262     fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_in_sigtramp called\n");
5263   return gdbarch->pc_in_sigtramp (pc, name);
5264 }
5265
5266 void
5267 set_gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch,
5268                             gdbarch_pc_in_sigtramp_ftype pc_in_sigtramp)
5269 {
5270   gdbarch->pc_in_sigtramp = pc_in_sigtramp;
5271 }
5272
5273 int
5274 gdbarch_sigtramp_start_p (struct gdbarch *gdbarch)
5275 {
5276   gdb_assert (gdbarch != NULL);
5277   return gdbarch->sigtramp_start != NULL;
5278 }
5279
5280 CORE_ADDR
5281 gdbarch_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc)
5282 {
5283   gdb_assert (gdbarch != NULL);
5284   gdb_assert (gdbarch->sigtramp_start != NULL);
5285   if (gdbarch_debug >= 2)
5286     fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_start called\n");
5287   return gdbarch->sigtramp_start (pc);
5288 }
5289
5290 void
5291 set_gdbarch_sigtramp_start (struct gdbarch *gdbarch,
5292                             gdbarch_sigtramp_start_ftype sigtramp_start)
5293 {
5294   gdbarch->sigtramp_start = sigtramp_start;
5295 }
5296
5297 int
5298 gdbarch_sigtramp_end_p (struct gdbarch *gdbarch)
5299 {
5300   gdb_assert (gdbarch != NULL);
5301   return gdbarch->sigtramp_end != NULL;
5302 }
5303
5304 CORE_ADDR
5305 gdbarch_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc)
5306 {
5307   gdb_assert (gdbarch != NULL);
5308   gdb_assert (gdbarch->sigtramp_end != NULL);
5309   if (gdbarch_debug >= 2)
5310     fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_end called\n");
5311   return gdbarch->sigtramp_end (pc);
5312 }
5313
5314 void
5315 set_gdbarch_sigtramp_end (struct gdbarch *gdbarch,
5316                           gdbarch_sigtramp_end_ftype sigtramp_end)
5317 {
5318   gdbarch->sigtramp_end = sigtramp_end;
5319 }
5320
5321 int
5322 gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr)
5323 {
5324   gdb_assert (gdbarch != NULL);
5325   gdb_assert (gdbarch->in_function_epilogue_p != NULL);
5326   if (gdbarch_debug >= 2)
5327     fprintf_unfiltered (gdb_stdlog, "gdbarch_in_function_epilogue_p called\n");
5328   return gdbarch->in_function_epilogue_p (gdbarch, addr);
5329 }
5330
5331 void
5332 set_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch,
5333                                     gdbarch_in_function_epilogue_p_ftype in_function_epilogue_p)
5334 {
5335   gdbarch->in_function_epilogue_p = in_function_epilogue_p;
5336 }
5337
5338 char *
5339 gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch, int argc, char **argv)
5340 {
5341   gdb_assert (gdbarch != NULL);
5342   gdb_assert (gdbarch->construct_inferior_arguments != NULL);
5343   if (gdbarch_debug >= 2)
5344     fprintf_unfiltered (gdb_stdlog, "gdbarch_construct_inferior_arguments called\n");
5345   return gdbarch->construct_inferior_arguments (gdbarch, argc, argv);
5346 }
5347
5348 void
5349 set_gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch,
5350                                           gdbarch_construct_inferior_arguments_ftype construct_inferior_arguments)
5351 {
5352   gdbarch->construct_inferior_arguments = construct_inferior_arguments;
5353 }
5354
5355 void
5356 gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym)
5357 {
5358   gdb_assert (gdbarch != NULL);
5359   gdb_assert (gdbarch->elf_make_msymbol_special != NULL);
5360   if (gdbarch_debug >= 2)
5361     fprintf_unfiltered (gdb_stdlog, "gdbarch_elf_make_msymbol_special called\n");
5362   gdbarch->elf_make_msymbol_special (sym, msym);
5363 }
5364
5365 void
5366 set_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch,
5367                                       gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special)
5368 {
5369   gdbarch->elf_make_msymbol_special = elf_make_msymbol_special;
5370 }
5371
5372 void
5373 gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym)
5374 {
5375   gdb_assert (gdbarch != NULL);
5376   gdb_assert (gdbarch->coff_make_msymbol_special != NULL);
5377   if (gdbarch_debug >= 2)
5378     fprintf_unfiltered (gdb_stdlog, "gdbarch_coff_make_msymbol_special called\n");
5379   gdbarch->coff_make_msymbol_special (val, msym);
5380 }
5381
5382 void
5383 set_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch,
5384                                        gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special)
5385 {
5386   gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
5387 }
5388
5389 const char *
5390 gdbarch_name_of_malloc (struct gdbarch *gdbarch)
5391 {
5392   gdb_assert (gdbarch != NULL);
5393   /* Skip verify of name_of_malloc, invalid_p == 0 */
5394   if (gdbarch_debug >= 2)
5395     fprintf_unfiltered (gdb_stdlog, "gdbarch_name_of_malloc called\n");
5396   return gdbarch->name_of_malloc;
5397 }
5398
5399 void
5400 set_gdbarch_name_of_malloc (struct gdbarch *gdbarch,
5401                             const char * name_of_malloc)
5402 {
5403   gdbarch->name_of_malloc = name_of_malloc;
5404 }
5405
5406 int
5407 gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
5408 {
5409   gdb_assert (gdbarch != NULL);
5410   /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
5411   if (gdbarch_debug >= 2)
5412     fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_step_breakpoint called\n");
5413   return gdbarch->cannot_step_breakpoint;
5414 }
5415
5416 void
5417 set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch,
5418                                     int cannot_step_breakpoint)
5419 {
5420   gdbarch->cannot_step_breakpoint = cannot_step_breakpoint;
5421 }
5422
5423 int
5424 gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch)
5425 {
5426   gdb_assert (gdbarch != NULL);
5427   /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
5428   if (gdbarch_debug >= 2)
5429     fprintf_unfiltered (gdb_stdlog, "gdbarch_have_nonsteppable_watchpoint called\n");
5430   return gdbarch->have_nonsteppable_watchpoint;
5431 }
5432
5433 void
5434 set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch,
5435                                           int have_nonsteppable_watchpoint)
5436 {
5437   gdbarch->have_nonsteppable_watchpoint = have_nonsteppable_watchpoint;
5438 }
5439
5440 int
5441 gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch)
5442 {
5443   gdb_assert (gdbarch != NULL);
5444   return gdbarch->address_class_type_flags != NULL;
5445 }
5446
5447 int
5448 gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class)
5449 {
5450   gdb_assert (gdbarch != NULL);
5451   gdb_assert (gdbarch->address_class_type_flags != NULL);
5452   if (gdbarch_debug >= 2)
5453     fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags called\n");
5454   return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class);
5455 }
5456
5457 void
5458 set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch,
5459                                       gdbarch_address_class_type_flags_ftype address_class_type_flags)
5460 {
5461   gdbarch->address_class_type_flags = address_class_type_flags;
5462 }
5463
5464 int
5465 gdbarch_address_class_type_flags_to_name_p (struct gdbarch *gdbarch)
5466 {
5467   gdb_assert (gdbarch != NULL);
5468   return gdbarch->address_class_type_flags_to_name != NULL;
5469 }
5470
5471 const char *
5472 gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
5473 {
5474   gdb_assert (gdbarch != NULL);
5475   gdb_assert (gdbarch->address_class_type_flags_to_name != NULL);
5476   if (gdbarch_debug >= 2)
5477     fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags_to_name called\n");
5478   return gdbarch->address_class_type_flags_to_name (gdbarch, type_flags);
5479 }
5480
5481 void
5482 set_gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch,
5483                                               gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name)
5484 {
5485   gdbarch->address_class_type_flags_to_name = address_class_type_flags_to_name;
5486 }
5487
5488 int
5489 gdbarch_address_class_name_to_type_flags_p (struct gdbarch *gdbarch)
5490 {
5491   gdb_assert (gdbarch != NULL);
5492   return gdbarch->address_class_name_to_type_flags != NULL;
5493 }
5494
5495 int
5496 gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, int *type_flags_ptr)
5497 {
5498   gdb_assert (gdbarch != NULL);
5499   gdb_assert (gdbarch->address_class_name_to_type_flags != NULL);
5500   if (gdbarch_debug >= 2)
5501     fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_name_to_type_flags called\n");
5502   return gdbarch->address_class_name_to_type_flags (gdbarch, name, type_flags_ptr);
5503 }
5504
5505 void
5506 set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
5507                                               gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags)
5508 {
5509   gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags;
5510 }
5511
5512 int
5513 gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
5514 {
5515   gdb_assert (gdbarch != NULL);
5516   gdb_assert (gdbarch->register_reggroup_p != NULL);
5517   if (gdbarch_debug >= 2)
5518     fprintf_unfiltered (gdb_stdlog, "gdbarch_register_reggroup_p called\n");
5519   return gdbarch->register_reggroup_p (gdbarch, regnum, reggroup);
5520 }
5521
5522 void
5523 set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch,
5524                                  gdbarch_register_reggroup_p_ftype register_reggroup_p)
5525 {
5526   gdbarch->register_reggroup_p = register_reggroup_p;
5527 }
5528
5529 int
5530 gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch)
5531 {
5532   gdb_assert (gdbarch != NULL);
5533   return gdbarch->fetch_pointer_argument != NULL;
5534 }
5535
5536 CORE_ADDR
5537 gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type)
5538 {
5539   gdb_assert (gdbarch != NULL);
5540   gdb_assert (gdbarch->fetch_pointer_argument != NULL);
5541   if (gdbarch_debug >= 2)
5542     fprintf_unfiltered (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n");
5543   return gdbarch->fetch_pointer_argument (frame, argi, type);
5544 }
5545
5546 void
5547 set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch,
5548                                     gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument)
5549 {
5550   gdbarch->fetch_pointer_argument = fetch_pointer_argument;
5551 }
5552
5553 int
5554 gdbarch_regset_from_core_section_p (struct gdbarch *gdbarch)
5555 {
5556   gdb_assert (gdbarch != NULL);
5557   return gdbarch->regset_from_core_section != NULL;
5558 }
5559
5560 const struct regset *
5561 gdbarch_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
5562 {
5563   gdb_assert (gdbarch != NULL);
5564   gdb_assert (gdbarch->regset_from_core_section != NULL);
5565   if (gdbarch_debug >= 2)
5566     fprintf_unfiltered (gdb_stdlog, "gdbarch_regset_from_core_section called\n");
5567   return gdbarch->regset_from_core_section (gdbarch, sect_name, sect_size);
5568 }
5569
5570 void
5571 set_gdbarch_regset_from_core_section (struct gdbarch *gdbarch,
5572                                       gdbarch_regset_from_core_section_ftype regset_from_core_section)
5573 {
5574   gdbarch->regset_from_core_section = regset_from_core_section;
5575 }
5576
5577
5578 /* Keep a registry of per-architecture data-pointers required by GDB
5579    modules. */
5580
5581 struct gdbarch_data
5582 {
5583   unsigned index;
5584   int init_p;
5585   gdbarch_data_init_ftype *init;
5586 };
5587
5588 struct gdbarch_data_registration
5589 {
5590   struct gdbarch_data *data;
5591   struct gdbarch_data_registration *next;
5592 };
5593
5594 struct gdbarch_data_registry
5595 {
5596   unsigned nr;
5597   struct gdbarch_data_registration *registrations;
5598 };
5599
5600 struct gdbarch_data_registry gdbarch_data_registry =
5601 {
5602   0, NULL,
5603 };
5604
5605 struct gdbarch_data *
5606 register_gdbarch_data (gdbarch_data_init_ftype *init)
5607 {
5608   struct gdbarch_data_registration **curr;
5609   /* Append the new registraration.  */
5610   for (curr = &gdbarch_data_registry.registrations;
5611        (*curr) != NULL;
5612        curr = &(*curr)->next);
5613   (*curr) = XMALLOC (struct gdbarch_data_registration);
5614   (*curr)->next = NULL;
5615   (*curr)->data = XMALLOC (struct gdbarch_data);
5616   (*curr)->data->index = gdbarch_data_registry.nr++;
5617   (*curr)->data->init = init;
5618   (*curr)->data->init_p = 1;
5619   return (*curr)->data;
5620 }
5621
5622
5623 /* Create/delete the gdbarch data vector. */
5624
5625 static void
5626 alloc_gdbarch_data (struct gdbarch *gdbarch)
5627 {
5628   gdb_assert (gdbarch->data == NULL);
5629   gdbarch->nr_data = gdbarch_data_registry.nr;
5630   gdbarch->data = GDBARCH_OBSTACK_CALLOC (gdbarch, gdbarch->nr_data, void *);
5631 }
5632
5633 /* Initialize the current value of the specified per-architecture
5634    data-pointer. */
5635
5636 void
5637 set_gdbarch_data (struct gdbarch *gdbarch,
5638                   struct gdbarch_data *data,
5639                   void *pointer)
5640 {
5641   gdb_assert (data->index < gdbarch->nr_data);
5642   gdb_assert (gdbarch->data[data->index] == NULL);
5643   gdbarch->data[data->index] = pointer;
5644 }
5645
5646 /* Return the current value of the specified per-architecture
5647    data-pointer. */
5648
5649 void *
5650 gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
5651 {
5652   gdb_assert (data->index < gdbarch->nr_data);
5653   /* The data-pointer isn't initialized, call init() to get a value but
5654      only if the architecture initializaiton has completed.  Otherwise
5655      punt - hope that the caller knows what they are doing.  */
5656   if (gdbarch->data[data->index] == NULL
5657       && gdbarch->initialized_p)
5658     {
5659       /* Be careful to detect an initialization cycle.  */
5660       gdb_assert (data->init_p);
5661       data->init_p = 0;
5662       gdb_assert (data->init != NULL);
5663       gdbarch->data[data->index] = data->init (gdbarch);
5664       data->init_p = 1;
5665       gdb_assert (gdbarch->data[data->index] != NULL);
5666     }
5667   return gdbarch->data[data->index];
5668 }
5669
5670
5671
5672 /* Keep a registry of swapped data required by GDB modules. */
5673
5674 struct gdbarch_swap
5675 {
5676   void *swap;
5677   struct gdbarch_swap_registration *source;
5678   struct gdbarch_swap *next;
5679 };
5680
5681 struct gdbarch_swap_registration
5682 {
5683   void *data;
5684   unsigned long sizeof_data;
5685   gdbarch_swap_ftype *init;
5686   struct gdbarch_swap_registration *next;
5687 };
5688
5689 struct gdbarch_swap_registry
5690 {
5691   int nr;
5692   struct gdbarch_swap_registration *registrations;
5693 };
5694
5695 struct gdbarch_swap_registry gdbarch_swap_registry = 
5696 {
5697   0, NULL,
5698 };
5699
5700 void
5701 register_gdbarch_swap (void *data,
5702                        unsigned long sizeof_data,
5703                        gdbarch_swap_ftype *init)
5704 {
5705   struct gdbarch_swap_registration **rego;
5706   for (rego = &gdbarch_swap_registry.registrations;
5707        (*rego) != NULL;
5708        rego = &(*rego)->next);
5709   (*rego) = XMALLOC (struct gdbarch_swap_registration);
5710   (*rego)->next = NULL;
5711   (*rego)->init = init;
5712   (*rego)->data = data;
5713   (*rego)->sizeof_data = sizeof_data;
5714 }
5715
5716 static void
5717 current_gdbarch_swap_init_hack (void)
5718 {
5719   struct gdbarch_swap_registration *rego;
5720   struct gdbarch_swap **curr = &current_gdbarch->swap;
5721   for (rego = gdbarch_swap_registry.registrations;
5722        rego != NULL;
5723        rego = rego->next)
5724     {
5725       if (rego->data != NULL)
5726         {
5727           (*curr) = GDBARCH_OBSTACK_ZALLOC (current_gdbarch,
5728                                             struct gdbarch_swap);
5729           (*curr)->source = rego;
5730           (*curr)->swap = gdbarch_obstack_zalloc (current_gdbarch,
5731                                                   rego->sizeof_data);
5732           (*curr)->next = NULL;
5733           curr = &(*curr)->next;
5734         }
5735       if (rego->init != NULL)
5736         rego->init ();
5737     }
5738 }
5739
5740 static struct gdbarch *
5741 current_gdbarch_swap_out_hack (void)
5742 {
5743   struct gdbarch *old_gdbarch = current_gdbarch;
5744   struct gdbarch_swap *curr;
5745
5746   gdb_assert (old_gdbarch != NULL);
5747   for (curr = old_gdbarch->swap;
5748        curr != NULL;
5749        curr = curr->next)
5750     {
5751       memcpy (curr->swap, curr->source->data, curr->source->sizeof_data);
5752       memset (curr->source->data, 0, curr->source->sizeof_data);
5753     }
5754   current_gdbarch = NULL;
5755   return old_gdbarch;
5756 }
5757
5758 static void
5759 current_gdbarch_swap_in_hack (struct gdbarch *new_gdbarch)
5760 {
5761   struct gdbarch_swap *curr;
5762
5763   gdb_assert (current_gdbarch == NULL);
5764   for (curr = new_gdbarch->swap;
5765        curr != NULL;
5766        curr = curr->next)
5767     memcpy (curr->source->data, curr->swap, curr->source->sizeof_data);
5768   current_gdbarch = new_gdbarch;
5769 }
5770
5771
5772 /* Keep a registry of the architectures known by GDB. */
5773
5774 struct gdbarch_registration
5775 {
5776   enum bfd_architecture bfd_architecture;
5777   gdbarch_init_ftype *init;
5778   gdbarch_dump_tdep_ftype *dump_tdep;
5779   struct gdbarch_list *arches;
5780   struct gdbarch_registration *next;
5781 };
5782
5783 static struct gdbarch_registration *gdbarch_registry = NULL;
5784
5785 static void
5786 append_name (const char ***buf, int *nr, const char *name)
5787 {
5788   *buf = xrealloc (*buf, sizeof (char**) * (*nr + 1));
5789   (*buf)[*nr] = name;
5790   *nr += 1;
5791 }
5792
5793 const char **
5794 gdbarch_printable_names (void)
5795 {
5796   /* Accumulate a list of names based on the registed list of
5797      architectures. */
5798   enum bfd_architecture a;
5799   int nr_arches = 0;
5800   const char **arches = NULL;
5801   struct gdbarch_registration *rego;
5802   for (rego = gdbarch_registry;
5803        rego != NULL;
5804        rego = rego->next)
5805     {
5806       const struct bfd_arch_info *ap;
5807       ap = bfd_lookup_arch (rego->bfd_architecture, 0);
5808       if (ap == NULL)
5809         internal_error (__FILE__, __LINE__,
5810                         "gdbarch_architecture_names: multi-arch unknown");
5811       do
5812         {
5813           append_name (&arches, &nr_arches, ap->printable_name);
5814           ap = ap->next;
5815         }
5816       while (ap != NULL);
5817     }
5818   append_name (&arches, &nr_arches, NULL);
5819   return arches;
5820 }
5821
5822
5823 void
5824 gdbarch_register (enum bfd_architecture bfd_architecture,
5825                   gdbarch_init_ftype *init,
5826                   gdbarch_dump_tdep_ftype *dump_tdep)
5827 {
5828   struct gdbarch_registration **curr;
5829   const struct bfd_arch_info *bfd_arch_info;
5830   /* Check that BFD recognizes this architecture */
5831   bfd_arch_info = bfd_lookup_arch (bfd_architecture, 0);
5832   if (bfd_arch_info == NULL)
5833     {
5834       internal_error (__FILE__, __LINE__,
5835                       "gdbarch: Attempt to register unknown architecture (%d)",
5836                       bfd_architecture);
5837     }
5838   /* Check that we haven't seen this architecture before */
5839   for (curr = &gdbarch_registry;
5840        (*curr) != NULL;
5841        curr = &(*curr)->next)
5842     {
5843       if (bfd_architecture == (*curr)->bfd_architecture)
5844         internal_error (__FILE__, __LINE__,
5845                         "gdbarch: Duplicate registraration of architecture (%s)",
5846                         bfd_arch_info->printable_name);
5847     }
5848   /* log it */
5849   if (gdbarch_debug)
5850     fprintf_unfiltered (gdb_stdlog, "register_gdbarch_init (%s, 0x%08lx)\n",
5851                         bfd_arch_info->printable_name,
5852                         (long) init);
5853   /* Append it */
5854   (*curr) = XMALLOC (struct gdbarch_registration);
5855   (*curr)->bfd_architecture = bfd_architecture;
5856   (*curr)->init = init;
5857   (*curr)->dump_tdep = dump_tdep;
5858   (*curr)->arches = NULL;
5859   (*curr)->next = NULL;
5860 }
5861
5862 void
5863 register_gdbarch_init (enum bfd_architecture bfd_architecture,
5864                        gdbarch_init_ftype *init)
5865 {
5866   gdbarch_register (bfd_architecture, init, NULL);
5867 }
5868
5869
5870 /* Look for an architecture using gdbarch_info.  Base search on only
5871    BFD_ARCH_INFO and BYTE_ORDER. */
5872
5873 struct gdbarch_list *
5874 gdbarch_list_lookup_by_info (struct gdbarch_list *arches,
5875                              const struct gdbarch_info *info)
5876 {
5877   for (; arches != NULL; arches = arches->next)
5878     {
5879       if (info->bfd_arch_info != arches->gdbarch->bfd_arch_info)
5880         continue;
5881       if (info->byte_order != arches->gdbarch->byte_order)
5882         continue;
5883       if (info->osabi != arches->gdbarch->osabi)
5884         continue;
5885       return arches;
5886     }
5887   return NULL;
5888 }
5889
5890
5891 /* Find an architecture that matches the specified INFO.  Create a new
5892    architecture if needed.  Return that new architecture.  Assumes
5893    that there is no current architecture.  */
5894
5895 static struct gdbarch *
5896 find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
5897 {
5898   struct gdbarch *new_gdbarch;
5899   struct gdbarch_registration *rego;
5900
5901   /* The existing architecture has been swapped out - all this code
5902      works from a clean slate.  */
5903   gdb_assert (current_gdbarch == NULL);
5904
5905   /* Fill in missing parts of the INFO struct using a number of
5906      sources: "set ..."; INFOabfd supplied; and the existing
5907      architecture.  */
5908   gdbarch_info_fill (old_gdbarch, &info);
5909
5910   /* Must have found some sort of architecture. */
5911   gdb_assert (info.bfd_arch_info != NULL);
5912
5913   if (gdbarch_debug)
5914     {
5915       fprintf_unfiltered (gdb_stdlog,
5916                           "find_arch_by_info: info.bfd_arch_info %s\n",
5917                           (info.bfd_arch_info != NULL
5918                            ? info.bfd_arch_info->printable_name
5919                            : "(null)"));
5920       fprintf_unfiltered (gdb_stdlog,
5921                           "find_arch_by_info: info.byte_order %d (%s)\n",
5922                           info.byte_order,
5923                           (info.byte_order == BFD_ENDIAN_BIG ? "big"
5924                            : info.byte_order == BFD_ENDIAN_LITTLE ? "little"
5925                            : "default"));
5926       fprintf_unfiltered (gdb_stdlog,
5927                           "find_arch_by_info: info.osabi %d (%s)\n",
5928                           info.osabi, gdbarch_osabi_name (info.osabi));
5929       fprintf_unfiltered (gdb_stdlog,
5930                           "find_arch_by_info: info.abfd 0x%lx\n",
5931                           (long) info.abfd);
5932       fprintf_unfiltered (gdb_stdlog,
5933                           "find_arch_by_info: info.tdep_info 0x%lx\n",
5934                           (long) info.tdep_info);
5935     }
5936
5937   /* Find the tdep code that knows about this architecture.  */
5938   for (rego = gdbarch_registry;
5939        rego != NULL;
5940        rego = rego->next)
5941     if (rego->bfd_architecture == info.bfd_arch_info->arch)
5942       break;
5943   if (rego == NULL)
5944     {
5945       if (gdbarch_debug)
5946         fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5947                             "No matching architecture\n");
5948       return 0;
5949     }
5950
5951   /* Ask the tdep code for an architecture that matches "info".  */
5952   new_gdbarch = rego->init (info, rego->arches);
5953
5954   /* Did the tdep code like it?  No.  Reject the change and revert to
5955      the old architecture.  */
5956   if (new_gdbarch == NULL)
5957     {
5958       if (gdbarch_debug)
5959         fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5960                             "Target rejected architecture\n");
5961       return NULL;
5962     }
5963
5964   /* Is this a pre-existing architecture (as determined by already
5965      being initialized)?  Move it to the front of the architecture
5966      list (keeping the list sorted Most Recently Used).  */
5967   if (new_gdbarch->initialized_p)
5968     {
5969       struct gdbarch_list **list;
5970       struct gdbarch_list *this;
5971       if (gdbarch_debug)
5972         fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5973                             "Previous architecture 0x%08lx (%s) selected\n",
5974                             (long) new_gdbarch,
5975                             new_gdbarch->bfd_arch_info->printable_name);
5976       /* Find the existing arch in the list.  */
5977       for (list = &rego->arches;
5978            (*list) != NULL && (*list)->gdbarch != new_gdbarch;
5979            list = &(*list)->next);
5980       /* It had better be in the list of architectures.  */
5981       gdb_assert ((*list) != NULL && (*list)->gdbarch == new_gdbarch);
5982       /* Unlink THIS.  */
5983       this = (*list);
5984       (*list) = this->next;
5985       /* Insert THIS at the front.  */
5986       this->next = rego->arches;
5987       rego->arches = this;
5988       /* Return it.  */
5989       return new_gdbarch;
5990     }
5991
5992   /* It's a new architecture.  */
5993   if (gdbarch_debug)
5994     fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5995                         "New architecture 0x%08lx (%s) selected\n",
5996                         (long) new_gdbarch,
5997                         new_gdbarch->bfd_arch_info->printable_name);
5998   
5999   /* Insert the new architecture into the front of the architecture
6000      list (keep the list sorted Most Recently Used).  */
6001   {
6002     struct gdbarch_list *this = XMALLOC (struct gdbarch_list);
6003     this->next = rego->arches;
6004     this->gdbarch = new_gdbarch;
6005     rego->arches = this;
6006   }    
6007
6008   /* Check that the newly installed architecture is valid.  Plug in
6009      any post init values.  */
6010   new_gdbarch->dump_tdep = rego->dump_tdep;
6011   verify_gdbarch (new_gdbarch);
6012   new_gdbarch->initialized_p = 1;
6013
6014   /* Initialize any per-architecture swap areas.  This phase requires
6015      a valid global CURRENT_GDBARCH.  Set it momentarially, and then
6016      swap the entire architecture out.  */
6017   current_gdbarch = new_gdbarch;
6018   current_gdbarch_swap_init_hack ();
6019   current_gdbarch_swap_out_hack ();
6020
6021   if (gdbarch_debug)
6022     gdbarch_dump (new_gdbarch, gdb_stdlog);
6023
6024   return new_gdbarch;
6025 }
6026
6027 struct gdbarch *
6028 gdbarch_find_by_info (struct gdbarch_info info)
6029 {
6030   /* Save the previously selected architecture, setting the global to
6031      NULL.  This stops things like gdbarch->init() trying to use the
6032      previous architecture's configuration.  The previous architecture
6033      may not even be of the same architecture family.  The most recent
6034      architecture of the same family is found at the head of the
6035      rego->arches list.  */
6036   struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();
6037
6038   /* Find the specified architecture.  */
6039   struct gdbarch *new_gdbarch = find_arch_by_info (old_gdbarch, info);
6040
6041   /* Restore the existing architecture.  */
6042   gdb_assert (current_gdbarch == NULL);
6043   current_gdbarch_swap_in_hack (old_gdbarch);
6044
6045   return new_gdbarch;
6046 }
6047
6048 /* Make the specified architecture current, swapping the existing one
6049    out.  */
6050
6051 void
6052 deprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)
6053 {
6054   gdb_assert (new_gdbarch != NULL);
6055   gdb_assert (current_gdbarch != NULL);
6056   gdb_assert (new_gdbarch->initialized_p);
6057   current_gdbarch_swap_out_hack ();
6058   current_gdbarch_swap_in_hack (new_gdbarch);
6059   architecture_changed_event ();
6060 }
6061
6062 extern void _initialize_gdbarch (void);
6063
6064 void
6065 _initialize_gdbarch (void)
6066 {
6067   struct cmd_list_element *c;
6068
6069   add_show_from_set (add_set_cmd ("arch",
6070                                   class_maintenance,
6071                                   var_zinteger,
6072                                   (char *)&gdbarch_debug,
6073                                   "Set architecture debugging.\n\
6074 When non-zero, architecture debugging is enabled.", &setdebuglist),
6075                      &showdebuglist);
6076   c = add_set_cmd ("archdebug",
6077                    class_maintenance,
6078                    var_zinteger,
6079                    (char *)&gdbarch_debug,
6080                    "Set architecture debugging.\n\
6081 When non-zero, architecture debugging is enabled.", &setlist);
6082
6083   deprecate_cmd (c, "set debug arch");
6084   deprecate_cmd (add_show_from_set (c, &showlist), "show debug arch");
6085 }