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