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