198944Sobrien/* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
246283Sdfr
398944Sobrien/* Dynamic architecture support for GDB, the GNU debugger.
446283Sdfr
5130803Smarcel   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
6130803Smarcel   Software Foundation, Inc.
7130803Smarcel
898944Sobrien   This file is part of GDB.
946283Sdfr
1098944Sobrien   This program is free software; you can redistribute it and/or modify
1198944Sobrien   it under the terms of the GNU General Public License as published by
1298944Sobrien   the Free Software Foundation; either version 2 of the License, or
1398944Sobrien   (at your option) any later version.
1446283Sdfr
1598944Sobrien   This program is distributed in the hope that it will be useful,
1698944Sobrien   but WITHOUT ANY WARRANTY; without even the implied warranty of
1798944Sobrien   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1898944Sobrien   GNU General Public License for more details.
1946283Sdfr
2098944Sobrien   You should have received a copy of the GNU General Public License
2198944Sobrien   along with this program; if not, write to the Free Software
2298944Sobrien   Foundation, Inc., 59 Temple Place - Suite 330,
2398944Sobrien   Boston, MA 02111-1307, USA.  */
2498944Sobrien
2598944Sobrien/* This file was created with the aid of ``gdbarch.sh''.
2698944Sobrien
2798944Sobrien   The Bourne shell script ``gdbarch.sh'' creates the files
2898944Sobrien   ``new-gdbarch.c'' and ``new-gdbarch.h and then compares them
2998944Sobrien   against the existing ``gdbarch.[hc]''.  Any differences found
3098944Sobrien   being reported.
3198944Sobrien
3298944Sobrien   If editing this file, please also run gdbarch.sh and merge any
3398944Sobrien   changes into that script. Conversely, when making sweeping changes
3498944Sobrien   to this file, modifying gdbarch.sh and using its output may prove
3598944Sobrien   easier. */
3698944Sobrien
3798944Sobrien
3846283Sdfr#include "defs.h"
3998944Sobrien#include "arch-utils.h"
4098944Sobrien
4146283Sdfr#include "gdbcmd.h"
4298944Sobrien#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */
4398944Sobrien#include "symcat.h"
4446283Sdfr
4598944Sobrien#include "floatformat.h"
4646283Sdfr
4798944Sobrien#include "gdb_assert.h"
48130803Smarcel#include "gdb_string.h"
4998944Sobrien#include "gdb-events.h"
50130803Smarcel#include "reggroups.h"
51130803Smarcel#include "osabi.h"
52130803Smarcel#include "gdb_obstack.h"
5346283Sdfr
5498944Sobrien/* Static function declarations */
5598944Sobrien
5698944Sobrienstatic void alloc_gdbarch_data (struct gdbarch *);
5798944Sobrien
5846283Sdfr/* Non-zero if we want to trace architecture code.  */
5946283Sdfr
6046283Sdfr#ifndef GDBARCH_DEBUG
6146283Sdfr#define GDBARCH_DEBUG 0
6246283Sdfr#endif
6346283Sdfrint gdbarch_debug = GDBARCH_DEBUG;
6446283Sdfr
6546283Sdfr
6698944Sobrien/* Maintain the struct gdbarch object */
6746283Sdfr
6898944Sobrienstruct gdbarch
6998944Sobrien{
70130803Smarcel  /* Has this architecture been fully initialized?  */
71130803Smarcel  int initialized_p;
72130803Smarcel
73130803Smarcel  /* An obstack bound to the lifetime of the architecture.  */
74130803Smarcel  struct obstack *obstack;
75130803Smarcel
7698944Sobrien  /* basic architectural information */
7798944Sobrien  const struct bfd_arch_info * bfd_arch_info;
7898944Sobrien  int byte_order;
79130803Smarcel  enum gdb_osabi osabi;
8098944Sobrien
8198944Sobrien  /* target specific vector. */
8298944Sobrien  struct gdbarch_tdep *tdep;
8398944Sobrien  gdbarch_dump_tdep_ftype *dump_tdep;
8498944Sobrien
8598944Sobrien  /* per-architecture data-pointers */
8698944Sobrien  unsigned nr_data;
8798944Sobrien  void **data;
8898944Sobrien
8998944Sobrien  /* per-architecture swap-regions */
9098944Sobrien  struct gdbarch_swap *swap;
9198944Sobrien
9298944Sobrien  /* Multi-arch values.
9398944Sobrien
9498944Sobrien     When extending this structure you must:
9598944Sobrien
9698944Sobrien     Add the field below.
9798944Sobrien
9898944Sobrien     Declare set/get functions and define the corresponding
9998944Sobrien     macro in gdbarch.h.
10098944Sobrien
10198944Sobrien     gdbarch_alloc(): If zero/NULL is not a suitable default,
10298944Sobrien     initialize the new field.
10398944Sobrien
10498944Sobrien     verify_gdbarch(): Confirm that the target updated the field
10598944Sobrien     correctly.
10698944Sobrien
10798944Sobrien     gdbarch_dump(): Add a fprintf_unfiltered call so that the new
10898944Sobrien     field is dumped out
10998944Sobrien
11098944Sobrien     ``startup_gdbarch()'': Append an initial value to the static
11198944Sobrien     variable (base values on the host's c-type system).
11298944Sobrien
11398944Sobrien     get_gdbarch(): Implement the set/get functions (probably using
11498944Sobrien     the macro's as shortcuts).
11598944Sobrien
11698944Sobrien     */
11798944Sobrien
11898944Sobrien  int short_bit;
11998944Sobrien  int int_bit;
12098944Sobrien  int long_bit;
12198944Sobrien  int long_long_bit;
12298944Sobrien  int float_bit;
12398944Sobrien  int double_bit;
12498944Sobrien  int long_double_bit;
12598944Sobrien  int ptr_bit;
12698944Sobrien  int addr_bit;
12798944Sobrien  int bfd_vma_bit;
12898944Sobrien  int char_signed;
12998944Sobrien  gdbarch_read_pc_ftype *read_pc;
13098944Sobrien  gdbarch_write_pc_ftype *write_pc;
13198944Sobrien  gdbarch_read_sp_ftype *read_sp;
13298944Sobrien  gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer;
133130803Smarcel  gdbarch_pseudo_register_read_ftype *pseudo_register_read;
134130803Smarcel  gdbarch_pseudo_register_write_ftype *pseudo_register_write;
13598944Sobrien  int num_regs;
13698944Sobrien  int num_pseudo_regs;
13798944Sobrien  int sp_regnum;
13898944Sobrien  int pc_regnum;
139130803Smarcel  int ps_regnum;
14098944Sobrien  int fp0_regnum;
14198944Sobrien  gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum;
14298944Sobrien  gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum;
14398944Sobrien  gdbarch_dwarf_reg_to_regnum_ftype *dwarf_reg_to_regnum;
14498944Sobrien  gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum;
14598944Sobrien  gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum;
14698944Sobrien  gdbarch_register_name_ftype *register_name;
147130803Smarcel  gdbarch_register_type_ftype *register_type;
148130803Smarcel  gdbarch_deprecated_register_virtual_type_ftype *deprecated_register_virtual_type;
149130803Smarcel  int deprecated_register_bytes;
150130803Smarcel  gdbarch_deprecated_register_byte_ftype *deprecated_register_byte;
151130803Smarcel  gdbarch_deprecated_register_raw_size_ftype *deprecated_register_raw_size;
152130803Smarcel  gdbarch_deprecated_register_virtual_size_ftype *deprecated_register_virtual_size;
153130803Smarcel  int deprecated_max_register_raw_size;
154130803Smarcel  int deprecated_max_register_virtual_size;
155130803Smarcel  gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
156130803Smarcel  gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos;
157130803Smarcel  int deprecated_fp_regnum;
158130803Smarcel  gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp;
159130803Smarcel  gdbarch_push_dummy_call_ftype *push_dummy_call;
160130803Smarcel  gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments;
161130803Smarcel  int deprecated_use_generic_dummy_frames;
162130803Smarcel  gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address;
163130803Smarcel  gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp;
164130803Smarcel  int deprecated_register_size;
165130803Smarcel  int call_dummy_location;
166130803Smarcel  CORE_ADDR deprecated_call_dummy_start_offset;
167130803Smarcel  CORE_ADDR deprecated_call_dummy_breakpoint_offset;
168130803Smarcel  int deprecated_call_dummy_length;
169130803Smarcel  LONGEST * deprecated_call_dummy_words;
170130803Smarcel  int deprecated_sizeof_call_dummy_words;
171130803Smarcel  gdbarch_deprecated_fix_call_dummy_ftype *deprecated_fix_call_dummy;
172130803Smarcel  gdbarch_push_dummy_code_ftype *push_dummy_code;
173130803Smarcel  gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame;
174130803Smarcel  gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info;
175130803Smarcel  gdbarch_print_registers_info_ftype *print_registers_info;
17698944Sobrien  gdbarch_print_float_info_ftype *print_float_info;
177130803Smarcel  gdbarch_print_vector_info_ftype *print_vector_info;
17898944Sobrien  gdbarch_register_sim_regno_ftype *register_sim_regno;
17998944Sobrien  gdbarch_register_bytes_ok_ftype *register_bytes_ok;
18098944Sobrien  gdbarch_cannot_fetch_register_ftype *cannot_fetch_register;
18198944Sobrien  gdbarch_cannot_store_register_ftype *cannot_store_register;
18298944Sobrien  gdbarch_get_longjmp_target_ftype *get_longjmp_target;
183130803Smarcel  gdbarch_deprecated_pc_in_call_dummy_ftype *deprecated_pc_in_call_dummy;
184130803Smarcel  gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first;
185130803Smarcel  gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc;
18698944Sobrien  int believe_pcc_promotion;
18798944Sobrien  int believe_pcc_promotion_type;
188130803Smarcel  gdbarch_deprecated_get_saved_register_ftype *deprecated_get_saved_register;
189130803Smarcel  gdbarch_deprecated_register_convertible_ftype *deprecated_register_convertible;
190130803Smarcel  gdbarch_deprecated_register_convert_to_virtual_ftype *deprecated_register_convert_to_virtual;
191130803Smarcel  gdbarch_deprecated_register_convert_to_raw_ftype *deprecated_register_convert_to_raw;
192130803Smarcel  gdbarch_convert_register_p_ftype *convert_register_p;
193130803Smarcel  gdbarch_register_to_value_ftype *register_to_value;
194130803Smarcel  gdbarch_value_to_register_ftype *value_to_register;
19598944Sobrien  gdbarch_pointer_to_address_ftype *pointer_to_address;
19698944Sobrien  gdbarch_address_to_pointer_ftype *address_to_pointer;
19798944Sobrien  gdbarch_integer_to_address_ftype *integer_to_address;
198130803Smarcel  gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame;
199130803Smarcel  gdbarch_deprecated_store_struct_return_ftype *deprecated_store_struct_return;
200130803Smarcel  gdbarch_return_value_ftype *return_value;
20198944Sobrien  gdbarch_return_value_on_stack_ftype *return_value_on_stack;
20298944Sobrien  gdbarch_extract_return_value_ftype *extract_return_value;
20398944Sobrien  gdbarch_store_return_value_ftype *store_return_value;
204130803Smarcel  gdbarch_deprecated_extract_return_value_ftype *deprecated_extract_return_value;
205130803Smarcel  gdbarch_deprecated_store_return_value_ftype *deprecated_store_return_value;
20698944Sobrien  gdbarch_use_struct_convention_ftype *use_struct_convention;
207130803Smarcel  gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address;
208130803Smarcel  gdbarch_deprecated_frame_init_saved_regs_ftype *deprecated_frame_init_saved_regs;
209130803Smarcel  gdbarch_deprecated_init_extra_frame_info_ftype *deprecated_init_extra_frame_info;
21098944Sobrien  gdbarch_skip_prologue_ftype *skip_prologue;
21198944Sobrien  gdbarch_inner_than_ftype *inner_than;
21298944Sobrien  gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
213130803Smarcel  gdbarch_adjust_breakpoint_address_ftype *adjust_breakpoint_address;
21498944Sobrien  gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint;
21598944Sobrien  gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint;
21698944Sobrien  CORE_ADDR decr_pc_after_break;
21798944Sobrien  CORE_ADDR function_start_offset;
21898944Sobrien  gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
21998944Sobrien  CORE_ADDR frame_args_skip;
220130803Smarcel  gdbarch_deprecated_frameless_function_invocation_ftype *deprecated_frameless_function_invocation;
221130803Smarcel  gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
222130803Smarcel  gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
223130803Smarcel  gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
224130803Smarcel  gdbarch_unwind_pc_ftype *unwind_pc;
225130803Smarcel  gdbarch_unwind_sp_ftype *unwind_sp;
226130803Smarcel  gdbarch_deprecated_frame_args_address_ftype *deprecated_frame_args_address;
227130803Smarcel  gdbarch_deprecated_frame_locals_address_ftype *deprecated_frame_locals_address;
228130803Smarcel  gdbarch_deprecated_saved_pc_after_call_ftype *deprecated_saved_pc_after_call;
22998944Sobrien  gdbarch_frame_num_args_ftype *frame_num_args;
230130803Smarcel  gdbarch_deprecated_stack_align_ftype *deprecated_stack_align;
231130803Smarcel  gdbarch_frame_align_ftype *frame_align;
232130803Smarcel  gdbarch_deprecated_reg_struct_has_addr_ftype *deprecated_reg_struct_has_addr;
233130803Smarcel  gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr;
234130803Smarcel  int frame_red_zone_size;
23598944Sobrien  int parm_boundary;
23698944Sobrien  const struct floatformat * float_format;
23798944Sobrien  const struct floatformat * double_format;
23898944Sobrien  const struct floatformat * long_double_format;
23998944Sobrien  gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
24098944Sobrien  gdbarch_addr_bits_remove_ftype *addr_bits_remove;
24198944Sobrien  gdbarch_smash_text_address_ftype *smash_text_address;
24298944Sobrien  gdbarch_software_single_step_ftype *software_single_step;
24398944Sobrien  gdbarch_print_insn_ftype *print_insn;
24498944Sobrien  gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
245130803Smarcel  gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
24698944Sobrien  gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline;
247130803Smarcel  gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
248130803Smarcel  gdbarch_pc_in_sigtramp_ftype *pc_in_sigtramp;
249130803Smarcel  gdbarch_sigtramp_start_ftype *sigtramp_start;
250130803Smarcel  gdbarch_sigtramp_end_ftype *sigtramp_end;
25198944Sobrien  gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
25298944Sobrien  gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
25398944Sobrien  gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
25498944Sobrien  gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
255130803Smarcel  const char * name_of_malloc;
256130803Smarcel  int cannot_step_breakpoint;
257130803Smarcel  int have_nonsteppable_watchpoint;
258130803Smarcel  gdbarch_address_class_type_flags_ftype *address_class_type_flags;
259130803Smarcel  gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name;
260130803Smarcel  gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags;
261130803Smarcel  gdbarch_register_reggroup_p_ftype *register_reggroup_p;
262130803Smarcel  gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
263130803Smarcel  gdbarch_regset_from_core_section_ftype *regset_from_core_section;
26498944Sobrien};
26598944Sobrien
26698944Sobrien
26798944Sobrien/* The default architecture uses host values (for want of a better
26898944Sobrien   choice). */
26998944Sobrien
27098944Sobrienextern const struct bfd_arch_info bfd_default_arch_struct;
27198944Sobrien
27298944Sobrienstruct gdbarch startup_gdbarch =
27398944Sobrien{
274130803Smarcel  1, /* Always initialized.  */
275130803Smarcel  NULL, /* The obstack.  */
27698944Sobrien  /* basic architecture information */
277130803Smarcel  &bfd_default_arch_struct,  /* bfd_arch_info */
278130803Smarcel  BFD_ENDIAN_BIG,  /* byte_order */
279130803Smarcel  GDB_OSABI_UNKNOWN,  /* osabi */
28098944Sobrien  /* target specific vector and its dump routine */
28198944Sobrien  NULL, NULL,
28298944Sobrien  /*per-architecture data-pointers and swap regions */
28398944Sobrien  0, NULL, NULL,
28498944Sobrien  /* Multi-arch values */
285130803Smarcel  8 * sizeof (short),  /* short_bit */
286130803Smarcel  8 * sizeof (int),  /* int_bit */
287130803Smarcel  8 * sizeof (long),  /* long_bit */
288130803Smarcel  8 * sizeof (LONGEST),  /* long_long_bit */
289130803Smarcel  8 * sizeof (float),  /* float_bit */
290130803Smarcel  8 * sizeof (double),  /* double_bit */
291130803Smarcel  8 * sizeof (long double),  /* long_double_bit */
292130803Smarcel  8 * sizeof (void*),  /* ptr_bit */
293130803Smarcel  8 * sizeof (void*),  /* addr_bit */
294130803Smarcel  8 * sizeof (void*),  /* bfd_vma_bit */
295130803Smarcel  1,  /* char_signed */
296130803Smarcel  0,  /* read_pc */
297130803Smarcel  0,  /* write_pc */
298130803Smarcel  0,  /* read_sp */
299130803Smarcel  0,  /* virtual_frame_pointer */
300130803Smarcel  0,  /* pseudo_register_read */
301130803Smarcel  0,  /* pseudo_register_write */
302130803Smarcel  0,  /* num_regs */
303130803Smarcel  0,  /* num_pseudo_regs */
304130803Smarcel  -1,  /* sp_regnum */
305130803Smarcel  -1,  /* pc_regnum */
306130803Smarcel  -1,  /* ps_regnum */
307130803Smarcel  0,  /* fp0_regnum */
308130803Smarcel  0,  /* stab_reg_to_regnum */
309130803Smarcel  0,  /* ecoff_reg_to_regnum */
310130803Smarcel  0,  /* dwarf_reg_to_regnum */
311130803Smarcel  0,  /* sdb_reg_to_regnum */
312130803Smarcel  0,  /* dwarf2_reg_to_regnum */
313130803Smarcel  0,  /* register_name */
314130803Smarcel  0,  /* register_type */
315130803Smarcel  0,  /* deprecated_register_virtual_type */
316130803Smarcel  0,  /* deprecated_register_bytes */
317130803Smarcel  generic_register_byte,  /* deprecated_register_byte */
318130803Smarcel  generic_register_size,  /* deprecated_register_raw_size */
319130803Smarcel  generic_register_size,  /* deprecated_register_virtual_size */
320130803Smarcel  0,  /* deprecated_max_register_raw_size */
321130803Smarcel  0,  /* deprecated_max_register_virtual_size */
322130803Smarcel  0,  /* unwind_dummy_id */
323130803Smarcel  0,  /* deprecated_save_dummy_frame_tos */
324130803Smarcel  -1,  /* deprecated_fp_regnum */
325130803Smarcel  0,  /* deprecated_target_read_fp */
326130803Smarcel  0,  /* push_dummy_call */
327130803Smarcel  0,  /* deprecated_push_arguments */
328130803Smarcel  0,  /* deprecated_use_generic_dummy_frames */
329130803Smarcel  0,  /* deprecated_push_return_address */
330130803Smarcel  0,  /* deprecated_dummy_write_sp */
331130803Smarcel  0,  /* deprecated_register_size */
332130803Smarcel  0,  /* call_dummy_location */
333130803Smarcel  0,  /* deprecated_call_dummy_start_offset */
334130803Smarcel  0,  /* deprecated_call_dummy_breakpoint_offset */
335130803Smarcel  0,  /* deprecated_call_dummy_length */
336130803Smarcel  0,  /* deprecated_call_dummy_words */
337130803Smarcel  0,  /* deprecated_sizeof_call_dummy_words */
338130803Smarcel  0,  /* deprecated_fix_call_dummy */
339130803Smarcel  0,  /* push_dummy_code */
340130803Smarcel  0,  /* deprecated_push_dummy_frame */
341130803Smarcel  0,  /* deprecated_do_registers_info */
342130803Smarcel  default_print_registers_info,  /* print_registers_info */
343130803Smarcel  0,  /* print_float_info */
344130803Smarcel  0,  /* print_vector_info */
345130803Smarcel  0,  /* register_sim_regno */
346130803Smarcel  0,  /* register_bytes_ok */
347130803Smarcel  0,  /* cannot_fetch_register */
348130803Smarcel  0,  /* cannot_store_register */
349130803Smarcel  0,  /* get_longjmp_target */
350130803Smarcel  generic_pc_in_call_dummy,  /* deprecated_pc_in_call_dummy */
351130803Smarcel  0,  /* deprecated_init_frame_pc_first */
352130803Smarcel  0,  /* deprecated_init_frame_pc */
353130803Smarcel  0,  /* believe_pcc_promotion */
354130803Smarcel  0,  /* believe_pcc_promotion_type */
355130803Smarcel  0,  /* deprecated_get_saved_register */
356130803Smarcel  0,  /* deprecated_register_convertible */
357130803Smarcel  0,  /* deprecated_register_convert_to_virtual */
358130803Smarcel  0,  /* deprecated_register_convert_to_raw */
359130803Smarcel  0,  /* convert_register_p */
360130803Smarcel  0,  /* register_to_value */
361130803Smarcel  0,  /* value_to_register */
362130803Smarcel  0,  /* pointer_to_address */
363130803Smarcel  0,  /* address_to_pointer */
364130803Smarcel  0,  /* integer_to_address */
365130803Smarcel  0,  /* deprecated_pop_frame */
366130803Smarcel  0,  /* deprecated_store_struct_return */
367130803Smarcel  0,  /* return_value */
368130803Smarcel  0,  /* return_value_on_stack */
369130803Smarcel  0,  /* extract_return_value */
370130803Smarcel  0,  /* store_return_value */
371130803Smarcel  0,  /* deprecated_extract_return_value */
372130803Smarcel  0,  /* deprecated_store_return_value */
373130803Smarcel  0,  /* use_struct_convention */
374130803Smarcel  0,  /* deprecated_extract_struct_value_address */
375130803Smarcel  0,  /* deprecated_frame_init_saved_regs */
376130803Smarcel  0,  /* deprecated_init_extra_frame_info */
377130803Smarcel  0,  /* skip_prologue */
378130803Smarcel  0,  /* inner_than */
379130803Smarcel  0,  /* breakpoint_from_pc */
380130803Smarcel  0,  /* adjust_breakpoint_address */
381130803Smarcel  0,  /* memory_insert_breakpoint */
382130803Smarcel  0,  /* memory_remove_breakpoint */
383130803Smarcel  0,  /* decr_pc_after_break */
384130803Smarcel  0,  /* function_start_offset */
385130803Smarcel  generic_remote_translate_xfer_address,  /* remote_translate_xfer_address */
386130803Smarcel  0,  /* frame_args_skip */
387130803Smarcel  0,  /* deprecated_frameless_function_invocation */
388130803Smarcel  0,  /* deprecated_frame_chain */
389130803Smarcel  0,  /* deprecated_frame_chain_valid */
390130803Smarcel  0,  /* deprecated_frame_saved_pc */
391130803Smarcel  0,  /* unwind_pc */
392130803Smarcel  0,  /* unwind_sp */
393130803Smarcel  get_frame_base,  /* deprecated_frame_args_address */
394130803Smarcel  get_frame_base,  /* deprecated_frame_locals_address */
395130803Smarcel  0,  /* deprecated_saved_pc_after_call */
396130803Smarcel  0,  /* frame_num_args */
397130803Smarcel  0,  /* deprecated_stack_align */
398130803Smarcel  0,  /* frame_align */
399130803Smarcel  0,  /* deprecated_reg_struct_has_addr */
400130803Smarcel  default_stabs_argument_has_addr,  /* stabs_argument_has_addr */
401130803Smarcel  0,  /* frame_red_zone_size */
402130803Smarcel  0,  /* parm_boundary */
403130803Smarcel  0,  /* float_format */
404130803Smarcel  0,  /* double_format */
405130803Smarcel  0,  /* long_double_format */
406130803Smarcel  convert_from_func_ptr_addr_identity,  /* convert_from_func_ptr_addr */
407130803Smarcel  0,  /* addr_bits_remove */
408130803Smarcel  0,  /* smash_text_address */
409130803Smarcel  0,  /* software_single_step */
410130803Smarcel  0,  /* print_insn */
411130803Smarcel  0,  /* skip_trampoline_code */
412130803Smarcel  generic_skip_solib_resolver,  /* skip_solib_resolver */
413130803Smarcel  0,  /* in_solib_call_trampoline */
414130803Smarcel  0,  /* in_solib_return_trampoline */
415130803Smarcel  0,  /* pc_in_sigtramp */
416130803Smarcel  0,  /* sigtramp_start */
417130803Smarcel  0,  /* sigtramp_end */
418130803Smarcel  generic_in_function_epilogue_p,  /* in_function_epilogue_p */
419130803Smarcel  construct_inferior_arguments,  /* construct_inferior_arguments */
420130803Smarcel  0,  /* elf_make_msymbol_special */
421130803Smarcel  0,  /* coff_make_msymbol_special */
422130803Smarcel  "malloc",  /* name_of_malloc */
423130803Smarcel  0,  /* cannot_step_breakpoint */
424130803Smarcel  0,  /* have_nonsteppable_watchpoint */
425130803Smarcel  0,  /* address_class_type_flags */
426130803Smarcel  0,  /* address_class_type_flags_to_name */
427130803Smarcel  0,  /* address_class_name_to_type_flags */
428130803Smarcel  default_register_reggroup_p,  /* register_reggroup_p */
429130803Smarcel  0,  /* fetch_pointer_argument */
430130803Smarcel  0,  /* regset_from_core_section */
43198944Sobrien  /* startup_gdbarch() */
43298944Sobrien};
43398944Sobrien
43498944Sobrienstruct gdbarch *current_gdbarch = &startup_gdbarch;
43598944Sobrien
43698944Sobrien/* Create a new ``struct gdbarch'' based on information provided by
43798944Sobrien   ``struct gdbarch_info''. */
43898944Sobrien
43998944Sobrienstruct gdbarch *
44098944Sobriengdbarch_alloc (const struct gdbarch_info *info,
44198944Sobrien               struct gdbarch_tdep *tdep)
44298944Sobrien{
44398944Sobrien  /* NOTE: The new architecture variable is named ``current_gdbarch''
44498944Sobrien     so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to
44598944Sobrien     the current local architecture and not the previous global
44698944Sobrien     architecture.  This ensures that the new architectures initial
44798944Sobrien     values are not influenced by the previous architecture.  Once
44898944Sobrien     everything is parameterised with gdbarch, this will go away.  */
449130803Smarcel  struct gdbarch *current_gdbarch;
450130803Smarcel
451130803Smarcel  /* Create an obstack for allocating all the per-architecture memory,
452130803Smarcel     then use that to allocate the architecture vector.  */
453130803Smarcel  struct obstack *obstack = XMALLOC (struct obstack);
454130803Smarcel  obstack_init (obstack);
455130803Smarcel  current_gdbarch = obstack_alloc (obstack, sizeof (*current_gdbarch));
45698944Sobrien  memset (current_gdbarch, 0, sizeof (*current_gdbarch));
457130803Smarcel  current_gdbarch->obstack = obstack;
45898944Sobrien
45998944Sobrien  alloc_gdbarch_data (current_gdbarch);
46098944Sobrien
46198944Sobrien  current_gdbarch->tdep = tdep;
46298944Sobrien
46398944Sobrien  current_gdbarch->bfd_arch_info = info->bfd_arch_info;
46498944Sobrien  current_gdbarch->byte_order = info->byte_order;
465130803Smarcel  current_gdbarch->osabi = info->osabi;
46698944Sobrien
46798944Sobrien  /* Force the explicit initialization of these. */
46898944Sobrien  current_gdbarch->short_bit = 2*TARGET_CHAR_BIT;
46998944Sobrien  current_gdbarch->int_bit = 4*TARGET_CHAR_BIT;
47098944Sobrien  current_gdbarch->long_bit = 4*TARGET_CHAR_BIT;
47198944Sobrien  current_gdbarch->long_long_bit = 2*TARGET_LONG_BIT;
47298944Sobrien  current_gdbarch->float_bit = 4*TARGET_CHAR_BIT;
47398944Sobrien  current_gdbarch->double_bit = 8*TARGET_CHAR_BIT;
47498944Sobrien  current_gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
47598944Sobrien  current_gdbarch->ptr_bit = TARGET_INT_BIT;
47698944Sobrien  current_gdbarch->bfd_vma_bit = TARGET_ARCHITECTURE->bits_per_address;
47798944Sobrien  current_gdbarch->char_signed = -1;
47898944Sobrien  current_gdbarch->write_pc = generic_target_write_pc;
47998944Sobrien  current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
48098944Sobrien  current_gdbarch->num_regs = -1;
48198944Sobrien  current_gdbarch->sp_regnum = -1;
48298944Sobrien  current_gdbarch->pc_regnum = -1;
483130803Smarcel  current_gdbarch->ps_regnum = -1;
48498944Sobrien  current_gdbarch->fp0_regnum = -1;
48598944Sobrien  current_gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
48698944Sobrien  current_gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
48798944Sobrien  current_gdbarch->dwarf_reg_to_regnum = no_op_reg_to_regnum;
48898944Sobrien  current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
48998944Sobrien  current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
490130803Smarcel  current_gdbarch->deprecated_register_byte = generic_register_byte;
491130803Smarcel  current_gdbarch->deprecated_register_raw_size = generic_register_size;
492130803Smarcel  current_gdbarch->deprecated_register_virtual_size = generic_register_size;
493130803Smarcel  current_gdbarch->deprecated_fp_regnum = -1;
494130803Smarcel  current_gdbarch->deprecated_use_generic_dummy_frames = 1;
495130803Smarcel  current_gdbarch->call_dummy_location = AT_ENTRY_POINT;
496130803Smarcel  current_gdbarch->deprecated_call_dummy_words = legacy_call_dummy_words;
497130803Smarcel  current_gdbarch->deprecated_sizeof_call_dummy_words = legacy_sizeof_call_dummy_words;
498130803Smarcel  current_gdbarch->print_registers_info = default_print_registers_info;
499130803Smarcel  current_gdbarch->register_sim_regno = legacy_register_sim_regno;
50098944Sobrien  current_gdbarch->cannot_fetch_register = cannot_register_not;
50198944Sobrien  current_gdbarch->cannot_store_register = cannot_register_not;
502130803Smarcel  current_gdbarch->deprecated_pc_in_call_dummy = generic_pc_in_call_dummy;
503130803Smarcel  current_gdbarch->convert_register_p = legacy_convert_register_p;
504130803Smarcel  current_gdbarch->register_to_value = legacy_register_to_value;
505130803Smarcel  current_gdbarch->value_to_register = legacy_value_to_register;
50698944Sobrien  current_gdbarch->pointer_to_address = unsigned_pointer_to_address;
50798944Sobrien  current_gdbarch->address_to_pointer = unsigned_address_to_pointer;
50898944Sobrien  current_gdbarch->return_value_on_stack = generic_return_value_on_stack_not;
509130803Smarcel  current_gdbarch->extract_return_value = legacy_extract_return_value;
510130803Smarcel  current_gdbarch->store_return_value = legacy_store_return_value;
51198944Sobrien  current_gdbarch->use_struct_convention = generic_use_struct_convention;
51298944Sobrien  current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
51398944Sobrien  current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
51498944Sobrien  current_gdbarch->remote_translate_xfer_address = generic_remote_translate_xfer_address;
515130803Smarcel  current_gdbarch->deprecated_frame_args_address = get_frame_base;
516130803Smarcel  current_gdbarch->deprecated_frame_locals_address = get_frame_base;
517130803Smarcel  current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
518130803Smarcel  current_gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
51998944Sobrien  current_gdbarch->addr_bits_remove = core_addr_identity;
52098944Sobrien  current_gdbarch->smash_text_address = core_addr_identity;
52198944Sobrien  current_gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
522130803Smarcel  current_gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
52398944Sobrien  current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
524130803Smarcel  current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
525130803Smarcel  current_gdbarch->pc_in_sigtramp = legacy_pc_in_sigtramp;
52698944Sobrien  current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
52798944Sobrien  current_gdbarch->construct_inferior_arguments = construct_inferior_arguments;
52898944Sobrien  current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
52998944Sobrien  current_gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
530130803Smarcel  current_gdbarch->name_of_malloc = "malloc";
531130803Smarcel  current_gdbarch->register_reggroup_p = default_register_reggroup_p;
53298944Sobrien  /* gdbarch_alloc() */
53398944Sobrien
53498944Sobrien  return current_gdbarch;
53598944Sobrien}
53698944Sobrien
53798944Sobrien
538130803Smarcel/* Allocate extra space using the per-architecture obstack.  */
539130803Smarcel
540130803Smarcelvoid *
541130803Smarcelgdbarch_obstack_zalloc (struct gdbarch *arch, long size)
542130803Smarcel{
543130803Smarcel  void *data = obstack_alloc (arch->obstack, size);
544130803Smarcel  memset (data, 0, size);
545130803Smarcel  return data;
546130803Smarcel}
547130803Smarcel
548130803Smarcel
54998944Sobrien/* Free a gdbarch struct.  This should never happen in normal
55098944Sobrien   operation --- once you've created a gdbarch, you keep it around.
55198944Sobrien   However, if an architecture's init function encounters an error
55298944Sobrien   building the structure, it may need to clean up a partially
55398944Sobrien   constructed gdbarch.  */
55498944Sobrien
55598944Sobrienvoid
55698944Sobriengdbarch_free (struct gdbarch *arch)
55798944Sobrien{
558130803Smarcel  struct obstack *obstack;
55998944Sobrien  gdb_assert (arch != NULL);
560130803Smarcel  gdb_assert (!arch->initialized_p);
561130803Smarcel  obstack = arch->obstack;
562130803Smarcel  obstack_free (obstack, 0); /* Includes the ARCH.  */
563130803Smarcel  xfree (obstack);
56498944Sobrien}
56598944Sobrien
56698944Sobrien
567130803Smarcel/* Ensure that all values in a GDBARCH are reasonable.  */
56898944Sobrien
569130803Smarcel/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
570130803Smarcel   just happens to match the global variable ``current_gdbarch''.  That
571130803Smarcel   way macros refering to that variable get the local and not the global
572130803Smarcel   version - ulgh.  Once everything is parameterised with gdbarch, this
573130803Smarcel   will go away. */
574130803Smarcel
57598944Sobrienstatic void
576130803Smarcelverify_gdbarch (struct gdbarch *current_gdbarch)
57798944Sobrien{
57898944Sobrien  struct ui_file *log;
57998944Sobrien  struct cleanup *cleanups;
58098944Sobrien  long dummy;
58198944Sobrien  char *buf;
58298944Sobrien  log = mem_fileopen ();
58398944Sobrien  cleanups = make_cleanup_ui_file_delete (log);
58498944Sobrien  /* fundamental */
585130803Smarcel  if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
58698944Sobrien    fprintf_unfiltered (log, "\n\tbyte-order");
587130803Smarcel  if (current_gdbarch->bfd_arch_info == NULL)
58898944Sobrien    fprintf_unfiltered (log, "\n\tbfd_arch_info");
58998944Sobrien  /* Check those that need to be defined for the given multi-arch level. */
59098944Sobrien  /* Skip verify of short_bit, invalid_p == 0 */
59198944Sobrien  /* Skip verify of int_bit, invalid_p == 0 */
59298944Sobrien  /* Skip verify of long_bit, invalid_p == 0 */
59398944Sobrien  /* Skip verify of long_long_bit, invalid_p == 0 */
59498944Sobrien  /* Skip verify of float_bit, invalid_p == 0 */
59598944Sobrien  /* Skip verify of double_bit, invalid_p == 0 */
59698944Sobrien  /* Skip verify of long_double_bit, invalid_p == 0 */
59798944Sobrien  /* Skip verify of ptr_bit, invalid_p == 0 */
598130803Smarcel  if (current_gdbarch->addr_bit == 0)
599130803Smarcel    current_gdbarch->addr_bit = TARGET_PTR_BIT;
60098944Sobrien  /* Skip verify of bfd_vma_bit, invalid_p == 0 */
601130803Smarcel  if (current_gdbarch->char_signed == -1)
602130803Smarcel    current_gdbarch->char_signed = 1;
603130803Smarcel  /* Skip verify of read_pc, has predicate */
60498944Sobrien  /* Skip verify of write_pc, invalid_p == 0 */
605130803Smarcel  /* Skip verify of read_sp, has predicate */
60698944Sobrien  /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
607130803Smarcel  /* Skip verify of pseudo_register_read, has predicate */
608130803Smarcel  /* Skip verify of pseudo_register_write, has predicate */
60998944Sobrien  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
610130803Smarcel      && (current_gdbarch->num_regs == -1))
61198944Sobrien    fprintf_unfiltered (log, "\n\tnum_regs");
61298944Sobrien  /* Skip verify of num_pseudo_regs, invalid_p == 0 */
613130803Smarcel  /* Skip verify of sp_regnum, invalid_p == 0 */
614130803Smarcel  /* Skip verify of pc_regnum, invalid_p == 0 */
615130803Smarcel  /* Skip verify of ps_regnum, invalid_p == 0 */
61698944Sobrien  /* Skip verify of fp0_regnum, invalid_p == 0 */
61798944Sobrien  /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
61898944Sobrien  /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
61998944Sobrien  /* Skip verify of dwarf_reg_to_regnum, invalid_p == 0 */
62098944Sobrien  /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
62198944Sobrien  /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
622130803Smarcel  /* Skip verify of register_type, has predicate */
623130803Smarcel  /* Skip verify of deprecated_register_virtual_type, has predicate */
624130803Smarcel  /* Skip verify of deprecated_register_byte, has predicate */
625130803Smarcel  /* Skip verify of deprecated_register_raw_size, has predicate */
626130803Smarcel  /* Skip verify of deprecated_register_virtual_size, has predicate */
627130803Smarcel  /* Skip verify of deprecated_max_register_raw_size, has predicate */
628130803Smarcel  /* Skip verify of deprecated_max_register_virtual_size, has predicate */
629130803Smarcel  /* Skip verify of unwind_dummy_id, has predicate */
630130803Smarcel  /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */
631130803Smarcel  /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
632130803Smarcel  /* Skip verify of deprecated_target_read_fp, has predicate */
633130803Smarcel  /* Skip verify of push_dummy_call, has predicate */
634130803Smarcel  /* Skip verify of deprecated_push_arguments, has predicate */
635130803Smarcel  /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */
636130803Smarcel  /* Skip verify of deprecated_push_return_address, has predicate */
637130803Smarcel  /* Skip verify of deprecated_dummy_write_sp, has predicate */
638130803Smarcel  /* Skip verify of call_dummy_location, invalid_p == 0 */
639130803Smarcel  /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
640130803Smarcel  /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
641130803Smarcel  /* Skip verify of deprecated_fix_call_dummy, has predicate */
642130803Smarcel  /* Skip verify of push_dummy_code, has predicate */
643130803Smarcel  /* Skip verify of deprecated_push_dummy_frame, has predicate */
644130803Smarcel  /* Skip verify of deprecated_do_registers_info, has predicate */
645130803Smarcel  /* Skip verify of print_registers_info, invalid_p == 0 */
646130803Smarcel  /* Skip verify of print_float_info, has predicate */
647130803Smarcel  /* Skip verify of print_vector_info, has predicate */
64898944Sobrien  /* Skip verify of register_sim_regno, invalid_p == 0 */
64998944Sobrien  /* Skip verify of register_bytes_ok, has predicate */
65098944Sobrien  /* Skip verify of cannot_fetch_register, invalid_p == 0 */
65198944Sobrien  /* Skip verify of cannot_store_register, invalid_p == 0 */
65298944Sobrien  /* Skip verify of get_longjmp_target, has predicate */
653130803Smarcel  /* Skip verify of deprecated_pc_in_call_dummy, has predicate */
654130803Smarcel  /* Skip verify of deprecated_init_frame_pc_first, has predicate */
655130803Smarcel  /* Skip verify of deprecated_init_frame_pc, has predicate */
656130803Smarcel  /* Skip verify of deprecated_get_saved_register, has predicate */
657130803Smarcel  /* Skip verify of deprecated_register_convertible, has predicate */
658130803Smarcel  /* Skip verify of deprecated_register_convert_to_virtual, invalid_p == 0 */
659130803Smarcel  /* Skip verify of deprecated_register_convert_to_raw, invalid_p == 0 */
660130803Smarcel  /* Skip verify of convert_register_p, invalid_p == 0 */
661130803Smarcel  /* Skip verify of register_to_value, invalid_p == 0 */
662130803Smarcel  /* Skip verify of value_to_register, invalid_p == 0 */
66398944Sobrien  /* Skip verify of pointer_to_address, invalid_p == 0 */
66498944Sobrien  /* Skip verify of address_to_pointer, invalid_p == 0 */
66598944Sobrien  /* Skip verify of integer_to_address, has predicate */
666130803Smarcel  /* Skip verify of deprecated_pop_frame, has predicate */
667130803Smarcel  /* Skip verify of deprecated_store_struct_return, has predicate */
668130803Smarcel  /* Skip verify of return_value, has predicate */
66998944Sobrien  /* Skip verify of return_value_on_stack, invalid_p == 0 */
670130803Smarcel  /* Skip verify of extract_return_value, invalid_p == 0 */
671130803Smarcel  /* Skip verify of store_return_value, invalid_p == 0 */
67298944Sobrien  /* Skip verify of use_struct_convention, invalid_p == 0 */
673130803Smarcel  /* Skip verify of deprecated_extract_struct_value_address, has predicate */
674130803Smarcel  /* Skip verify of deprecated_frame_init_saved_regs, has predicate */
675130803Smarcel  /* Skip verify of deprecated_init_extra_frame_info, has predicate */
67698944Sobrien  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
677130803Smarcel      && (current_gdbarch->skip_prologue == 0))
67898944Sobrien    fprintf_unfiltered (log, "\n\tskip_prologue");
67998944Sobrien  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
680130803Smarcel      && (current_gdbarch->inner_than == 0))
68198944Sobrien    fprintf_unfiltered (log, "\n\tinner_than");
682130803Smarcel  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
683130803Smarcel      && (current_gdbarch->breakpoint_from_pc == 0))
684130803Smarcel    fprintf_unfiltered (log, "\n\tbreakpoint_from_pc");
685130803Smarcel  /* Skip verify of adjust_breakpoint_address, has predicate */
68698944Sobrien  /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
68798944Sobrien  /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
688130803Smarcel  /* Skip verify of decr_pc_after_break, invalid_p == 0 */
689130803Smarcel  /* Skip verify of function_start_offset, invalid_p == 0 */
69098944Sobrien  /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
691130803Smarcel  /* Skip verify of frame_args_skip, invalid_p == 0 */
692130803Smarcel  /* Skip verify of deprecated_frameless_function_invocation, has predicate */
693130803Smarcel  /* Skip verify of deprecated_frame_chain, has predicate */
694130803Smarcel  /* Skip verify of deprecated_frame_chain_valid, has predicate */
695130803Smarcel  /* Skip verify of deprecated_frame_saved_pc, has predicate */
696130803Smarcel  /* Skip verify of unwind_pc, has predicate */
697130803Smarcel  /* Skip verify of unwind_sp, has predicate */
698130803Smarcel  /* Skip verify of deprecated_frame_args_address, has predicate */
699130803Smarcel  /* Skip verify of deprecated_frame_locals_address, has predicate */
700130803Smarcel  /* Skip verify of deprecated_saved_pc_after_call, has predicate */
701130803Smarcel  /* Skip verify of frame_num_args, has predicate */
702130803Smarcel  /* Skip verify of deprecated_stack_align, has predicate */
703130803Smarcel  /* Skip verify of frame_align, has predicate */
704130803Smarcel  /* Skip verify of deprecated_reg_struct_has_addr, has predicate */
705130803Smarcel  /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
706130803Smarcel  if (current_gdbarch->float_format == 0)
707130803Smarcel    current_gdbarch->float_format = default_float_format (current_gdbarch);
708130803Smarcel  if (current_gdbarch->double_format == 0)
709130803Smarcel    current_gdbarch->double_format = default_double_format (current_gdbarch);
710130803Smarcel  if (current_gdbarch->long_double_format == 0)
711130803Smarcel    current_gdbarch->long_double_format = default_double_format (current_gdbarch);
71298944Sobrien  /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
71398944Sobrien  /* Skip verify of addr_bits_remove, invalid_p == 0 */
71498944Sobrien  /* Skip verify of smash_text_address, invalid_p == 0 */
71598944Sobrien  /* Skip verify of software_single_step, has predicate */
716130803Smarcel  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
717130803Smarcel      && (current_gdbarch->print_insn == 0))
718130803Smarcel    fprintf_unfiltered (log, "\n\tprint_insn");
71998944Sobrien  /* Skip verify of skip_trampoline_code, invalid_p == 0 */
720130803Smarcel  /* Skip verify of skip_solib_resolver, invalid_p == 0 */
72198944Sobrien  /* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
722130803Smarcel  /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
723130803Smarcel  /* Skip verify of pc_in_sigtramp, invalid_p == 0 */
724130803Smarcel  /* Skip verify of sigtramp_start, has predicate */
725130803Smarcel  /* Skip verify of sigtramp_end, has predicate */
72698944Sobrien  /* Skip verify of in_function_epilogue_p, invalid_p == 0 */
72798944Sobrien  /* Skip verify of construct_inferior_arguments, invalid_p == 0 */
72898944Sobrien  /* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
72998944Sobrien  /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
730130803Smarcel  /* Skip verify of name_of_malloc, invalid_p == 0 */
731130803Smarcel  /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
732130803Smarcel  /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
733130803Smarcel  /* Skip verify of address_class_type_flags, has predicate */
734130803Smarcel  /* Skip verify of address_class_type_flags_to_name, has predicate */
735130803Smarcel  /* Skip verify of address_class_name_to_type_flags, has predicate */
736130803Smarcel  /* Skip verify of register_reggroup_p, invalid_p == 0 */
737130803Smarcel  /* Skip verify of fetch_pointer_argument, has predicate */
738130803Smarcel  /* Skip verify of regset_from_core_section, has predicate */
73998944Sobrien  buf = ui_file_xstrdup (log, &dummy);
74098944Sobrien  make_cleanup (xfree, buf);
74198944Sobrien  if (strlen (buf) > 0)
74298944Sobrien    internal_error (__FILE__, __LINE__,
74398944Sobrien                    "verify_gdbarch: the following are invalid ...%s",
74498944Sobrien                    buf);
74598944Sobrien  do_cleanups (cleanups);
74698944Sobrien}
74798944Sobrien
74898944Sobrien
74998944Sobrien/* Print out the details of the current architecture. */
75098944Sobrien
75198944Sobrien/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
75298944Sobrien   just happens to match the global variable ``current_gdbarch''.  That
75398944Sobrien   way macros refering to that variable get the local and not the global
75498944Sobrien   version - ulgh.  Once everything is parameterised with gdbarch, this
75598944Sobrien   will go away. */
75698944Sobrien
75798944Sobrienvoid
758130803Smarcelgdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
75998944Sobrien{
76098944Sobrien  fprintf_unfiltered (file,
76198944Sobrien                      "gdbarch_dump: GDB_MULTI_ARCH = %d\n",
76298944Sobrien                      GDB_MULTI_ARCH);
763130803Smarcel  fprintf_unfiltered (file,
764130803Smarcel                      "gdbarch_dump: convert_from_func_ptr_addr = 0x%08lx\n",
765130803Smarcel                      (long) current_gdbarch->convert_from_func_ptr_addr);
766130803Smarcel  fprintf_unfiltered (file,
767130803Smarcel                      "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
768130803Smarcel                      gdbarch_frame_align_p (current_gdbarch));
769130803Smarcel  fprintf_unfiltered (file,
770130803Smarcel                      "gdbarch_dump: frame_align = 0x%08lx\n",
771130803Smarcel                      (long) current_gdbarch->frame_align);
772130803Smarcel  fprintf_unfiltered (file,
773130803Smarcel                      "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
774130803Smarcel                      gdbarch_regset_from_core_section_p (current_gdbarch));
775130803Smarcel  fprintf_unfiltered (file,
776130803Smarcel                      "gdbarch_dump: regset_from_core_section = 0x%08lx\n",
777130803Smarcel                      (long) current_gdbarch->regset_from_core_section);
778130803Smarcel  fprintf_unfiltered (file,
779130803Smarcel                      "gdbarch_dump: gdbarch_return_value_p() = %d\n",
780130803Smarcel                      gdbarch_return_value_p (current_gdbarch));
781130803Smarcel  fprintf_unfiltered (file,
782130803Smarcel                      "gdbarch_dump: return_value = 0x%08lx\n",
783130803Smarcel                      (long) current_gdbarch->return_value);
784130803Smarcel  fprintf_unfiltered (file,
785130803Smarcel                      "gdbarch_dump: in_function_epilogue_p = 0x%08lx\n",
786130803Smarcel                      (long) current_gdbarch->in_function_epilogue_p);
787130803Smarcel  fprintf_unfiltered (file,
788130803Smarcel                      "gdbarch_dump: register_reggroup_p = 0x%08lx\n",
789130803Smarcel                      (long) current_gdbarch->register_reggroup_p);
790130803Smarcel  fprintf_unfiltered (file,
791130803Smarcel                      "gdbarch_dump: stabs_argument_has_addr = 0x%08lx\n",
792130803Smarcel                      (long) current_gdbarch->stabs_argument_has_addr);
793130803Smarcel  fprintf_unfiltered (file,
794130803Smarcel                      "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
795130803Smarcel                      gdbarch_pseudo_register_read_p (current_gdbarch));
796130803Smarcel  fprintf_unfiltered (file,
797130803Smarcel                      "gdbarch_dump: pseudo_register_read = 0x%08lx\n",
798130803Smarcel                      (long) current_gdbarch->pseudo_register_read);
799130803Smarcel  fprintf_unfiltered (file,
800130803Smarcel                      "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
801130803Smarcel                      gdbarch_pseudo_register_write_p (current_gdbarch));
802130803Smarcel  fprintf_unfiltered (file,
803130803Smarcel                      "gdbarch_dump: pseudo_register_write = 0x%08lx\n",
804130803Smarcel                      (long) current_gdbarch->pseudo_register_write);
805130803Smarcel  fprintf_unfiltered (file,
806130803Smarcel                      "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
807130803Smarcel                      gdbarch_address_class_name_to_type_flags_p (current_gdbarch));
808130803Smarcel  fprintf_unfiltered (file,
809130803Smarcel                      "gdbarch_dump: address_class_name_to_type_flags = 0x%08lx\n",
810130803Smarcel                      (long) current_gdbarch->address_class_name_to_type_flags);
811130803Smarcel#ifdef ADDRESS_CLASS_TYPE_FLAGS_P
812130803Smarcel  fprintf_unfiltered (file,
813130803Smarcel                      "gdbarch_dump: %s # %s\n",
814130803Smarcel                      "ADDRESS_CLASS_TYPE_FLAGS_P()",
815130803Smarcel                      XSTRING (ADDRESS_CLASS_TYPE_FLAGS_P ()));
816130803Smarcel  fprintf_unfiltered (file,
817130803Smarcel                      "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS_P() = %d\n",
818130803Smarcel                      ADDRESS_CLASS_TYPE_FLAGS_P ());
819130803Smarcel#endif
820130803Smarcel#ifdef ADDRESS_CLASS_TYPE_FLAGS
821130803Smarcel  fprintf_unfiltered (file,
822130803Smarcel                      "gdbarch_dump: %s # %s\n",
823130803Smarcel                      "ADDRESS_CLASS_TYPE_FLAGS(byte_size, dwarf2_addr_class)",
824130803Smarcel                      XSTRING (ADDRESS_CLASS_TYPE_FLAGS (byte_size, dwarf2_addr_class)));
825130803Smarcel  fprintf_unfiltered (file,
826130803Smarcel                      "gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS = <0x%08lx>\n",
827130803Smarcel                      (long) current_gdbarch->address_class_type_flags
828130803Smarcel                      /*ADDRESS_CLASS_TYPE_FLAGS ()*/);
829130803Smarcel#endif
830130803Smarcel  fprintf_unfiltered (file,
831130803Smarcel                      "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
832130803Smarcel                      gdbarch_address_class_type_flags_to_name_p (current_gdbarch));
833130803Smarcel  fprintf_unfiltered (file,
834130803Smarcel                      "gdbarch_dump: address_class_type_flags_to_name = 0x%08lx\n",
835130803Smarcel                      (long) current_gdbarch->address_class_type_flags_to_name);
83698944Sobrien#ifdef ADDRESS_TO_POINTER
83798944Sobrien  fprintf_unfiltered (file,
83898944Sobrien                      "gdbarch_dump: %s # %s\n",
83998944Sobrien                      "ADDRESS_TO_POINTER(type, buf, addr)",
84098944Sobrien                      XSTRING (ADDRESS_TO_POINTER (type, buf, addr)));
841130803Smarcel  fprintf_unfiltered (file,
842130803Smarcel                      "gdbarch_dump: ADDRESS_TO_POINTER = <0x%08lx>\n",
843130803Smarcel                      (long) current_gdbarch->address_to_pointer
844130803Smarcel                      /*ADDRESS_TO_POINTER ()*/);
84546283Sdfr#endif
84698944Sobrien#ifdef ADDR_BITS_REMOVE
84798944Sobrien  fprintf_unfiltered (file,
84898944Sobrien                      "gdbarch_dump: %s # %s\n",
84998944Sobrien                      "ADDR_BITS_REMOVE(addr)",
85098944Sobrien                      XSTRING (ADDR_BITS_REMOVE (addr)));
851130803Smarcel  fprintf_unfiltered (file,
852130803Smarcel                      "gdbarch_dump: ADDR_BITS_REMOVE = <0x%08lx>\n",
853130803Smarcel                      (long) current_gdbarch->addr_bits_remove
854130803Smarcel                      /*ADDR_BITS_REMOVE ()*/);
85546283Sdfr#endif
856130803Smarcel  fprintf_unfiltered (file,
857130803Smarcel                      "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
858130803Smarcel                      gdbarch_adjust_breakpoint_address_p (current_gdbarch));
859130803Smarcel  fprintf_unfiltered (file,
860130803Smarcel                      "gdbarch_dump: adjust_breakpoint_address = 0x%08lx\n",
861130803Smarcel                      (long) current_gdbarch->adjust_breakpoint_address);
86298944Sobrien#ifdef BELIEVE_PCC_PROMOTION
86398944Sobrien  fprintf_unfiltered (file,
86498944Sobrien                      "gdbarch_dump: BELIEVE_PCC_PROMOTION # %s\n",
86598944Sobrien                      XSTRING (BELIEVE_PCC_PROMOTION));
86698944Sobrien  fprintf_unfiltered (file,
86798944Sobrien                      "gdbarch_dump: BELIEVE_PCC_PROMOTION = %d\n",
86898944Sobrien                      BELIEVE_PCC_PROMOTION);
86998944Sobrien#endif
87098944Sobrien#ifdef BELIEVE_PCC_PROMOTION_TYPE
87198944Sobrien  fprintf_unfiltered (file,
87298944Sobrien                      "gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE # %s\n",
87398944Sobrien                      XSTRING (BELIEVE_PCC_PROMOTION_TYPE));
87498944Sobrien  fprintf_unfiltered (file,
87598944Sobrien                      "gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE = %d\n",
87698944Sobrien                      BELIEVE_PCC_PROMOTION_TYPE);
87798944Sobrien#endif
87898944Sobrien#ifdef BREAKPOINT_FROM_PC
87998944Sobrien  fprintf_unfiltered (file,
88098944Sobrien                      "gdbarch_dump: %s # %s\n",
88198944Sobrien                      "BREAKPOINT_FROM_PC(pcptr, lenptr)",
88298944Sobrien                      XSTRING (BREAKPOINT_FROM_PC (pcptr, lenptr)));
883130803Smarcel  fprintf_unfiltered (file,
884130803Smarcel                      "gdbarch_dump: BREAKPOINT_FROM_PC = <0x%08lx>\n",
885130803Smarcel                      (long) current_gdbarch->breakpoint_from_pc
886130803Smarcel                      /*BREAKPOINT_FROM_PC ()*/);
88798944Sobrien#endif
888130803Smarcel#ifdef CALL_DUMMY_LOCATION
88998944Sobrien  fprintf_unfiltered (file,
890130803Smarcel                      "gdbarch_dump: CALL_DUMMY_LOCATION # %s\n",
891130803Smarcel                      XSTRING (CALL_DUMMY_LOCATION));
892130803Smarcel  fprintf_unfiltered (file,
893130803Smarcel                      "gdbarch_dump: CALL_DUMMY_LOCATION = %d\n",
894130803Smarcel                      CALL_DUMMY_LOCATION);
895130803Smarcel#endif
896130803Smarcel#ifdef CANNOT_FETCH_REGISTER
897130803Smarcel  fprintf_unfiltered (file,
89898944Sobrien                      "gdbarch_dump: %s # %s\n",
899130803Smarcel                      "CANNOT_FETCH_REGISTER(regnum)",
900130803Smarcel                      XSTRING (CANNOT_FETCH_REGISTER (regnum)));
901130803Smarcel  fprintf_unfiltered (file,
902130803Smarcel                      "gdbarch_dump: CANNOT_FETCH_REGISTER = <0x%08lx>\n",
903130803Smarcel                      (long) current_gdbarch->cannot_fetch_register
904130803Smarcel                      /*CANNOT_FETCH_REGISTER ()*/);
90598944Sobrien#endif
906130803Smarcel#ifdef CANNOT_STEP_BREAKPOINT
90798944Sobrien  fprintf_unfiltered (file,
908130803Smarcel                      "gdbarch_dump: CANNOT_STEP_BREAKPOINT # %s\n",
909130803Smarcel                      XSTRING (CANNOT_STEP_BREAKPOINT));
910130803Smarcel  fprintf_unfiltered (file,
911130803Smarcel                      "gdbarch_dump: CANNOT_STEP_BREAKPOINT = %d\n",
912130803Smarcel                      CANNOT_STEP_BREAKPOINT);
91398944Sobrien#endif
914130803Smarcel#ifdef CANNOT_STORE_REGISTER
91598944Sobrien  fprintf_unfiltered (file,
916130803Smarcel                      "gdbarch_dump: %s # %s\n",
917130803Smarcel                      "CANNOT_STORE_REGISTER(regnum)",
918130803Smarcel                      XSTRING (CANNOT_STORE_REGISTER (regnum)));
91998944Sobrien  fprintf_unfiltered (file,
920130803Smarcel                      "gdbarch_dump: CANNOT_STORE_REGISTER = <0x%08lx>\n",
921130803Smarcel                      (long) current_gdbarch->cannot_store_register
922130803Smarcel                      /*CANNOT_STORE_REGISTER ()*/);
92398944Sobrien#endif
924130803Smarcel#ifdef COFF_MAKE_MSYMBOL_SPECIAL
92598944Sobrien  fprintf_unfiltered (file,
926130803Smarcel                      "gdbarch_dump: %s # %s\n",
927130803Smarcel                      "COFF_MAKE_MSYMBOL_SPECIAL(val, msym)",
928130803Smarcel                      XSTRING (COFF_MAKE_MSYMBOL_SPECIAL (val, msym)));
929130803Smarcel  fprintf_unfiltered (file,
930130803Smarcel                      "gdbarch_dump: COFF_MAKE_MSYMBOL_SPECIAL = <0x%08lx>\n",
931130803Smarcel                      (long) current_gdbarch->coff_make_msymbol_special
932130803Smarcel                      /*COFF_MAKE_MSYMBOL_SPECIAL ()*/);
93398944Sobrien#endif
93498944Sobrien  fprintf_unfiltered (file,
935130803Smarcel                      "gdbarch_dump: construct_inferior_arguments = 0x%08lx\n",
936130803Smarcel                      (long) current_gdbarch->construct_inferior_arguments);
937130803Smarcel#ifdef CONVERT_REGISTER_P
93898944Sobrien  fprintf_unfiltered (file,
939130803Smarcel                      "gdbarch_dump: %s # %s\n",
940130803Smarcel                      "CONVERT_REGISTER_P(regnum, type)",
941130803Smarcel                      XSTRING (CONVERT_REGISTER_P (regnum, type)));
942130803Smarcel  fprintf_unfiltered (file,
943130803Smarcel                      "gdbarch_dump: CONVERT_REGISTER_P = <0x%08lx>\n",
944130803Smarcel                      (long) current_gdbarch->convert_register_p
945130803Smarcel                      /*CONVERT_REGISTER_P ()*/);
94698944Sobrien#endif
947130803Smarcel#ifdef DECR_PC_AFTER_BREAK
94898944Sobrien  fprintf_unfiltered (file,
949130803Smarcel                      "gdbarch_dump: DECR_PC_AFTER_BREAK # %s\n",
950130803Smarcel                      XSTRING (DECR_PC_AFTER_BREAK));
95198944Sobrien  fprintf_unfiltered (file,
952130803Smarcel                      "gdbarch_dump: DECR_PC_AFTER_BREAK = %ld\n",
953130803Smarcel                      (long) DECR_PC_AFTER_BREAK);
95498944Sobrien#endif
955130803Smarcel#ifdef DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET
95698944Sobrien  fprintf_unfiltered (file,
957130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET # %s\n",
958130803Smarcel                      XSTRING (DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET));
959130803Smarcel  fprintf_unfiltered (file,
960130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET = %ld\n",
961130803Smarcel                      (long) DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET);
96298944Sobrien#endif
963130803Smarcel#ifdef DEPRECATED_CALL_DUMMY_LENGTH
96498944Sobrien  fprintf_unfiltered (file,
965130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_LENGTH # %s\n",
966130803Smarcel                      XSTRING (DEPRECATED_CALL_DUMMY_LENGTH));
96798944Sobrien  fprintf_unfiltered (file,
968130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_LENGTH = %d\n",
969130803Smarcel                      DEPRECATED_CALL_DUMMY_LENGTH);
97098944Sobrien#endif
971130803Smarcel#ifdef DEPRECATED_CALL_DUMMY_START_OFFSET
97298944Sobrien  fprintf_unfiltered (file,
973130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET # %s\n",
974130803Smarcel                      XSTRING (DEPRECATED_CALL_DUMMY_START_OFFSET));
97598944Sobrien  fprintf_unfiltered (file,
976130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET = %ld\n",
977130803Smarcel                      (long) DEPRECATED_CALL_DUMMY_START_OFFSET);
97898944Sobrien#endif
979130803Smarcel#ifdef DEPRECATED_CALL_DUMMY_WORDS
98098944Sobrien  fprintf_unfiltered (file,
981130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS # %s\n",
982130803Smarcel                      XSTRING (DEPRECATED_CALL_DUMMY_WORDS));
98398944Sobrien  fprintf_unfiltered (file,
984130803Smarcel                      "gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS = 0x%08lx\n",
985130803Smarcel                      (long) DEPRECATED_CALL_DUMMY_WORDS);
98698944Sobrien#endif
987130803Smarcel#ifdef DEPRECATED_DO_REGISTERS_INFO_P
98898944Sobrien  fprintf_unfiltered (file,
98998944Sobrien                      "gdbarch_dump: %s # %s\n",
990130803Smarcel                      "DEPRECATED_DO_REGISTERS_INFO_P()",
991130803Smarcel                      XSTRING (DEPRECATED_DO_REGISTERS_INFO_P ()));
992130803Smarcel  fprintf_unfiltered (file,
993130803Smarcel                      "gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO_P() = %d\n",
994130803Smarcel                      DEPRECATED_DO_REGISTERS_INFO_P ());
99598944Sobrien#endif
996130803Smarcel#ifdef DEPRECATED_DO_REGISTERS_INFO
99798944Sobrien  fprintf_unfiltered (file,
99898944Sobrien                      "gdbarch_dump: %s # %s\n",
999130803Smarcel                      "DEPRECATED_DO_REGISTERS_INFO(reg_nr, fpregs)",
1000130803Smarcel                      XSTRING (DEPRECATED_DO_REGISTERS_INFO (reg_nr, fpregs)));
1001130803Smarcel  fprintf_unfiltered (file,
1002130803Smarcel                      "gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO = <0x%08lx>\n",
1003130803Smarcel                      (long) current_gdbarch->deprecated_do_registers_info
1004130803Smarcel                      /*DEPRECATED_DO_REGISTERS_INFO ()*/);
100598944Sobrien#endif
1006130803Smarcel#ifdef DEPRECATED_DUMMY_WRITE_SP_P
100798944Sobrien  fprintf_unfiltered (file,
100898944Sobrien                      "gdbarch_dump: %s # %s\n",
1009130803Smarcel                      "DEPRECATED_DUMMY_WRITE_SP_P()",
1010130803Smarcel                      XSTRING (DEPRECATED_DUMMY_WRITE_SP_P ()));
1011130803Smarcel  fprintf_unfiltered (file,
1012130803Smarcel                      "gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP_P() = %d\n",
1013130803Smarcel                      DEPRECATED_DUMMY_WRITE_SP_P ());
101498944Sobrien#endif
1015130803Smarcel#ifdef DEPRECATED_DUMMY_WRITE_SP
101698944Sobrien  fprintf_unfiltered (file,
101798944Sobrien                      "gdbarch_dump: %s # %s\n",
1018130803Smarcel                      "DEPRECATED_DUMMY_WRITE_SP(val)",
1019130803Smarcel                      XSTRING (DEPRECATED_DUMMY_WRITE_SP (val)));
1020130803Smarcel  fprintf_unfiltered (file,
1021130803Smarcel                      "gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP = <0x%08lx>\n",
1022130803Smarcel                      (long) current_gdbarch->deprecated_dummy_write_sp
1023130803Smarcel                      /*DEPRECATED_DUMMY_WRITE_SP ()*/);
102498944Sobrien#endif
1025130803Smarcel#ifdef DEPRECATED_EXTRACT_RETURN_VALUE
1026130803Smarcel  fprintf_unfiltered (file,
1027130803Smarcel                      "gdbarch_dump: %s # %s\n",
1028130803Smarcel                      "DEPRECATED_EXTRACT_RETURN_VALUE(type, regbuf, valbuf)",
1029130803Smarcel                      XSTRING (DEPRECATED_EXTRACT_RETURN_VALUE (type, regbuf, valbuf)));
1030130803Smarcel  fprintf_unfiltered (file,
1031130803Smarcel                      "gdbarch_dump: DEPRECATED_EXTRACT_RETURN_VALUE = <0x%08lx>\n",
1032130803Smarcel                      (long) current_gdbarch->deprecated_extract_return_value
1033130803Smarcel                      /*DEPRECATED_EXTRACT_RETURN_VALUE ()*/);
103498944Sobrien#endif
1035130803Smarcel#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P
103698944Sobrien  fprintf_unfiltered (file,
103798944Sobrien                      "gdbarch_dump: %s # %s\n",
1038130803Smarcel                      "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P()",
1039130803Smarcel                      XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ()));
1040130803Smarcel  fprintf_unfiltered (file,
1041130803Smarcel                      "gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() = %d\n",
1042130803Smarcel                      DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ());
104398944Sobrien#endif
1044130803Smarcel#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS
104598944Sobrien  fprintf_unfiltered (file,
1046130803Smarcel                      "gdbarch_dump: %s # %s\n",
1047130803Smarcel                      "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regcache)",
1048130803Smarcel                      XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (regcache)));
104998944Sobrien  fprintf_unfiltered (file,
1050130803Smarcel                      "gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS = <0x%08lx>\n",
1051130803Smarcel                      (long) current_gdbarch->deprecated_extract_struct_value_address
1052130803Smarcel                      /*DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS ()*/);
105398944Sobrien#endif
1054130803Smarcel#ifdef DEPRECATED_FIX_CALL_DUMMY_P
105598944Sobrien  fprintf_unfiltered (file,
105698944Sobrien                      "gdbarch_dump: %s # %s\n",
1057130803Smarcel                      "DEPRECATED_FIX_CALL_DUMMY_P()",
1058130803Smarcel                      XSTRING (DEPRECATED_FIX_CALL_DUMMY_P ()));
1059130803Smarcel  fprintf_unfiltered (file,
1060130803Smarcel                      "gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY_P() = %d\n",
1061130803Smarcel                      DEPRECATED_FIX_CALL_DUMMY_P ());
106298944Sobrien#endif
1063130803Smarcel#ifdef DEPRECATED_FIX_CALL_DUMMY
1064130803Smarcel  fprintf_unfiltered (file,
1065130803Smarcel                      "gdbarch_dump: %s # %s\n",
1066130803Smarcel                      "DEPRECATED_FIX_CALL_DUMMY(dummy, pc, fun, nargs, args, type, gcc_p)",
1067130803Smarcel                      XSTRING (DEPRECATED_FIX_CALL_DUMMY (dummy, pc, fun, nargs, args, type, gcc_p)));
1068130803Smarcel  fprintf_unfiltered (file,
1069130803Smarcel                      "gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY = <0x%08lx>\n",
1070130803Smarcel                      (long) current_gdbarch->deprecated_fix_call_dummy
1071130803Smarcel                      /*DEPRECATED_FIX_CALL_DUMMY ()*/);
107298944Sobrien#endif
1073130803Smarcel#ifdef DEPRECATED_FP_REGNUM
107498944Sobrien  fprintf_unfiltered (file,
1075130803Smarcel                      "gdbarch_dump: DEPRECATED_FP_REGNUM # %s\n",
1076130803Smarcel                      XSTRING (DEPRECATED_FP_REGNUM));
1077130803Smarcel  fprintf_unfiltered (file,
1078130803Smarcel                      "gdbarch_dump: DEPRECATED_FP_REGNUM = %d\n",
1079130803Smarcel                      DEPRECATED_FP_REGNUM);
1080130803Smarcel#endif
1081130803Smarcel#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P
1082130803Smarcel  fprintf_unfiltered (file,
108398944Sobrien                      "gdbarch_dump: %s # %s\n",
1084130803Smarcel                      "DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P()",
1085130803Smarcel                      XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()));
1086130803Smarcel  fprintf_unfiltered (file,
1087130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P() = %d\n",
1088130803Smarcel                      DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ());
108998944Sobrien#endif
1090130803Smarcel#ifdef DEPRECATED_FRAMELESS_FUNCTION_INVOCATION
1091130803Smarcel  fprintf_unfiltered (file,
1092130803Smarcel                      "gdbarch_dump: %s # %s\n",
1093130803Smarcel                      "DEPRECATED_FRAMELESS_FUNCTION_INVOCATION(fi)",
1094130803Smarcel                      XSTRING (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (fi)));
1095130803Smarcel  fprintf_unfiltered (file,
1096130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAMELESS_FUNCTION_INVOCATION = <0x%08lx>\n",
1097130803Smarcel                      (long) current_gdbarch->deprecated_frameless_function_invocation
1098130803Smarcel                      /*DEPRECATED_FRAMELESS_FUNCTION_INVOCATION ()*/);
109998944Sobrien#endif
1100130803Smarcel#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
110198944Sobrien  fprintf_unfiltered (file,
110298944Sobrien                      "gdbarch_dump: %s # %s\n",
1103130803Smarcel                      "DEPRECATED_FRAME_ARGS_ADDRESS_P()",
1104130803Smarcel                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS_P ()));
1105130803Smarcel  fprintf_unfiltered (file,
1106130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS_P() = %d\n",
1107130803Smarcel                      DEPRECATED_FRAME_ARGS_ADDRESS_P ());
110898944Sobrien#endif
1109130803Smarcel#ifdef DEPRECATED_FRAME_ARGS_ADDRESS
111098944Sobrien  fprintf_unfiltered (file,
111198944Sobrien                      "gdbarch_dump: %s # %s\n",
1112130803Smarcel                      "DEPRECATED_FRAME_ARGS_ADDRESS(fi)",
1113130803Smarcel                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS (fi)));
1114130803Smarcel  fprintf_unfiltered (file,
1115130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS = <0x%08lx>\n",
1116130803Smarcel                      (long) current_gdbarch->deprecated_frame_args_address
1117130803Smarcel                      /*DEPRECATED_FRAME_ARGS_ADDRESS ()*/);
111898944Sobrien#endif
1119130803Smarcel#ifdef DEPRECATED_FRAME_CHAIN_P
112098944Sobrien  fprintf_unfiltered (file,
112198944Sobrien                      "gdbarch_dump: %s # %s\n",
1122130803Smarcel                      "DEPRECATED_FRAME_CHAIN_P()",
1123130803Smarcel                      XSTRING (DEPRECATED_FRAME_CHAIN_P ()));
1124130803Smarcel  fprintf_unfiltered (file,
1125130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_CHAIN_P() = %d\n",
1126130803Smarcel                      DEPRECATED_FRAME_CHAIN_P ());
112798944Sobrien#endif
1128130803Smarcel#ifdef DEPRECATED_FRAME_CHAIN
112998944Sobrien  fprintf_unfiltered (file,
113098944Sobrien                      "gdbarch_dump: %s # %s\n",
1131130803Smarcel                      "DEPRECATED_FRAME_CHAIN(frame)",
1132130803Smarcel                      XSTRING (DEPRECATED_FRAME_CHAIN (frame)));
1133130803Smarcel  fprintf_unfiltered (file,
1134130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_CHAIN = <0x%08lx>\n",
1135130803Smarcel                      (long) current_gdbarch->deprecated_frame_chain
1136130803Smarcel                      /*DEPRECATED_FRAME_CHAIN ()*/);
113798944Sobrien#endif
1138130803Smarcel#ifdef DEPRECATED_FRAME_CHAIN_VALID_P
1139130803Smarcel  fprintf_unfiltered (file,
1140130803Smarcel                      "gdbarch_dump: %s # %s\n",
1141130803Smarcel                      "DEPRECATED_FRAME_CHAIN_VALID_P()",
1142130803Smarcel                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID_P ()));
1143130803Smarcel  fprintf_unfiltered (file,
1144130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID_P() = %d\n",
1145130803Smarcel                      DEPRECATED_FRAME_CHAIN_VALID_P ());
114698944Sobrien#endif
1147130803Smarcel#ifdef DEPRECATED_FRAME_CHAIN_VALID
114898944Sobrien  fprintf_unfiltered (file,
114998944Sobrien                      "gdbarch_dump: %s # %s\n",
1150130803Smarcel                      "DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe)",
1151130803Smarcel                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID (chain, thisframe)));
1152130803Smarcel  fprintf_unfiltered (file,
1153130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID = <0x%08lx>\n",
1154130803Smarcel                      (long) current_gdbarch->deprecated_frame_chain_valid
1155130803Smarcel                      /*DEPRECATED_FRAME_CHAIN_VALID ()*/);
115698944Sobrien#endif
1157130803Smarcel#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS_P
1158130803Smarcel  fprintf_unfiltered (file,
1159130803Smarcel                      "gdbarch_dump: %s # %s\n",
1160130803Smarcel                      "DEPRECATED_FRAME_INIT_SAVED_REGS_P()",
1161130803Smarcel                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS_P ()));
1162130803Smarcel  fprintf_unfiltered (file,
1163130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS_P() = %d\n",
1164130803Smarcel                      DEPRECATED_FRAME_INIT_SAVED_REGS_P ());
116598944Sobrien#endif
1166130803Smarcel#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS
116798944Sobrien  fprintf_unfiltered (file,
116898944Sobrien                      "gdbarch_dump: %s # %s\n",
1169130803Smarcel                      "DEPRECATED_FRAME_INIT_SAVED_REGS(frame)",
1170130803Smarcel                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS (frame)));
1171130803Smarcel  fprintf_unfiltered (file,
1172130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS = <0x%08lx>\n",
1173130803Smarcel                      (long) current_gdbarch->deprecated_frame_init_saved_regs
1174130803Smarcel                      /*DEPRECATED_FRAME_INIT_SAVED_REGS ()*/);
117598944Sobrien#endif
1176130803Smarcel#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS_P
117798944Sobrien  fprintf_unfiltered (file,
1178130803Smarcel                      "gdbarch_dump: %s # %s\n",
1179130803Smarcel                      "DEPRECATED_FRAME_LOCALS_ADDRESS_P()",
1180130803Smarcel                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS_P ()));
118198944Sobrien  fprintf_unfiltered (file,
1182130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS_P() = %d\n",
1183130803Smarcel                      DEPRECATED_FRAME_LOCALS_ADDRESS_P ());
118498944Sobrien#endif
1185130803Smarcel#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS
118698944Sobrien  fprintf_unfiltered (file,
118798944Sobrien                      "gdbarch_dump: %s # %s\n",
1188130803Smarcel                      "DEPRECATED_FRAME_LOCALS_ADDRESS(fi)",
1189130803Smarcel                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS (fi)));
1190130803Smarcel  fprintf_unfiltered (file,
1191130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS = <0x%08lx>\n",
1192130803Smarcel                      (long) current_gdbarch->deprecated_frame_locals_address
1193130803Smarcel                      /*DEPRECATED_FRAME_LOCALS_ADDRESS ()*/);
119498944Sobrien#endif
1195130803Smarcel#ifdef DEPRECATED_FRAME_SAVED_PC_P
1196130803Smarcel  fprintf_unfiltered (file,
1197130803Smarcel                      "gdbarch_dump: %s # %s\n",
1198130803Smarcel                      "DEPRECATED_FRAME_SAVED_PC_P()",
1199130803Smarcel                      XSTRING (DEPRECATED_FRAME_SAVED_PC_P ()));
1200130803Smarcel  fprintf_unfiltered (file,
1201130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_SAVED_PC_P() = %d\n",
1202130803Smarcel                      DEPRECATED_FRAME_SAVED_PC_P ());
120398944Sobrien#endif
1204130803Smarcel#ifdef DEPRECATED_FRAME_SAVED_PC
120598944Sobrien  fprintf_unfiltered (file,
120698944Sobrien                      "gdbarch_dump: %s # %s\n",
1207130803Smarcel                      "DEPRECATED_FRAME_SAVED_PC(fi)",
1208130803Smarcel                      XSTRING (DEPRECATED_FRAME_SAVED_PC (fi)));
1209130803Smarcel  fprintf_unfiltered (file,
1210130803Smarcel                      "gdbarch_dump: DEPRECATED_FRAME_SAVED_PC = <0x%08lx>\n",
1211130803Smarcel                      (long) current_gdbarch->deprecated_frame_saved_pc
1212130803Smarcel                      /*DEPRECATED_FRAME_SAVED_PC ()*/);
121398944Sobrien#endif
1214130803Smarcel#ifdef DEPRECATED_GET_SAVED_REGISTER_P
1215130803Smarcel  fprintf_unfiltered (file,
1216130803Smarcel                      "gdbarch_dump: %s # %s\n",
1217130803Smarcel                      "DEPRECATED_GET_SAVED_REGISTER_P()",
1218130803Smarcel                      XSTRING (DEPRECATED_GET_SAVED_REGISTER_P ()));
1219130803Smarcel  fprintf_unfiltered (file,
1220130803Smarcel                      "gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER_P() = %d\n",
1221130803Smarcel                      DEPRECATED_GET_SAVED_REGISTER_P ());
122298944Sobrien#endif
1223130803Smarcel#ifdef DEPRECATED_GET_SAVED_REGISTER
122498944Sobrien  fprintf_unfiltered (file,
1225130803Smarcel                      "gdbarch_dump: %s # %s\n",
1226130803Smarcel                      "DEPRECATED_GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval)",
1227130803Smarcel                      XSTRING (DEPRECATED_GET_SAVED_REGISTER (raw_buffer, optimized, addrp, frame, regnum, lval)));
122898944Sobrien  fprintf_unfiltered (file,
1229130803Smarcel                      "gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER = <0x%08lx>\n",
1230130803Smarcel                      (long) current_gdbarch->deprecated_get_saved_register
1231130803Smarcel                      /*DEPRECATED_GET_SAVED_REGISTER ()*/);
123298944Sobrien#endif
1233130803Smarcel#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO_P
123498944Sobrien  fprintf_unfiltered (file,
1235130803Smarcel                      "gdbarch_dump: %s # %s\n",
1236130803Smarcel                      "DEPRECATED_INIT_EXTRA_FRAME_INFO_P()",
1237130803Smarcel                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ()));
123898944Sobrien  fprintf_unfiltered (file,
1239130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO_P() = %d\n",
1240130803Smarcel                      DEPRECATED_INIT_EXTRA_FRAME_INFO_P ());
124198944Sobrien#endif
1242130803Smarcel#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO
124398944Sobrien  fprintf_unfiltered (file,
124498944Sobrien                      "gdbarch_dump: %s # %s\n",
1245130803Smarcel                      "DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame)",
1246130803Smarcel                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO (fromleaf, frame)));
1247130803Smarcel  fprintf_unfiltered (file,
1248130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO = <0x%08lx>\n",
1249130803Smarcel                      (long) current_gdbarch->deprecated_init_extra_frame_info
1250130803Smarcel                      /*DEPRECATED_INIT_EXTRA_FRAME_INFO ()*/);
125198944Sobrien#endif
1252130803Smarcel#ifdef DEPRECATED_INIT_FRAME_PC_P
125398944Sobrien  fprintf_unfiltered (file,
125498944Sobrien                      "gdbarch_dump: %s # %s\n",
1255130803Smarcel                      "DEPRECATED_INIT_FRAME_PC_P()",
1256130803Smarcel                      XSTRING (DEPRECATED_INIT_FRAME_PC_P ()));
1257130803Smarcel  fprintf_unfiltered (file,
1258130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_FRAME_PC_P() = %d\n",
1259130803Smarcel                      DEPRECATED_INIT_FRAME_PC_P ());
126098944Sobrien#endif
1261130803Smarcel#ifdef DEPRECATED_INIT_FRAME_PC
126298944Sobrien  fprintf_unfiltered (file,
1263130803Smarcel                      "gdbarch_dump: %s # %s\n",
1264130803Smarcel                      "DEPRECATED_INIT_FRAME_PC(fromleaf, prev)",
1265130803Smarcel                      XSTRING (DEPRECATED_INIT_FRAME_PC (fromleaf, prev)));
126698944Sobrien  fprintf_unfiltered (file,
1267130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_FRAME_PC = <0x%08lx>\n",
1268130803Smarcel                      (long) current_gdbarch->deprecated_init_frame_pc
1269130803Smarcel                      /*DEPRECATED_INIT_FRAME_PC ()*/);
127098944Sobrien#endif
1271130803Smarcel#ifdef DEPRECATED_INIT_FRAME_PC_FIRST_P
127298944Sobrien  fprintf_unfiltered (file,
127398944Sobrien                      "gdbarch_dump: %s # %s\n",
1274130803Smarcel                      "DEPRECATED_INIT_FRAME_PC_FIRST_P()",
1275130803Smarcel                      XSTRING (DEPRECATED_INIT_FRAME_PC_FIRST_P ()));
1276130803Smarcel  fprintf_unfiltered (file,
1277130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST_P() = %d\n",
1278130803Smarcel                      DEPRECATED_INIT_FRAME_PC_FIRST_P ());
127998944Sobrien#endif
1280130803Smarcel#ifdef DEPRECATED_INIT_FRAME_PC_FIRST
128198944Sobrien  fprintf_unfiltered (file,
128298944Sobrien                      "gdbarch_dump: %s # %s\n",
1283130803Smarcel                      "DEPRECATED_INIT_FRAME_PC_FIRST(fromleaf, prev)",
1284130803Smarcel                      XSTRING (DEPRECATED_INIT_FRAME_PC_FIRST (fromleaf, prev)));
1285130803Smarcel  fprintf_unfiltered (file,
1286130803Smarcel                      "gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST = <0x%08lx>\n",
1287130803Smarcel                      (long) current_gdbarch->deprecated_init_frame_pc_first
1288130803Smarcel                      /*DEPRECATED_INIT_FRAME_PC_FIRST ()*/);
128998944Sobrien#endif
1290130803Smarcel#ifdef DEPRECATED_MAX_REGISTER_RAW_SIZE_P
129198944Sobrien  fprintf_unfiltered (file,
129298944Sobrien                      "gdbarch_dump: %s # %s\n",
1293130803Smarcel                      "DEPRECATED_MAX_REGISTER_RAW_SIZE_P()",
1294130803Smarcel                      XSTRING (DEPRECATED_MAX_REGISTER_RAW_SIZE_P ()));
1295130803Smarcel  fprintf_unfiltered (file,
1296130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE_P() = %d\n",
1297130803Smarcel                      DEPRECATED_MAX_REGISTER_RAW_SIZE_P ());
129898944Sobrien#endif
1299130803Smarcel#ifdef DEPRECATED_MAX_REGISTER_RAW_SIZE
1300130803Smarcel  fprintf_unfiltered (file,
1301130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE # %s\n",
1302130803Smarcel                      XSTRING (DEPRECATED_MAX_REGISTER_RAW_SIZE));
1303130803Smarcel  fprintf_unfiltered (file,
1304130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE = %d\n",
1305130803Smarcel                      DEPRECATED_MAX_REGISTER_RAW_SIZE);
130698944Sobrien#endif
1307130803Smarcel#ifdef DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P
130898944Sobrien  fprintf_unfiltered (file,
130998944Sobrien                      "gdbarch_dump: %s # %s\n",
1310130803Smarcel                      "DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P()",
1311130803Smarcel                      XSTRING (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P ()));
1312130803Smarcel  fprintf_unfiltered (file,
1313130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P() = %d\n",
1314130803Smarcel                      DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P ());
131598944Sobrien#endif
1316130803Smarcel#ifdef DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE
131798944Sobrien  fprintf_unfiltered (file,
1318130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE # %s\n",
1319130803Smarcel                      XSTRING (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE));
1320130803Smarcel  fprintf_unfiltered (file,
1321130803Smarcel                      "gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE = %d\n",
1322130803Smarcel                      DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE);
1323130803Smarcel#endif
1324130803Smarcel#ifdef DEPRECATED_PC_IN_CALL_DUMMY_P
1325130803Smarcel  fprintf_unfiltered (file,
132698944Sobrien                      "gdbarch_dump: %s # %s\n",
1327130803Smarcel                      "DEPRECATED_PC_IN_CALL_DUMMY_P()",
1328130803Smarcel                      XSTRING (DEPRECATED_PC_IN_CALL_DUMMY_P ()));
1329130803Smarcel  fprintf_unfiltered (file,
1330130803Smarcel                      "gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY_P() = %d\n",
1331130803Smarcel                      DEPRECATED_PC_IN_CALL_DUMMY_P ());
133298944Sobrien#endif
1333130803Smarcel#ifdef DEPRECATED_PC_IN_CALL_DUMMY
133498944Sobrien  fprintf_unfiltered (file,
133598944Sobrien                      "gdbarch_dump: %s # %s\n",
1336130803Smarcel                      "DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address)",
1337130803Smarcel                      XSTRING (DEPRECATED_PC_IN_CALL_DUMMY (pc, sp, frame_address)));
1338130803Smarcel  fprintf_unfiltered (file,
1339130803Smarcel                      "gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY = <0x%08lx>\n",
1340130803Smarcel                      (long) current_gdbarch->deprecated_pc_in_call_dummy
1341130803Smarcel                      /*DEPRECATED_PC_IN_CALL_DUMMY ()*/);
134298944Sobrien#endif
1343130803Smarcel#ifdef DEPRECATED_POP_FRAME_P
134498944Sobrien  fprintf_unfiltered (file,
1345130803Smarcel                      "gdbarch_dump: %s # %s\n",
1346130803Smarcel                      "DEPRECATED_POP_FRAME_P()",
1347130803Smarcel                      XSTRING (DEPRECATED_POP_FRAME_P ()));
134898944Sobrien  fprintf_unfiltered (file,
1349130803Smarcel                      "gdbarch_dump: DEPRECATED_POP_FRAME_P() = %d\n",
1350130803Smarcel                      DEPRECATED_POP_FRAME_P ());
135198944Sobrien#endif
1352130803Smarcel#ifdef DEPRECATED_POP_FRAME
135398944Sobrien  fprintf_unfiltered (file,
135498944Sobrien                      "gdbarch_dump: %s # %s\n",
1355130803Smarcel                      "DEPRECATED_POP_FRAME(-)",
1356130803Smarcel                      XSTRING (DEPRECATED_POP_FRAME (-)));
1357130803Smarcel  fprintf_unfiltered (file,
1358130803Smarcel                      "gdbarch_dump: DEPRECATED_POP_FRAME = <0x%08lx>\n",
1359130803Smarcel                      (long) current_gdbarch->deprecated_pop_frame
1360130803Smarcel                      /*DEPRECATED_POP_FRAME ()*/);
136198944Sobrien#endif
1362130803Smarcel#ifdef DEPRECATED_PUSH_ARGUMENTS_P
136398944Sobrien  fprintf_unfiltered (file,
136498944Sobrien                      "gdbarch_dump: %s # %s\n",
1365130803Smarcel                      "DEPRECATED_PUSH_ARGUMENTS_P()",
1366130803Smarcel                      XSTRING (DEPRECATED_PUSH_ARGUMENTS_P ()));
1367130803Smarcel  fprintf_unfiltered (file,
1368130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS_P() = %d\n",
1369130803Smarcel                      DEPRECATED_PUSH_ARGUMENTS_P ());
137098944Sobrien#endif
1371130803Smarcel#ifdef DEPRECATED_PUSH_ARGUMENTS
1372130803Smarcel  fprintf_unfiltered (file,
1373130803Smarcel                      "gdbarch_dump: %s # %s\n",
1374130803Smarcel                      "DEPRECATED_PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr)",
1375130803Smarcel                      XSTRING (DEPRECATED_PUSH_ARGUMENTS (nargs, args, sp, struct_return, struct_addr)));
1376130803Smarcel  fprintf_unfiltered (file,
1377130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS = <0x%08lx>\n",
1378130803Smarcel                      (long) current_gdbarch->deprecated_push_arguments
1379130803Smarcel                      /*DEPRECATED_PUSH_ARGUMENTS ()*/);
138098944Sobrien#endif
1381130803Smarcel#ifdef DEPRECATED_PUSH_DUMMY_FRAME_P
138298944Sobrien  fprintf_unfiltered (file,
138398944Sobrien                      "gdbarch_dump: %s # %s\n",
1384130803Smarcel                      "DEPRECATED_PUSH_DUMMY_FRAME_P()",
1385130803Smarcel                      XSTRING (DEPRECATED_PUSH_DUMMY_FRAME_P ()));
1386130803Smarcel  fprintf_unfiltered (file,
1387130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME_P() = %d\n",
1388130803Smarcel                      DEPRECATED_PUSH_DUMMY_FRAME_P ());
138998944Sobrien#endif
1390130803Smarcel#ifdef DEPRECATED_PUSH_DUMMY_FRAME
1391130803Smarcel  fprintf_unfiltered (file,
1392130803Smarcel                      "gdbarch_dump: %s # %s\n",
1393130803Smarcel                      "DEPRECATED_PUSH_DUMMY_FRAME(-)",
1394130803Smarcel                      XSTRING (DEPRECATED_PUSH_DUMMY_FRAME (-)));
1395130803Smarcel  fprintf_unfiltered (file,
1396130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME = <0x%08lx>\n",
1397130803Smarcel                      (long) current_gdbarch->deprecated_push_dummy_frame
1398130803Smarcel                      /*DEPRECATED_PUSH_DUMMY_FRAME ()*/);
139998944Sobrien#endif
1400130803Smarcel#ifdef DEPRECATED_PUSH_RETURN_ADDRESS_P
140198944Sobrien  fprintf_unfiltered (file,
140298944Sobrien                      "gdbarch_dump: %s # %s\n",
1403130803Smarcel                      "DEPRECATED_PUSH_RETURN_ADDRESS_P()",
1404130803Smarcel                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS_P ()));
1405130803Smarcel  fprintf_unfiltered (file,
1406130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS_P() = %d\n",
1407130803Smarcel                      DEPRECATED_PUSH_RETURN_ADDRESS_P ());
140898944Sobrien#endif
1409130803Smarcel#ifdef DEPRECATED_PUSH_RETURN_ADDRESS
1410130803Smarcel  fprintf_unfiltered (file,
1411130803Smarcel                      "gdbarch_dump: %s # %s\n",
1412130803Smarcel                      "DEPRECATED_PUSH_RETURN_ADDRESS(pc, sp)",
1413130803Smarcel                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS (pc, sp)));
1414130803Smarcel  fprintf_unfiltered (file,
1415130803Smarcel                      "gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS = <0x%08lx>\n",
1416130803Smarcel                      (long) current_gdbarch->deprecated_push_return_address
1417130803Smarcel                      /*DEPRECATED_PUSH_RETURN_ADDRESS ()*/);
141898944Sobrien#endif
1419130803Smarcel#ifdef DEPRECATED_REGISTER_BYTE_P
142098944Sobrien  fprintf_unfiltered (file,
142198944Sobrien                      "gdbarch_dump: %s # %s\n",
1422130803Smarcel                      "DEPRECATED_REGISTER_BYTE_P()",
1423130803Smarcel                      XSTRING (DEPRECATED_REGISTER_BYTE_P ()));
1424130803Smarcel  fprintf_unfiltered (file,
1425130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_BYTE_P() = %d\n",
1426130803Smarcel                      DEPRECATED_REGISTER_BYTE_P ());
142798944Sobrien#endif
1428130803Smarcel#ifdef DEPRECATED_REGISTER_BYTE
1429130803Smarcel  fprintf_unfiltered (file,
1430130803Smarcel                      "gdbarch_dump: %s # %s\n",
1431130803Smarcel                      "DEPRECATED_REGISTER_BYTE(reg_nr)",
1432130803Smarcel                      XSTRING (DEPRECATED_REGISTER_BYTE (reg_nr)));
1433130803Smarcel  fprintf_unfiltered (file,
1434130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_BYTE = <0x%08lx>\n",
1435130803Smarcel                      (long) current_gdbarch->deprecated_register_byte
1436130803Smarcel                      /*DEPRECATED_REGISTER_BYTE ()*/);
143798944Sobrien#endif
1438130803Smarcel#ifdef DEPRECATED_REGISTER_BYTES
1439130803Smarcel  fprintf_unfiltered (file,
1440130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_BYTES # %s\n",
1441130803Smarcel                      XSTRING (DEPRECATED_REGISTER_BYTES));
1442130803Smarcel  fprintf_unfiltered (file,
1443130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_BYTES = %d\n",
1444130803Smarcel                      DEPRECATED_REGISTER_BYTES);
1445130803Smarcel#endif
1446130803Smarcel#ifdef DEPRECATED_REGISTER_CONVERTIBLE_P
1447130803Smarcel  fprintf_unfiltered (file,
1448130803Smarcel                      "gdbarch_dump: %s # %s\n",
1449130803Smarcel                      "DEPRECATED_REGISTER_CONVERTIBLE_P()",
1450130803Smarcel                      XSTRING (DEPRECATED_REGISTER_CONVERTIBLE_P ()));
1451130803Smarcel  fprintf_unfiltered (file,
1452130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE_P() = %d\n",
1453130803Smarcel                      DEPRECATED_REGISTER_CONVERTIBLE_P ());
1454130803Smarcel#endif
1455130803Smarcel#ifdef DEPRECATED_REGISTER_CONVERTIBLE
1456130803Smarcel  fprintf_unfiltered (file,
1457130803Smarcel                      "gdbarch_dump: %s # %s\n",
1458130803Smarcel                      "DEPRECATED_REGISTER_CONVERTIBLE(nr)",
1459130803Smarcel                      XSTRING (DEPRECATED_REGISTER_CONVERTIBLE (nr)));
1460130803Smarcel  fprintf_unfiltered (file,
1461130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE = <0x%08lx>\n",
1462130803Smarcel                      (long) current_gdbarch->deprecated_register_convertible
1463130803Smarcel                      /*DEPRECATED_REGISTER_CONVERTIBLE ()*/);
1464130803Smarcel#endif
1465130803Smarcel#ifdef DEPRECATED_REGISTER_CONVERT_TO_RAW
1466130803Smarcel  fprintf_unfiltered (file,
1467130803Smarcel                      "gdbarch_dump: %s # %s\n",
1468130803Smarcel                      "DEPRECATED_REGISTER_CONVERT_TO_RAW(type, regnum, from, to)",
1469130803Smarcel                      XSTRING (DEPRECATED_REGISTER_CONVERT_TO_RAW (type, regnum, from, to)));
1470130803Smarcel  fprintf_unfiltered (file,
1471130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_RAW = <0x%08lx>\n",
1472130803Smarcel                      (long) current_gdbarch->deprecated_register_convert_to_raw
1473130803Smarcel                      /*DEPRECATED_REGISTER_CONVERT_TO_RAW ()*/);
1474130803Smarcel#endif
1475130803Smarcel#ifdef DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL
1476130803Smarcel  fprintf_unfiltered (file,
1477130803Smarcel                      "gdbarch_dump: %s # %s\n",
1478130803Smarcel                      "DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL(regnum, type, from, to)",
1479130803Smarcel                      XSTRING (DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to)));
1480130803Smarcel  fprintf_unfiltered (file,
1481130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL = <0x%08lx>\n",
1482130803Smarcel                      (long) current_gdbarch->deprecated_register_convert_to_virtual
1483130803Smarcel                      /*DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL ()*/);
1484130803Smarcel#endif
1485130803Smarcel#ifdef DEPRECATED_REGISTER_RAW_SIZE_P
1486130803Smarcel  fprintf_unfiltered (file,
1487130803Smarcel                      "gdbarch_dump: %s # %s\n",
1488130803Smarcel                      "DEPRECATED_REGISTER_RAW_SIZE_P()",
1489130803Smarcel                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE_P ()));
1490130803Smarcel  fprintf_unfiltered (file,
1491130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE_P() = %d\n",
1492130803Smarcel                      DEPRECATED_REGISTER_RAW_SIZE_P ());
1493130803Smarcel#endif
1494130803Smarcel#ifdef DEPRECATED_REGISTER_RAW_SIZE
1495130803Smarcel  fprintf_unfiltered (file,
1496130803Smarcel                      "gdbarch_dump: %s # %s\n",
1497130803Smarcel                      "DEPRECATED_REGISTER_RAW_SIZE(reg_nr)",
1498130803Smarcel                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE (reg_nr)));
1499130803Smarcel  fprintf_unfiltered (file,
1500130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE = <0x%08lx>\n",
1501130803Smarcel                      (long) current_gdbarch->deprecated_register_raw_size
1502130803Smarcel                      /*DEPRECATED_REGISTER_RAW_SIZE ()*/);
1503130803Smarcel#endif
1504130803Smarcel#ifdef DEPRECATED_REGISTER_SIZE
1505130803Smarcel  fprintf_unfiltered (file,
1506130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n",
1507130803Smarcel                      XSTRING (DEPRECATED_REGISTER_SIZE));
1508130803Smarcel  fprintf_unfiltered (file,
1509130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_SIZE = %d\n",
1510130803Smarcel                      DEPRECATED_REGISTER_SIZE);
1511130803Smarcel#endif
1512130803Smarcel#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE_P
1513130803Smarcel  fprintf_unfiltered (file,
1514130803Smarcel                      "gdbarch_dump: %s # %s\n",
1515130803Smarcel                      "DEPRECATED_REGISTER_VIRTUAL_SIZE_P()",
1516130803Smarcel                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE_P ()));
1517130803Smarcel  fprintf_unfiltered (file,
1518130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE_P() = %d\n",
1519130803Smarcel                      DEPRECATED_REGISTER_VIRTUAL_SIZE_P ());
1520130803Smarcel#endif
1521130803Smarcel#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE
1522130803Smarcel  fprintf_unfiltered (file,
1523130803Smarcel                      "gdbarch_dump: %s # %s\n",
1524130803Smarcel                      "DEPRECATED_REGISTER_VIRTUAL_SIZE(reg_nr)",
1525130803Smarcel                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE (reg_nr)));
1526130803Smarcel  fprintf_unfiltered (file,
1527130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE = <0x%08lx>\n",
1528130803Smarcel                      (long) current_gdbarch->deprecated_register_virtual_size
1529130803Smarcel                      /*DEPRECATED_REGISTER_VIRTUAL_SIZE ()*/);
1530130803Smarcel#endif
1531130803Smarcel#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE_P
1532130803Smarcel  fprintf_unfiltered (file,
1533130803Smarcel                      "gdbarch_dump: %s # %s\n",
1534130803Smarcel                      "DEPRECATED_REGISTER_VIRTUAL_TYPE_P()",
1535130803Smarcel                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE_P ()));
1536130803Smarcel  fprintf_unfiltered (file,
1537130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE_P() = %d\n",
1538130803Smarcel                      DEPRECATED_REGISTER_VIRTUAL_TYPE_P ());
1539130803Smarcel#endif
1540130803Smarcel#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE
1541130803Smarcel  fprintf_unfiltered (file,
1542130803Smarcel                      "gdbarch_dump: %s # %s\n",
1543130803Smarcel                      "DEPRECATED_REGISTER_VIRTUAL_TYPE(reg_nr)",
1544130803Smarcel                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE (reg_nr)));
1545130803Smarcel  fprintf_unfiltered (file,
1546130803Smarcel                      "gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE = <0x%08lx>\n",
1547130803Smarcel                      (long) current_gdbarch->deprecated_register_virtual_type
1548130803Smarcel                      /*DEPRECATED_REGISTER_VIRTUAL_TYPE ()*/);
1549130803Smarcel#endif
1550130803Smarcel#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR_P
1551130803Smarcel  fprintf_unfiltered (file,
1552130803Smarcel                      "gdbarch_dump: %s # %s\n",
1553130803Smarcel                      "DEPRECATED_REG_STRUCT_HAS_ADDR_P()",
1554130803Smarcel                      XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR_P ()));
1555130803Smarcel  fprintf_unfiltered (file,
1556130803Smarcel                      "gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR_P() = %d\n",
1557130803Smarcel                      DEPRECATED_REG_STRUCT_HAS_ADDR_P ());
1558130803Smarcel#endif
1559130803Smarcel#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR
1560130803Smarcel  fprintf_unfiltered (file,
1561130803Smarcel                      "gdbarch_dump: %s # %s\n",
1562130803Smarcel                      "DEPRECATED_REG_STRUCT_HAS_ADDR(gcc_p, type)",
1563130803Smarcel                      XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR (gcc_p, type)));
1564130803Smarcel  fprintf_unfiltered (file,
1565130803Smarcel                      "gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR = <0x%08lx>\n",
1566130803Smarcel                      (long) current_gdbarch->deprecated_reg_struct_has_addr
1567130803Smarcel                      /*DEPRECATED_REG_STRUCT_HAS_ADDR ()*/);
1568130803Smarcel#endif
1569130803Smarcel#ifdef DEPRECATED_SAVED_PC_AFTER_CALL_P
1570130803Smarcel  fprintf_unfiltered (file,
1571130803Smarcel                      "gdbarch_dump: %s # %s\n",
1572130803Smarcel                      "DEPRECATED_SAVED_PC_AFTER_CALL_P()",
1573130803Smarcel                      XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL_P ()));
1574130803Smarcel  fprintf_unfiltered (file,
1575130803Smarcel                      "gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL_P() = %d\n",
1576130803Smarcel                      DEPRECATED_SAVED_PC_AFTER_CALL_P ());
1577130803Smarcel#endif
1578130803Smarcel#ifdef DEPRECATED_SAVED_PC_AFTER_CALL
1579130803Smarcel  fprintf_unfiltered (file,
1580130803Smarcel                      "gdbarch_dump: %s # %s\n",
1581130803Smarcel                      "DEPRECATED_SAVED_PC_AFTER_CALL(frame)",
1582130803Smarcel                      XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL (frame)));
1583130803Smarcel  fprintf_unfiltered (file,
1584130803Smarcel                      "gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL = <0x%08lx>\n",
1585130803Smarcel                      (long) current_gdbarch->deprecated_saved_pc_after_call
1586130803Smarcel                      /*DEPRECATED_SAVED_PC_AFTER_CALL ()*/);
1587130803Smarcel#endif
1588130803Smarcel#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS_P
1589130803Smarcel  fprintf_unfiltered (file,
1590130803Smarcel                      "gdbarch_dump: %s # %s\n",
1591130803Smarcel                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS_P()",
1592130803Smarcel                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ()));
1593130803Smarcel  fprintf_unfiltered (file,
1594130803Smarcel                      "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() = %d\n",
1595130803Smarcel                      DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ());
1596130803Smarcel#endif
1597130803Smarcel#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS
1598130803Smarcel  fprintf_unfiltered (file,
1599130803Smarcel                      "gdbarch_dump: %s # %s\n",
1600130803Smarcel                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp)",
1601130803Smarcel                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp)));
1602130803Smarcel  fprintf_unfiltered (file,
1603130803Smarcel                      "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n",
1604130803Smarcel                      (long) current_gdbarch->deprecated_save_dummy_frame_tos
1605130803Smarcel                      /*DEPRECATED_SAVE_DUMMY_FRAME_TOS ()*/);
1606130803Smarcel#endif
1607130803Smarcel#ifdef DEPRECATED_SIZEOF_CALL_DUMMY_WORDS
1608130803Smarcel  fprintf_unfiltered (file,
1609130803Smarcel                      "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # %s\n",
1610130803Smarcel                      XSTRING (DEPRECATED_SIZEOF_CALL_DUMMY_WORDS));
1611130803Smarcel  fprintf_unfiltered (file,
1612130803Smarcel                      "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS = %d\n",
1613130803Smarcel                      DEPRECATED_SIZEOF_CALL_DUMMY_WORDS);
1614130803Smarcel#endif
1615130803Smarcel#ifdef DEPRECATED_STACK_ALIGN_P
1616130803Smarcel  fprintf_unfiltered (file,
1617130803Smarcel                      "gdbarch_dump: %s # %s\n",
1618130803Smarcel                      "DEPRECATED_STACK_ALIGN_P()",
1619130803Smarcel                      XSTRING (DEPRECATED_STACK_ALIGN_P ()));
1620130803Smarcel  fprintf_unfiltered (file,
1621130803Smarcel                      "gdbarch_dump: DEPRECATED_STACK_ALIGN_P() = %d\n",
1622130803Smarcel                      DEPRECATED_STACK_ALIGN_P ());
1623130803Smarcel#endif
1624130803Smarcel#ifdef DEPRECATED_STACK_ALIGN
1625130803Smarcel  fprintf_unfiltered (file,
1626130803Smarcel                      "gdbarch_dump: %s # %s\n",
1627130803Smarcel                      "DEPRECATED_STACK_ALIGN(sp)",
1628130803Smarcel                      XSTRING (DEPRECATED_STACK_ALIGN (sp)));
1629130803Smarcel  fprintf_unfiltered (file,
1630130803Smarcel                      "gdbarch_dump: DEPRECATED_STACK_ALIGN = <0x%08lx>\n",
1631130803Smarcel                      (long) current_gdbarch->deprecated_stack_align
1632130803Smarcel                      /*DEPRECATED_STACK_ALIGN ()*/);
1633130803Smarcel#endif
1634130803Smarcel#ifdef DEPRECATED_STORE_RETURN_VALUE
1635130803Smarcel  fprintf_unfiltered (file,
1636130803Smarcel                      "gdbarch_dump: %s # %s\n",
1637130803Smarcel                      "DEPRECATED_STORE_RETURN_VALUE(type, valbuf)",
1638130803Smarcel                      XSTRING (DEPRECATED_STORE_RETURN_VALUE (type, valbuf)));
1639130803Smarcel  fprintf_unfiltered (file,
1640130803Smarcel                      "gdbarch_dump: DEPRECATED_STORE_RETURN_VALUE = <0x%08lx>\n",
1641130803Smarcel                      (long) current_gdbarch->deprecated_store_return_value
1642130803Smarcel                      /*DEPRECATED_STORE_RETURN_VALUE ()*/);
1643130803Smarcel#endif
1644130803Smarcel#ifdef DEPRECATED_STORE_STRUCT_RETURN_P
1645130803Smarcel  fprintf_unfiltered (file,
1646130803Smarcel                      "gdbarch_dump: %s # %s\n",
1647130803Smarcel                      "DEPRECATED_STORE_STRUCT_RETURN_P()",
1648130803Smarcel                      XSTRING (DEPRECATED_STORE_STRUCT_RETURN_P ()));
1649130803Smarcel  fprintf_unfiltered (file,
1650130803Smarcel                      "gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN_P() = %d\n",
1651130803Smarcel                      DEPRECATED_STORE_STRUCT_RETURN_P ());
1652130803Smarcel#endif
1653130803Smarcel#ifdef DEPRECATED_STORE_STRUCT_RETURN
1654130803Smarcel  fprintf_unfiltered (file,
1655130803Smarcel                      "gdbarch_dump: %s # %s\n",
1656130803Smarcel                      "DEPRECATED_STORE_STRUCT_RETURN(addr, sp)",
1657130803Smarcel                      XSTRING (DEPRECATED_STORE_STRUCT_RETURN (addr, sp)));
1658130803Smarcel  fprintf_unfiltered (file,
1659130803Smarcel                      "gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN = <0x%08lx>\n",
1660130803Smarcel                      (long) current_gdbarch->deprecated_store_struct_return
1661130803Smarcel                      /*DEPRECATED_STORE_STRUCT_RETURN ()*/);
1662130803Smarcel#endif
1663130803Smarcel#ifdef DEPRECATED_TARGET_READ_FP_P
1664130803Smarcel  fprintf_unfiltered (file,
1665130803Smarcel                      "gdbarch_dump: %s # %s\n",
1666130803Smarcel                      "DEPRECATED_TARGET_READ_FP_P()",
1667130803Smarcel                      XSTRING (DEPRECATED_TARGET_READ_FP_P ()));
1668130803Smarcel  fprintf_unfiltered (file,
1669130803Smarcel                      "gdbarch_dump: DEPRECATED_TARGET_READ_FP_P() = %d\n",
1670130803Smarcel                      DEPRECATED_TARGET_READ_FP_P ());
1671130803Smarcel#endif
1672130803Smarcel#ifdef DEPRECATED_TARGET_READ_FP
1673130803Smarcel  fprintf_unfiltered (file,
1674130803Smarcel                      "gdbarch_dump: %s # %s\n",
1675130803Smarcel                      "DEPRECATED_TARGET_READ_FP()",
1676130803Smarcel                      XSTRING (DEPRECATED_TARGET_READ_FP ()));
1677130803Smarcel  fprintf_unfiltered (file,
1678130803Smarcel                      "gdbarch_dump: DEPRECATED_TARGET_READ_FP = <0x%08lx>\n",
1679130803Smarcel                      (long) current_gdbarch->deprecated_target_read_fp
1680130803Smarcel                      /*DEPRECATED_TARGET_READ_FP ()*/);
1681130803Smarcel#endif
1682130803Smarcel#ifdef DEPRECATED_USE_GENERIC_DUMMY_FRAMES
1683130803Smarcel  fprintf_unfiltered (file,
1684130803Smarcel                      "gdbarch_dump: DEPRECATED_USE_GENERIC_DUMMY_FRAMES # %s\n",
1685130803Smarcel                      XSTRING (DEPRECATED_USE_GENERIC_DUMMY_FRAMES));
1686130803Smarcel  fprintf_unfiltered (file,
1687130803Smarcel                      "gdbarch_dump: DEPRECATED_USE_GENERIC_DUMMY_FRAMES = %d\n",
1688130803Smarcel                      DEPRECATED_USE_GENERIC_DUMMY_FRAMES);
1689130803Smarcel#endif
1690130803Smarcel#ifdef DWARF2_REG_TO_REGNUM
1691130803Smarcel  fprintf_unfiltered (file,
1692130803Smarcel                      "gdbarch_dump: %s # %s\n",
1693130803Smarcel                      "DWARF2_REG_TO_REGNUM(dwarf2_regnr)",
1694130803Smarcel                      XSTRING (DWARF2_REG_TO_REGNUM (dwarf2_regnr)));
1695130803Smarcel  fprintf_unfiltered (file,
1696130803Smarcel                      "gdbarch_dump: DWARF2_REG_TO_REGNUM = <0x%08lx>\n",
1697130803Smarcel                      (long) current_gdbarch->dwarf2_reg_to_regnum
1698130803Smarcel                      /*DWARF2_REG_TO_REGNUM ()*/);
1699130803Smarcel#endif
1700130803Smarcel#ifdef DWARF_REG_TO_REGNUM
1701130803Smarcel  fprintf_unfiltered (file,
1702130803Smarcel                      "gdbarch_dump: %s # %s\n",
1703130803Smarcel                      "DWARF_REG_TO_REGNUM(dwarf_regnr)",
1704130803Smarcel                      XSTRING (DWARF_REG_TO_REGNUM (dwarf_regnr)));
1705130803Smarcel  fprintf_unfiltered (file,
1706130803Smarcel                      "gdbarch_dump: DWARF_REG_TO_REGNUM = <0x%08lx>\n",
1707130803Smarcel                      (long) current_gdbarch->dwarf_reg_to_regnum
1708130803Smarcel                      /*DWARF_REG_TO_REGNUM ()*/);
1709130803Smarcel#endif
1710130803Smarcel#ifdef ECOFF_REG_TO_REGNUM
1711130803Smarcel  fprintf_unfiltered (file,
1712130803Smarcel                      "gdbarch_dump: %s # %s\n",
1713130803Smarcel                      "ECOFF_REG_TO_REGNUM(ecoff_regnr)",
1714130803Smarcel                      XSTRING (ECOFF_REG_TO_REGNUM (ecoff_regnr)));
1715130803Smarcel  fprintf_unfiltered (file,
1716130803Smarcel                      "gdbarch_dump: ECOFF_REG_TO_REGNUM = <0x%08lx>\n",
1717130803Smarcel                      (long) current_gdbarch->ecoff_reg_to_regnum
1718130803Smarcel                      /*ECOFF_REG_TO_REGNUM ()*/);
1719130803Smarcel#endif
1720130803Smarcel#ifdef ELF_MAKE_MSYMBOL_SPECIAL
1721130803Smarcel  fprintf_unfiltered (file,
1722130803Smarcel                      "gdbarch_dump: %s # %s\n",
1723130803Smarcel                      "ELF_MAKE_MSYMBOL_SPECIAL(sym, msym)",
1724130803Smarcel                      XSTRING (ELF_MAKE_MSYMBOL_SPECIAL (sym, msym)));
1725130803Smarcel  fprintf_unfiltered (file,
1726130803Smarcel                      "gdbarch_dump: ELF_MAKE_MSYMBOL_SPECIAL = <0x%08lx>\n",
1727130803Smarcel                      (long) current_gdbarch->elf_make_msymbol_special
1728130803Smarcel                      /*ELF_MAKE_MSYMBOL_SPECIAL ()*/);
1729130803Smarcel#endif
1730130803Smarcel#ifdef EXTRACT_RETURN_VALUE
1731130803Smarcel  fprintf_unfiltered (file,
1732130803Smarcel                      "gdbarch_dump: %s # %s\n",
1733130803Smarcel                      "EXTRACT_RETURN_VALUE(type, regcache, valbuf)",
1734130803Smarcel                      XSTRING (EXTRACT_RETURN_VALUE (type, regcache, valbuf)));
1735130803Smarcel  fprintf_unfiltered (file,
1736130803Smarcel                      "gdbarch_dump: EXTRACT_RETURN_VALUE = <0x%08lx>\n",
1737130803Smarcel                      (long) current_gdbarch->extract_return_value
1738130803Smarcel                      /*EXTRACT_RETURN_VALUE ()*/);
1739130803Smarcel#endif
1740130803Smarcel#ifdef FETCH_POINTER_ARGUMENT_P
1741130803Smarcel  fprintf_unfiltered (file,
1742130803Smarcel                      "gdbarch_dump: %s # %s\n",
1743130803Smarcel                      "FETCH_POINTER_ARGUMENT_P()",
1744130803Smarcel                      XSTRING (FETCH_POINTER_ARGUMENT_P ()));
1745130803Smarcel  fprintf_unfiltered (file,
1746130803Smarcel                      "gdbarch_dump: FETCH_POINTER_ARGUMENT_P() = %d\n",
1747130803Smarcel                      FETCH_POINTER_ARGUMENT_P ());
1748130803Smarcel#endif
1749130803Smarcel#ifdef FETCH_POINTER_ARGUMENT
1750130803Smarcel  fprintf_unfiltered (file,
1751130803Smarcel                      "gdbarch_dump: %s # %s\n",
1752130803Smarcel                      "FETCH_POINTER_ARGUMENT(frame, argi, type)",
1753130803Smarcel                      XSTRING (FETCH_POINTER_ARGUMENT (frame, argi, type)));
1754130803Smarcel  fprintf_unfiltered (file,
1755130803Smarcel                      "gdbarch_dump: FETCH_POINTER_ARGUMENT = <0x%08lx>\n",
1756130803Smarcel                      (long) current_gdbarch->fetch_pointer_argument
1757130803Smarcel                      /*FETCH_POINTER_ARGUMENT ()*/);
1758130803Smarcel#endif
1759130803Smarcel#ifdef FP0_REGNUM
1760130803Smarcel  fprintf_unfiltered (file,
1761130803Smarcel                      "gdbarch_dump: FP0_REGNUM # %s\n",
1762130803Smarcel                      XSTRING (FP0_REGNUM));
1763130803Smarcel  fprintf_unfiltered (file,
1764130803Smarcel                      "gdbarch_dump: FP0_REGNUM = %d\n",
1765130803Smarcel                      FP0_REGNUM);
1766130803Smarcel#endif
1767130803Smarcel#ifdef FRAME_ARGS_SKIP
1768130803Smarcel  fprintf_unfiltered (file,
1769130803Smarcel                      "gdbarch_dump: FRAME_ARGS_SKIP # %s\n",
1770130803Smarcel                      XSTRING (FRAME_ARGS_SKIP));
1771130803Smarcel  fprintf_unfiltered (file,
1772130803Smarcel                      "gdbarch_dump: FRAME_ARGS_SKIP = %ld\n",
1773130803Smarcel                      (long) FRAME_ARGS_SKIP);
1774130803Smarcel#endif
1775130803Smarcel#ifdef FRAME_NUM_ARGS_P
1776130803Smarcel  fprintf_unfiltered (file,
1777130803Smarcel                      "gdbarch_dump: %s # %s\n",
1778130803Smarcel                      "FRAME_NUM_ARGS_P()",
1779130803Smarcel                      XSTRING (FRAME_NUM_ARGS_P ()));
1780130803Smarcel  fprintf_unfiltered (file,
1781130803Smarcel                      "gdbarch_dump: FRAME_NUM_ARGS_P() = %d\n",
1782130803Smarcel                      FRAME_NUM_ARGS_P ());
1783130803Smarcel#endif
1784130803Smarcel#ifdef FRAME_NUM_ARGS
1785130803Smarcel  fprintf_unfiltered (file,
1786130803Smarcel                      "gdbarch_dump: %s # %s\n",
1787130803Smarcel                      "FRAME_NUM_ARGS(frame)",
1788130803Smarcel                      XSTRING (FRAME_NUM_ARGS (frame)));
1789130803Smarcel  fprintf_unfiltered (file,
1790130803Smarcel                      "gdbarch_dump: FRAME_NUM_ARGS = <0x%08lx>\n",
1791130803Smarcel                      (long) current_gdbarch->frame_num_args
1792130803Smarcel                      /*FRAME_NUM_ARGS ()*/);
1793130803Smarcel#endif
1794130803Smarcel#ifdef FRAME_RED_ZONE_SIZE
1795130803Smarcel  fprintf_unfiltered (file,
1796130803Smarcel                      "gdbarch_dump: FRAME_RED_ZONE_SIZE # %s\n",
1797130803Smarcel                      XSTRING (FRAME_RED_ZONE_SIZE));
1798130803Smarcel  fprintf_unfiltered (file,
1799130803Smarcel                      "gdbarch_dump: FRAME_RED_ZONE_SIZE = %d\n",
1800130803Smarcel                      FRAME_RED_ZONE_SIZE);
1801130803Smarcel#endif
1802130803Smarcel#ifdef FUNCTION_START_OFFSET
1803130803Smarcel  fprintf_unfiltered (file,
1804130803Smarcel                      "gdbarch_dump: FUNCTION_START_OFFSET # %s\n",
1805130803Smarcel                      XSTRING (FUNCTION_START_OFFSET));
1806130803Smarcel  fprintf_unfiltered (file,
1807130803Smarcel                      "gdbarch_dump: FUNCTION_START_OFFSET = %ld\n",
1808130803Smarcel                      (long) FUNCTION_START_OFFSET);
1809130803Smarcel#endif
1810130803Smarcel#ifdef GET_LONGJMP_TARGET_P
1811130803Smarcel  fprintf_unfiltered (file,
1812130803Smarcel                      "gdbarch_dump: %s # %s\n",
1813130803Smarcel                      "GET_LONGJMP_TARGET_P()",
1814130803Smarcel                      XSTRING (GET_LONGJMP_TARGET_P ()));
1815130803Smarcel  fprintf_unfiltered (file,
1816130803Smarcel                      "gdbarch_dump: GET_LONGJMP_TARGET_P() = %d\n",
1817130803Smarcel                      GET_LONGJMP_TARGET_P ());
1818130803Smarcel#endif
1819130803Smarcel#ifdef GET_LONGJMP_TARGET
1820130803Smarcel  fprintf_unfiltered (file,
1821130803Smarcel                      "gdbarch_dump: %s # %s\n",
1822130803Smarcel                      "GET_LONGJMP_TARGET(pc)",
1823130803Smarcel                      XSTRING (GET_LONGJMP_TARGET (pc)));
1824130803Smarcel  fprintf_unfiltered (file,
1825130803Smarcel                      "gdbarch_dump: GET_LONGJMP_TARGET = <0x%08lx>\n",
1826130803Smarcel                      (long) current_gdbarch->get_longjmp_target
1827130803Smarcel                      /*GET_LONGJMP_TARGET ()*/);
1828130803Smarcel#endif
1829130803Smarcel#ifdef HAVE_NONSTEPPABLE_WATCHPOINT
1830130803Smarcel  fprintf_unfiltered (file,
1831130803Smarcel                      "gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT # %s\n",
1832130803Smarcel                      XSTRING (HAVE_NONSTEPPABLE_WATCHPOINT));
1833130803Smarcel  fprintf_unfiltered (file,
1834130803Smarcel                      "gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT = %d\n",
1835130803Smarcel                      HAVE_NONSTEPPABLE_WATCHPOINT);
1836130803Smarcel#endif
183798944Sobrien#ifdef INNER_THAN
183898944Sobrien  fprintf_unfiltered (file,
183998944Sobrien                      "gdbarch_dump: %s # %s\n",
184098944Sobrien                      "INNER_THAN(lhs, rhs)",
184198944Sobrien                      XSTRING (INNER_THAN (lhs, rhs)));
1842130803Smarcel  fprintf_unfiltered (file,
1843130803Smarcel                      "gdbarch_dump: INNER_THAN = <0x%08lx>\n",
1844130803Smarcel                      (long) current_gdbarch->inner_than
1845130803Smarcel                      /*INNER_THAN ()*/);
184698944Sobrien#endif
1847130803Smarcel#ifdef INTEGER_TO_ADDRESS_P
1848130803Smarcel  fprintf_unfiltered (file,
1849130803Smarcel                      "gdbarch_dump: %s # %s\n",
1850130803Smarcel                      "INTEGER_TO_ADDRESS_P()",
1851130803Smarcel                      XSTRING (INTEGER_TO_ADDRESS_P ()));
1852130803Smarcel  fprintf_unfiltered (file,
1853130803Smarcel                      "gdbarch_dump: INTEGER_TO_ADDRESS_P() = %d\n",
1854130803Smarcel                      INTEGER_TO_ADDRESS_P ());
1855130803Smarcel#endif
185698944Sobrien#ifdef INTEGER_TO_ADDRESS
185798944Sobrien  fprintf_unfiltered (file,
185898944Sobrien                      "gdbarch_dump: %s # %s\n",
185998944Sobrien                      "INTEGER_TO_ADDRESS(type, buf)",
186098944Sobrien                      XSTRING (INTEGER_TO_ADDRESS (type, buf)));
1861130803Smarcel  fprintf_unfiltered (file,
1862130803Smarcel                      "gdbarch_dump: INTEGER_TO_ADDRESS = <0x%08lx>\n",
1863130803Smarcel                      (long) current_gdbarch->integer_to_address
1864130803Smarcel                      /*INTEGER_TO_ADDRESS ()*/);
186598944Sobrien#endif
186698944Sobrien#ifdef IN_SOLIB_CALL_TRAMPOLINE
186798944Sobrien  fprintf_unfiltered (file,
186898944Sobrien                      "gdbarch_dump: %s # %s\n",
186998944Sobrien                      "IN_SOLIB_CALL_TRAMPOLINE(pc, name)",
187098944Sobrien                      XSTRING (IN_SOLIB_CALL_TRAMPOLINE (pc, name)));
187198944Sobrien  fprintf_unfiltered (file,
1872130803Smarcel                      "gdbarch_dump: IN_SOLIB_CALL_TRAMPOLINE = <0x%08lx>\n",
1873130803Smarcel                      (long) current_gdbarch->in_solib_call_trampoline
1874130803Smarcel                      /*IN_SOLIB_CALL_TRAMPOLINE ()*/);
187598944Sobrien#endif
1876130803Smarcel#ifdef IN_SOLIB_RETURN_TRAMPOLINE
187798944Sobrien  fprintf_unfiltered (file,
1878130803Smarcel                      "gdbarch_dump: %s # %s\n",
1879130803Smarcel                      "IN_SOLIB_RETURN_TRAMPOLINE(pc, name)",
1880130803Smarcel                      XSTRING (IN_SOLIB_RETURN_TRAMPOLINE (pc, name)));
188198944Sobrien  fprintf_unfiltered (file,
1882130803Smarcel                      "gdbarch_dump: IN_SOLIB_RETURN_TRAMPOLINE = <0x%08lx>\n",
1883130803Smarcel                      (long) current_gdbarch->in_solib_return_trampoline
1884130803Smarcel                      /*IN_SOLIB_RETURN_TRAMPOLINE ()*/);
188598944Sobrien#endif
188698944Sobrien#ifdef MEMORY_INSERT_BREAKPOINT
188798944Sobrien  fprintf_unfiltered (file,
188898944Sobrien                      "gdbarch_dump: %s # %s\n",
188998944Sobrien                      "MEMORY_INSERT_BREAKPOINT(addr, contents_cache)",
189098944Sobrien                      XSTRING (MEMORY_INSERT_BREAKPOINT (addr, contents_cache)));
1891130803Smarcel  fprintf_unfiltered (file,
1892130803Smarcel                      "gdbarch_dump: MEMORY_INSERT_BREAKPOINT = <0x%08lx>\n",
1893130803Smarcel                      (long) current_gdbarch->memory_insert_breakpoint
1894130803Smarcel                      /*MEMORY_INSERT_BREAKPOINT ()*/);
189598944Sobrien#endif
189698944Sobrien#ifdef MEMORY_REMOVE_BREAKPOINT
189798944Sobrien  fprintf_unfiltered (file,
189898944Sobrien                      "gdbarch_dump: %s # %s\n",
189998944Sobrien                      "MEMORY_REMOVE_BREAKPOINT(addr, contents_cache)",
190098944Sobrien                      XSTRING (MEMORY_REMOVE_BREAKPOINT (addr, contents_cache)));
190198944Sobrien  fprintf_unfiltered (file,
1902130803Smarcel                      "gdbarch_dump: MEMORY_REMOVE_BREAKPOINT = <0x%08lx>\n",
1903130803Smarcel                      (long) current_gdbarch->memory_remove_breakpoint
1904130803Smarcel                      /*MEMORY_REMOVE_BREAKPOINT ()*/);
190598944Sobrien#endif
1906130803Smarcel#ifdef NAME_OF_MALLOC
190798944Sobrien  fprintf_unfiltered (file,
1908130803Smarcel                      "gdbarch_dump: NAME_OF_MALLOC # %s\n",
1909130803Smarcel                      XSTRING (NAME_OF_MALLOC));
191098944Sobrien  fprintf_unfiltered (file,
1911130803Smarcel                      "gdbarch_dump: NAME_OF_MALLOC = %s\n",
1912130803Smarcel                      NAME_OF_MALLOC);
191398944Sobrien#endif
191498944Sobrien#ifdef NUM_PSEUDO_REGS
191598944Sobrien  fprintf_unfiltered (file,
191698944Sobrien                      "gdbarch_dump: NUM_PSEUDO_REGS # %s\n",
191798944Sobrien                      XSTRING (NUM_PSEUDO_REGS));
191898944Sobrien  fprintf_unfiltered (file,
191998944Sobrien                      "gdbarch_dump: NUM_PSEUDO_REGS = %d\n",
192098944Sobrien                      NUM_PSEUDO_REGS);
192198944Sobrien#endif
192298944Sobrien#ifdef NUM_REGS
192398944Sobrien  fprintf_unfiltered (file,
192498944Sobrien                      "gdbarch_dump: NUM_REGS # %s\n",
192598944Sobrien                      XSTRING (NUM_REGS));
192698944Sobrien  fprintf_unfiltered (file,
192798944Sobrien                      "gdbarch_dump: NUM_REGS = %d\n",
192898944Sobrien                      NUM_REGS);
192998944Sobrien#endif
193098944Sobrien#ifdef PARM_BOUNDARY
193198944Sobrien  fprintf_unfiltered (file,
193298944Sobrien                      "gdbarch_dump: PARM_BOUNDARY # %s\n",
193398944Sobrien                      XSTRING (PARM_BOUNDARY));
193498944Sobrien  fprintf_unfiltered (file,
193598944Sobrien                      "gdbarch_dump: PARM_BOUNDARY = %d\n",
193698944Sobrien                      PARM_BOUNDARY);
193798944Sobrien#endif
1938130803Smarcel#ifdef PC_IN_SIGTRAMP
193998944Sobrien  fprintf_unfiltered (file,
194098944Sobrien                      "gdbarch_dump: %s # %s\n",
1941130803Smarcel                      "PC_IN_SIGTRAMP(pc, name)",
1942130803Smarcel                      XSTRING (PC_IN_SIGTRAMP (pc, name)));
1943130803Smarcel  fprintf_unfiltered (file,
1944130803Smarcel                      "gdbarch_dump: PC_IN_SIGTRAMP = <0x%08lx>\n",
1945130803Smarcel                      (long) current_gdbarch->pc_in_sigtramp
1946130803Smarcel                      /*PC_IN_SIGTRAMP ()*/);
194798944Sobrien#endif
194898944Sobrien#ifdef PC_REGNUM
194998944Sobrien  fprintf_unfiltered (file,
195098944Sobrien                      "gdbarch_dump: PC_REGNUM # %s\n",
195198944Sobrien                      XSTRING (PC_REGNUM));
195298944Sobrien  fprintf_unfiltered (file,
195398944Sobrien                      "gdbarch_dump: PC_REGNUM = %d\n",
195498944Sobrien                      PC_REGNUM);
195598944Sobrien#endif
195698944Sobrien#ifdef POINTER_TO_ADDRESS
195798944Sobrien  fprintf_unfiltered (file,
195898944Sobrien                      "gdbarch_dump: %s # %s\n",
195998944Sobrien                      "POINTER_TO_ADDRESS(type, buf)",
196098944Sobrien                      XSTRING (POINTER_TO_ADDRESS (type, buf)));
196198944Sobrien  fprintf_unfiltered (file,
1962130803Smarcel                      "gdbarch_dump: POINTER_TO_ADDRESS = <0x%08lx>\n",
1963130803Smarcel                      (long) current_gdbarch->pointer_to_address
1964130803Smarcel                      /*POINTER_TO_ADDRESS ()*/);
196598944Sobrien#endif
196698944Sobrien  fprintf_unfiltered (file,
1967130803Smarcel                      "gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
1968130803Smarcel                      gdbarch_print_float_info_p (current_gdbarch));
196998944Sobrien  fprintf_unfiltered (file,
1970130803Smarcel                      "gdbarch_dump: print_float_info = 0x%08lx\n",
1971130803Smarcel                      (long) current_gdbarch->print_float_info);
197298944Sobrien  fprintf_unfiltered (file,
1973130803Smarcel                      "gdbarch_dump: print_registers_info = 0x%08lx\n",
1974130803Smarcel                      (long) current_gdbarch->print_registers_info);
197598944Sobrien  fprintf_unfiltered (file,
1976130803Smarcel                      "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
1977130803Smarcel                      gdbarch_print_vector_info_p (current_gdbarch));
197898944Sobrien  fprintf_unfiltered (file,
1979130803Smarcel                      "gdbarch_dump: print_vector_info = 0x%08lx\n",
1980130803Smarcel                      (long) current_gdbarch->print_vector_info);
1981130803Smarcel#ifdef PS_REGNUM
198298944Sobrien  fprintf_unfiltered (file,
1983130803Smarcel                      "gdbarch_dump: PS_REGNUM # %s\n",
1984130803Smarcel                      XSTRING (PS_REGNUM));
1985130803Smarcel  fprintf_unfiltered (file,
1986130803Smarcel                      "gdbarch_dump: PS_REGNUM = %d\n",
1987130803Smarcel                      PS_REGNUM);
198898944Sobrien#endif
198998944Sobrien  fprintf_unfiltered (file,
1990130803Smarcel                      "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
1991130803Smarcel                      gdbarch_push_dummy_call_p (current_gdbarch));
1992130803Smarcel  fprintf_unfiltered (file,
1993130803Smarcel                      "gdbarch_dump: push_dummy_call = 0x%08lx\n",
1994130803Smarcel                      (long) current_gdbarch->push_dummy_call);
1995130803Smarcel  fprintf_unfiltered (file,
1996130803Smarcel                      "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
1997130803Smarcel                      gdbarch_push_dummy_code_p (current_gdbarch));
1998130803Smarcel  fprintf_unfiltered (file,
1999130803Smarcel                      "gdbarch_dump: push_dummy_code = 0x%08lx\n",
2000130803Smarcel                      (long) current_gdbarch->push_dummy_code);
2001130803Smarcel#ifdef REGISTER_BYTES_OK_P
2002130803Smarcel  fprintf_unfiltered (file,
200398944Sobrien                      "gdbarch_dump: %s # %s\n",
2004130803Smarcel                      "REGISTER_BYTES_OK_P()",
2005130803Smarcel                      XSTRING (REGISTER_BYTES_OK_P ()));
200698944Sobrien  fprintf_unfiltered (file,
2007130803Smarcel                      "gdbarch_dump: REGISTER_BYTES_OK_P() = %d\n",
2008130803Smarcel                      REGISTER_BYTES_OK_P ());
200998944Sobrien#endif
201098944Sobrien#ifdef REGISTER_BYTES_OK
201198944Sobrien  fprintf_unfiltered (file,
201298944Sobrien                      "gdbarch_dump: %s # %s\n",
201398944Sobrien                      "REGISTER_BYTES_OK(nr_bytes)",
201498944Sobrien                      XSTRING (REGISTER_BYTES_OK (nr_bytes)));
201598944Sobrien  fprintf_unfiltered (file,
2016130803Smarcel                      "gdbarch_dump: REGISTER_BYTES_OK = <0x%08lx>\n",
2017130803Smarcel                      (long) current_gdbarch->register_bytes_ok
2018130803Smarcel                      /*REGISTER_BYTES_OK ()*/);
201998944Sobrien#endif
202098944Sobrien#ifdef REGISTER_NAME
202198944Sobrien  fprintf_unfiltered (file,
202298944Sobrien                      "gdbarch_dump: %s # %s\n",
202398944Sobrien                      "REGISTER_NAME(regnr)",
202498944Sobrien                      XSTRING (REGISTER_NAME (regnr)));
202598944Sobrien  fprintf_unfiltered (file,
2026130803Smarcel                      "gdbarch_dump: REGISTER_NAME = <0x%08lx>\n",
2027130803Smarcel                      (long) current_gdbarch->register_name
2028130803Smarcel                      /*REGISTER_NAME ()*/);
202998944Sobrien#endif
203098944Sobrien#ifdef REGISTER_SIM_REGNO
203198944Sobrien  fprintf_unfiltered (file,
203298944Sobrien                      "gdbarch_dump: %s # %s\n",
203398944Sobrien                      "REGISTER_SIM_REGNO(reg_nr)",
203498944Sobrien                      XSTRING (REGISTER_SIM_REGNO (reg_nr)));
203598944Sobrien  fprintf_unfiltered (file,
2036130803Smarcel                      "gdbarch_dump: REGISTER_SIM_REGNO = <0x%08lx>\n",
2037130803Smarcel                      (long) current_gdbarch->register_sim_regno
2038130803Smarcel                      /*REGISTER_SIM_REGNO ()*/);
203998944Sobrien#endif
2040130803Smarcel#ifdef REGISTER_TO_VALUE
204198944Sobrien  fprintf_unfiltered (file,
204298944Sobrien                      "gdbarch_dump: %s # %s\n",
2043130803Smarcel                      "REGISTER_TO_VALUE(frame, regnum, type, buf)",
2044130803Smarcel                      XSTRING (REGISTER_TO_VALUE (frame, regnum, type, buf)));
204598944Sobrien  fprintf_unfiltered (file,
2046130803Smarcel                      "gdbarch_dump: REGISTER_TO_VALUE = <0x%08lx>\n",
2047130803Smarcel                      (long) current_gdbarch->register_to_value
2048130803Smarcel                      /*REGISTER_TO_VALUE ()*/);
204998944Sobrien#endif
205098944Sobrien  fprintf_unfiltered (file,
2051130803Smarcel                      "gdbarch_dump: gdbarch_register_type_p() = %d\n",
2052130803Smarcel                      gdbarch_register_type_p (current_gdbarch));
205398944Sobrien  fprintf_unfiltered (file,
2054130803Smarcel                      "gdbarch_dump: register_type = 0x%08lx\n",
2055130803Smarcel                      (long) current_gdbarch->register_type);
2056130803Smarcel  fprintf_unfiltered (file,
2057130803Smarcel                      "gdbarch_dump: remote_translate_xfer_address = 0x%08lx\n",
2058130803Smarcel                      (long) current_gdbarch->remote_translate_xfer_address);
205998944Sobrien#ifdef RETURN_VALUE_ON_STACK
206098944Sobrien  fprintf_unfiltered (file,
206198944Sobrien                      "gdbarch_dump: %s # %s\n",
206298944Sobrien                      "RETURN_VALUE_ON_STACK(type)",
206398944Sobrien                      XSTRING (RETURN_VALUE_ON_STACK (type)));
2064130803Smarcel  fprintf_unfiltered (file,
2065130803Smarcel                      "gdbarch_dump: RETURN_VALUE_ON_STACK = <0x%08lx>\n",
2066130803Smarcel                      (long) current_gdbarch->return_value_on_stack
2067130803Smarcel                      /*RETURN_VALUE_ON_STACK ()*/);
206898944Sobrien#endif
2069130803Smarcel#ifdef SDB_REG_TO_REGNUM
207098944Sobrien  fprintf_unfiltered (file,
207198944Sobrien                      "gdbarch_dump: %s # %s\n",
2072130803Smarcel                      "SDB_REG_TO_REGNUM(sdb_regnr)",
2073130803Smarcel                      XSTRING (SDB_REG_TO_REGNUM (sdb_regnr)));
2074130803Smarcel  fprintf_unfiltered (file,
2075130803Smarcel                      "gdbarch_dump: SDB_REG_TO_REGNUM = <0x%08lx>\n",
2076130803Smarcel                      (long) current_gdbarch->sdb_reg_to_regnum
2077130803Smarcel                      /*SDB_REG_TO_REGNUM ()*/);
207898944Sobrien#endif
2079130803Smarcel#ifdef SIGTRAMP_END_P
208098944Sobrien  fprintf_unfiltered (file,
208198944Sobrien                      "gdbarch_dump: %s # %s\n",
2082130803Smarcel                      "SIGTRAMP_END_P()",
2083130803Smarcel                      XSTRING (SIGTRAMP_END_P ()));
2084130803Smarcel  fprintf_unfiltered (file,
2085130803Smarcel                      "gdbarch_dump: SIGTRAMP_END_P() = %d\n",
2086130803Smarcel                      SIGTRAMP_END_P ());
208798944Sobrien#endif
2088130803Smarcel#ifdef SIGTRAMP_END
2089130803Smarcel  fprintf_unfiltered (file,
2090130803Smarcel                      "gdbarch_dump: %s # %s\n",
2091130803Smarcel                      "SIGTRAMP_END(pc)",
2092130803Smarcel                      XSTRING (SIGTRAMP_END (pc)));
2093130803Smarcel  fprintf_unfiltered (file,
2094130803Smarcel                      "gdbarch_dump: SIGTRAMP_END = <0x%08lx>\n",
2095130803Smarcel                      (long) current_gdbarch->sigtramp_end
2096130803Smarcel                      /*SIGTRAMP_END ()*/);
209798944Sobrien#endif
2098130803Smarcel#ifdef SIGTRAMP_START_P
209998944Sobrien  fprintf_unfiltered (file,
210098944Sobrien                      "gdbarch_dump: %s # %s\n",
2101130803Smarcel                      "SIGTRAMP_START_P()",
2102130803Smarcel                      XSTRING (SIGTRAMP_START_P ()));
2103130803Smarcel  fprintf_unfiltered (file,
2104130803Smarcel                      "gdbarch_dump: SIGTRAMP_START_P() = %d\n",
2105130803Smarcel                      SIGTRAMP_START_P ());
210698944Sobrien#endif
2107130803Smarcel#ifdef SIGTRAMP_START
210898944Sobrien  fprintf_unfiltered (file,
2109130803Smarcel                      "gdbarch_dump: %s # %s\n",
2110130803Smarcel                      "SIGTRAMP_START(pc)",
2111130803Smarcel                      XSTRING (SIGTRAMP_START (pc)));
211298944Sobrien  fprintf_unfiltered (file,
2113130803Smarcel                      "gdbarch_dump: SIGTRAMP_START = <0x%08lx>\n",
2114130803Smarcel                      (long) current_gdbarch->sigtramp_start
2115130803Smarcel                      /*SIGTRAMP_START ()*/);
211698944Sobrien#endif
211798944Sobrien#ifdef SKIP_PROLOGUE
211898944Sobrien  fprintf_unfiltered (file,
211998944Sobrien                      "gdbarch_dump: %s # %s\n",
212098944Sobrien                      "SKIP_PROLOGUE(ip)",
212198944Sobrien                      XSTRING (SKIP_PROLOGUE (ip)));
2122130803Smarcel  fprintf_unfiltered (file,
2123130803Smarcel                      "gdbarch_dump: SKIP_PROLOGUE = <0x%08lx>\n",
2124130803Smarcel                      (long) current_gdbarch->skip_prologue
2125130803Smarcel                      /*SKIP_PROLOGUE ()*/);
212698944Sobrien#endif
2127130803Smarcel  fprintf_unfiltered (file,
2128130803Smarcel                      "gdbarch_dump: skip_solib_resolver = 0x%08lx\n",
2129130803Smarcel                      (long) current_gdbarch->skip_solib_resolver);
213098944Sobrien#ifdef SKIP_TRAMPOLINE_CODE
213198944Sobrien  fprintf_unfiltered (file,
213298944Sobrien                      "gdbarch_dump: %s # %s\n",
213398944Sobrien                      "SKIP_TRAMPOLINE_CODE(pc)",
213498944Sobrien                      XSTRING (SKIP_TRAMPOLINE_CODE (pc)));
2135130803Smarcel  fprintf_unfiltered (file,
2136130803Smarcel                      "gdbarch_dump: SKIP_TRAMPOLINE_CODE = <0x%08lx>\n",
2137130803Smarcel                      (long) current_gdbarch->skip_trampoline_code
2138130803Smarcel                      /*SKIP_TRAMPOLINE_CODE ()*/);
213998944Sobrien#endif
214098944Sobrien#ifdef SMASH_TEXT_ADDRESS
214198944Sobrien  fprintf_unfiltered (file,
214298944Sobrien                      "gdbarch_dump: %s # %s\n",
214398944Sobrien                      "SMASH_TEXT_ADDRESS(addr)",
214498944Sobrien                      XSTRING (SMASH_TEXT_ADDRESS (addr)));
2145130803Smarcel  fprintf_unfiltered (file,
2146130803Smarcel                      "gdbarch_dump: SMASH_TEXT_ADDRESS = <0x%08lx>\n",
2147130803Smarcel                      (long) current_gdbarch->smash_text_address
2148130803Smarcel                      /*SMASH_TEXT_ADDRESS ()*/);
214998944Sobrien#endif
2150130803Smarcel#ifdef SOFTWARE_SINGLE_STEP_P
2151130803Smarcel  fprintf_unfiltered (file,
2152130803Smarcel                      "gdbarch_dump: %s # %s\n",
2153130803Smarcel                      "SOFTWARE_SINGLE_STEP_P()",
2154130803Smarcel                      XSTRING (SOFTWARE_SINGLE_STEP_P ()));
2155130803Smarcel  fprintf_unfiltered (file,
2156130803Smarcel                      "gdbarch_dump: SOFTWARE_SINGLE_STEP_P() = %d\n",
2157130803Smarcel                      SOFTWARE_SINGLE_STEP_P ());
2158130803Smarcel#endif
215998944Sobrien#ifdef SOFTWARE_SINGLE_STEP
216098944Sobrien  fprintf_unfiltered (file,
216198944Sobrien                      "gdbarch_dump: %s # %s\n",
216298944Sobrien                      "SOFTWARE_SINGLE_STEP(sig, insert_breakpoints_p)",
216398944Sobrien                      XSTRING (SOFTWARE_SINGLE_STEP (sig, insert_breakpoints_p)));
2164130803Smarcel  fprintf_unfiltered (file,
2165130803Smarcel                      "gdbarch_dump: SOFTWARE_SINGLE_STEP = <0x%08lx>\n",
2166130803Smarcel                      (long) current_gdbarch->software_single_step
2167130803Smarcel                      /*SOFTWARE_SINGLE_STEP ()*/);
216898944Sobrien#endif
216998944Sobrien#ifdef SP_REGNUM
217098944Sobrien  fprintf_unfiltered (file,
217198944Sobrien                      "gdbarch_dump: SP_REGNUM # %s\n",
217298944Sobrien                      XSTRING (SP_REGNUM));
217398944Sobrien  fprintf_unfiltered (file,
217498944Sobrien                      "gdbarch_dump: SP_REGNUM = %d\n",
217598944Sobrien                      SP_REGNUM);
217698944Sobrien#endif
217798944Sobrien#ifdef STAB_REG_TO_REGNUM
217898944Sobrien  fprintf_unfiltered (file,
217998944Sobrien                      "gdbarch_dump: %s # %s\n",
218098944Sobrien                      "STAB_REG_TO_REGNUM(stab_regnr)",
218198944Sobrien                      XSTRING (STAB_REG_TO_REGNUM (stab_regnr)));
218298944Sobrien  fprintf_unfiltered (file,
2183130803Smarcel                      "gdbarch_dump: STAB_REG_TO_REGNUM = <0x%08lx>\n",
2184130803Smarcel                      (long) current_gdbarch->stab_reg_to_regnum
2185130803Smarcel                      /*STAB_REG_TO_REGNUM ()*/);
218698944Sobrien#endif
218798944Sobrien#ifdef STORE_RETURN_VALUE
218898944Sobrien  fprintf_unfiltered (file,
218998944Sobrien                      "gdbarch_dump: %s # %s\n",
2190130803Smarcel                      "STORE_RETURN_VALUE(type, regcache, valbuf)",
2191130803Smarcel                      XSTRING (STORE_RETURN_VALUE (type, regcache, valbuf)));
219298944Sobrien  fprintf_unfiltered (file,
2193130803Smarcel                      "gdbarch_dump: STORE_RETURN_VALUE = <0x%08lx>\n",
2194130803Smarcel                      (long) current_gdbarch->store_return_value
2195130803Smarcel                      /*STORE_RETURN_VALUE ()*/);
219698944Sobrien#endif
219798944Sobrien#ifdef TARGET_ADDR_BIT
219898944Sobrien  fprintf_unfiltered (file,
219998944Sobrien                      "gdbarch_dump: TARGET_ADDR_BIT # %s\n",
220098944Sobrien                      XSTRING (TARGET_ADDR_BIT));
220198944Sobrien  fprintf_unfiltered (file,
220298944Sobrien                      "gdbarch_dump: TARGET_ADDR_BIT = %d\n",
220398944Sobrien                      TARGET_ADDR_BIT);
220498944Sobrien#endif
220598944Sobrien#ifdef TARGET_ARCHITECTURE
220698944Sobrien  fprintf_unfiltered (file,
220798944Sobrien                      "gdbarch_dump: TARGET_ARCHITECTURE # %s\n",
220898944Sobrien                      XSTRING (TARGET_ARCHITECTURE));
220998944Sobrien  if (TARGET_ARCHITECTURE != NULL)
221098944Sobrien    fprintf_unfiltered (file,
221198944Sobrien                        "gdbarch_dump: TARGET_ARCHITECTURE = %s\n",
221298944Sobrien                        TARGET_ARCHITECTURE->printable_name);
221398944Sobrien#endif
221498944Sobrien#ifdef TARGET_BFD_VMA_BIT
221598944Sobrien  fprintf_unfiltered (file,
221698944Sobrien                      "gdbarch_dump: TARGET_BFD_VMA_BIT # %s\n",
221798944Sobrien                      XSTRING (TARGET_BFD_VMA_BIT));
221898944Sobrien  fprintf_unfiltered (file,
221998944Sobrien                      "gdbarch_dump: TARGET_BFD_VMA_BIT = %d\n",
222098944Sobrien                      TARGET_BFD_VMA_BIT);
222198944Sobrien#endif
222298944Sobrien#ifdef TARGET_BYTE_ORDER
222398944Sobrien  fprintf_unfiltered (file,
222498944Sobrien                      "gdbarch_dump: TARGET_BYTE_ORDER # %s\n",
222598944Sobrien                      XSTRING (TARGET_BYTE_ORDER));
222698944Sobrien  fprintf_unfiltered (file,
222798944Sobrien                      "gdbarch_dump: TARGET_BYTE_ORDER = %ld\n",
222898944Sobrien                      (long) TARGET_BYTE_ORDER);
222998944Sobrien#endif
223098944Sobrien#ifdef TARGET_CHAR_SIGNED
223198944Sobrien  fprintf_unfiltered (file,
223298944Sobrien                      "gdbarch_dump: TARGET_CHAR_SIGNED # %s\n",
223398944Sobrien                      XSTRING (TARGET_CHAR_SIGNED));
223498944Sobrien  fprintf_unfiltered (file,
223598944Sobrien                      "gdbarch_dump: TARGET_CHAR_SIGNED = %d\n",
223698944Sobrien                      TARGET_CHAR_SIGNED);
223798944Sobrien#endif
223898944Sobrien#ifdef TARGET_DOUBLE_BIT
223998944Sobrien  fprintf_unfiltered (file,
224098944Sobrien                      "gdbarch_dump: TARGET_DOUBLE_BIT # %s\n",
224198944Sobrien                      XSTRING (TARGET_DOUBLE_BIT));
224298944Sobrien  fprintf_unfiltered (file,
224398944Sobrien                      "gdbarch_dump: TARGET_DOUBLE_BIT = %d\n",
224498944Sobrien                      TARGET_DOUBLE_BIT);
224598944Sobrien#endif
224698944Sobrien#ifdef TARGET_DOUBLE_FORMAT
224798944Sobrien  fprintf_unfiltered (file,
224898944Sobrien                      "gdbarch_dump: TARGET_DOUBLE_FORMAT # %s\n",
224998944Sobrien                      XSTRING (TARGET_DOUBLE_FORMAT));
225098944Sobrien  fprintf_unfiltered (file,
2251130803Smarcel                      "gdbarch_dump: TARGET_DOUBLE_FORMAT = %s\n",
2252130803Smarcel                      (TARGET_DOUBLE_FORMAT)->name);
225398944Sobrien#endif
225498944Sobrien#ifdef TARGET_FLOAT_BIT
225598944Sobrien  fprintf_unfiltered (file,
225698944Sobrien                      "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
225798944Sobrien                      XSTRING (TARGET_FLOAT_BIT));
225898944Sobrien  fprintf_unfiltered (file,
225998944Sobrien                      "gdbarch_dump: TARGET_FLOAT_BIT = %d\n",
226098944Sobrien                      TARGET_FLOAT_BIT);
226198944Sobrien#endif
226298944Sobrien#ifdef TARGET_FLOAT_FORMAT
226398944Sobrien  fprintf_unfiltered (file,
226498944Sobrien                      "gdbarch_dump: TARGET_FLOAT_FORMAT # %s\n",
226598944Sobrien                      XSTRING (TARGET_FLOAT_FORMAT));
226698944Sobrien  fprintf_unfiltered (file,
2267130803Smarcel                      "gdbarch_dump: TARGET_FLOAT_FORMAT = %s\n",
2268130803Smarcel                      (TARGET_FLOAT_FORMAT)->name);
226998944Sobrien#endif
227098944Sobrien#ifdef TARGET_INT_BIT
227198944Sobrien  fprintf_unfiltered (file,
227298944Sobrien                      "gdbarch_dump: TARGET_INT_BIT # %s\n",
227398944Sobrien                      XSTRING (TARGET_INT_BIT));
227498944Sobrien  fprintf_unfiltered (file,
227598944Sobrien                      "gdbarch_dump: TARGET_INT_BIT = %d\n",
227698944Sobrien                      TARGET_INT_BIT);
227798944Sobrien#endif
227898944Sobrien#ifdef TARGET_LONG_BIT
227998944Sobrien  fprintf_unfiltered (file,
228098944Sobrien                      "gdbarch_dump: TARGET_LONG_BIT # %s\n",
228198944Sobrien                      XSTRING (TARGET_LONG_BIT));
228298944Sobrien  fprintf_unfiltered (file,
228398944Sobrien                      "gdbarch_dump: TARGET_LONG_BIT = %d\n",
228498944Sobrien                      TARGET_LONG_BIT);
228598944Sobrien#endif
228698944Sobrien#ifdef TARGET_LONG_DOUBLE_BIT
228798944Sobrien  fprintf_unfiltered (file,
228898944Sobrien                      "gdbarch_dump: TARGET_LONG_DOUBLE_BIT # %s\n",
228998944Sobrien                      XSTRING (TARGET_LONG_DOUBLE_BIT));
229098944Sobrien  fprintf_unfiltered (file,
229198944Sobrien                      "gdbarch_dump: TARGET_LONG_DOUBLE_BIT = %d\n",
229298944Sobrien                      TARGET_LONG_DOUBLE_BIT);
229398944Sobrien#endif
229498944Sobrien#ifdef TARGET_LONG_DOUBLE_FORMAT
229598944Sobrien  fprintf_unfiltered (file,
229698944Sobrien                      "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # %s\n",
229798944Sobrien                      XSTRING (TARGET_LONG_DOUBLE_FORMAT));
229898944Sobrien  fprintf_unfiltered (file,
2299130803Smarcel                      "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT = %s\n",
2300130803Smarcel                      (TARGET_LONG_DOUBLE_FORMAT)->name);
230198944Sobrien#endif
230298944Sobrien#ifdef TARGET_LONG_LONG_BIT
230398944Sobrien  fprintf_unfiltered (file,
230498944Sobrien                      "gdbarch_dump: TARGET_LONG_LONG_BIT # %s\n",
230598944Sobrien                      XSTRING (TARGET_LONG_LONG_BIT));
230698944Sobrien  fprintf_unfiltered (file,
230798944Sobrien                      "gdbarch_dump: TARGET_LONG_LONG_BIT = %d\n",
230898944Sobrien                      TARGET_LONG_LONG_BIT);
230998944Sobrien#endif
2310130803Smarcel#ifdef TARGET_OSABI
2311130803Smarcel  fprintf_unfiltered (file,
2312130803Smarcel                      "gdbarch_dump: TARGET_OSABI # %s\n",
2313130803Smarcel                      XSTRING (TARGET_OSABI));
2314130803Smarcel  fprintf_unfiltered (file,
2315130803Smarcel                      "gdbarch_dump: TARGET_OSABI = %ld\n",
2316130803Smarcel                      (long) TARGET_OSABI);
2317130803Smarcel#endif
231898944Sobrien#ifdef TARGET_PRINT_INSN
231998944Sobrien  fprintf_unfiltered (file,
232098944Sobrien                      "gdbarch_dump: %s # %s\n",
232198944Sobrien                      "TARGET_PRINT_INSN(vma, info)",
232298944Sobrien                      XSTRING (TARGET_PRINT_INSN (vma, info)));
2323130803Smarcel  fprintf_unfiltered (file,
2324130803Smarcel                      "gdbarch_dump: TARGET_PRINT_INSN = <0x%08lx>\n",
2325130803Smarcel                      (long) current_gdbarch->print_insn
2326130803Smarcel                      /*TARGET_PRINT_INSN ()*/);
232798944Sobrien#endif
232898944Sobrien#ifdef TARGET_PTR_BIT
232998944Sobrien  fprintf_unfiltered (file,
233098944Sobrien                      "gdbarch_dump: TARGET_PTR_BIT # %s\n",
233198944Sobrien                      XSTRING (TARGET_PTR_BIT));
233298944Sobrien  fprintf_unfiltered (file,
233398944Sobrien                      "gdbarch_dump: TARGET_PTR_BIT = %d\n",
233498944Sobrien                      TARGET_PTR_BIT);
233598944Sobrien#endif
2336130803Smarcel#ifdef TARGET_READ_PC_P
233798944Sobrien  fprintf_unfiltered (file,
233898944Sobrien                      "gdbarch_dump: %s # %s\n",
2339130803Smarcel                      "TARGET_READ_PC_P()",
2340130803Smarcel                      XSTRING (TARGET_READ_PC_P ()));
2341130803Smarcel  fprintf_unfiltered (file,
2342130803Smarcel                      "gdbarch_dump: TARGET_READ_PC_P() = %d\n",
2343130803Smarcel                      TARGET_READ_PC_P ());
234498944Sobrien#endif
234598944Sobrien#ifdef TARGET_READ_PC
234698944Sobrien  fprintf_unfiltered (file,
234798944Sobrien                      "gdbarch_dump: %s # %s\n",
234898944Sobrien                      "TARGET_READ_PC(ptid)",
234998944Sobrien                      XSTRING (TARGET_READ_PC (ptid)));
2350130803Smarcel  fprintf_unfiltered (file,
2351130803Smarcel                      "gdbarch_dump: TARGET_READ_PC = <0x%08lx>\n",
2352130803Smarcel                      (long) current_gdbarch->read_pc
2353130803Smarcel                      /*TARGET_READ_PC ()*/);
235498944Sobrien#endif
2355130803Smarcel#ifdef TARGET_READ_SP_P
2356130803Smarcel  fprintf_unfiltered (file,
2357130803Smarcel                      "gdbarch_dump: %s # %s\n",
2358130803Smarcel                      "TARGET_READ_SP_P()",
2359130803Smarcel                      XSTRING (TARGET_READ_SP_P ()));
2360130803Smarcel  fprintf_unfiltered (file,
2361130803Smarcel                      "gdbarch_dump: TARGET_READ_SP_P() = %d\n",
2362130803Smarcel                      TARGET_READ_SP_P ());
2363130803Smarcel#endif
236498944Sobrien#ifdef TARGET_READ_SP
236598944Sobrien  fprintf_unfiltered (file,
236698944Sobrien                      "gdbarch_dump: %s # %s\n",
236798944Sobrien                      "TARGET_READ_SP()",
236898944Sobrien                      XSTRING (TARGET_READ_SP ()));
2369130803Smarcel  fprintf_unfiltered (file,
2370130803Smarcel                      "gdbarch_dump: TARGET_READ_SP = <0x%08lx>\n",
2371130803Smarcel                      (long) current_gdbarch->read_sp
2372130803Smarcel                      /*TARGET_READ_SP ()*/);
237398944Sobrien#endif
237498944Sobrien#ifdef TARGET_SHORT_BIT
237598944Sobrien  fprintf_unfiltered (file,
237698944Sobrien                      "gdbarch_dump: TARGET_SHORT_BIT # %s\n",
237798944Sobrien                      XSTRING (TARGET_SHORT_BIT));
237898944Sobrien  fprintf_unfiltered (file,
237998944Sobrien                      "gdbarch_dump: TARGET_SHORT_BIT = %d\n",
238098944Sobrien                      TARGET_SHORT_BIT);
238198944Sobrien#endif
238298944Sobrien#ifdef TARGET_VIRTUAL_FRAME_POINTER
238398944Sobrien  fprintf_unfiltered (file,
238498944Sobrien                      "gdbarch_dump: %s # %s\n",
238598944Sobrien                      "TARGET_VIRTUAL_FRAME_POINTER(pc, frame_regnum, frame_offset)",
238698944Sobrien                      XSTRING (TARGET_VIRTUAL_FRAME_POINTER (pc, frame_regnum, frame_offset)));
238798944Sobrien  fprintf_unfiltered (file,
2388130803Smarcel                      "gdbarch_dump: TARGET_VIRTUAL_FRAME_POINTER = <0x%08lx>\n",
2389130803Smarcel                      (long) current_gdbarch->virtual_frame_pointer
2390130803Smarcel                      /*TARGET_VIRTUAL_FRAME_POINTER ()*/);
239198944Sobrien#endif
239298944Sobrien#ifdef TARGET_WRITE_PC
239398944Sobrien  fprintf_unfiltered (file,
239498944Sobrien                      "gdbarch_dump: %s # %s\n",
239598944Sobrien                      "TARGET_WRITE_PC(val, ptid)",
239698944Sobrien                      XSTRING (TARGET_WRITE_PC (val, ptid)));
239798944Sobrien  fprintf_unfiltered (file,
2398130803Smarcel                      "gdbarch_dump: TARGET_WRITE_PC = <0x%08lx>\n",
2399130803Smarcel                      (long) current_gdbarch->write_pc
2400130803Smarcel                      /*TARGET_WRITE_PC ()*/);
240198944Sobrien#endif
240298944Sobrien  fprintf_unfiltered (file,
2403130803Smarcel                      "gdbarch_dump: gdbarch_unwind_dummy_id_p() = %d\n",
2404130803Smarcel                      gdbarch_unwind_dummy_id_p (current_gdbarch));
240598944Sobrien  fprintf_unfiltered (file,
2406130803Smarcel                      "gdbarch_dump: unwind_dummy_id = 0x%08lx\n",
2407130803Smarcel                      (long) current_gdbarch->unwind_dummy_id);
2408130803Smarcel  fprintf_unfiltered (file,
2409130803Smarcel                      "gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
2410130803Smarcel                      gdbarch_unwind_pc_p (current_gdbarch));
2411130803Smarcel  fprintf_unfiltered (file,
2412130803Smarcel                      "gdbarch_dump: unwind_pc = 0x%08lx\n",
2413130803Smarcel                      (long) current_gdbarch->unwind_pc);
2414130803Smarcel  fprintf_unfiltered (file,
2415130803Smarcel                      "gdbarch_dump: gdbarch_unwind_sp_p() = %d\n",
2416130803Smarcel                      gdbarch_unwind_sp_p (current_gdbarch));
2417130803Smarcel  fprintf_unfiltered (file,
2418130803Smarcel                      "gdbarch_dump: unwind_sp = 0x%08lx\n",
2419130803Smarcel                      (long) current_gdbarch->unwind_sp);
242098944Sobrien#ifdef USE_STRUCT_CONVENTION
242198944Sobrien  fprintf_unfiltered (file,
242298944Sobrien                      "gdbarch_dump: %s # %s\n",
242398944Sobrien                      "USE_STRUCT_CONVENTION(gcc_p, value_type)",
242498944Sobrien                      XSTRING (USE_STRUCT_CONVENTION (gcc_p, value_type)));
2425130803Smarcel  fprintf_unfiltered (file,
2426130803Smarcel                      "gdbarch_dump: USE_STRUCT_CONVENTION = <0x%08lx>\n",
2427130803Smarcel                      (long) current_gdbarch->use_struct_convention
2428130803Smarcel                      /*USE_STRUCT_CONVENTION ()*/);
242998944Sobrien#endif
2430130803Smarcel#ifdef VALUE_TO_REGISTER
2431130803Smarcel  fprintf_unfiltered (file,
2432130803Smarcel                      "gdbarch_dump: %s # %s\n",
2433130803Smarcel                      "VALUE_TO_REGISTER(frame, regnum, type, buf)",
2434130803Smarcel                      XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf)));
2435130803Smarcel  fprintf_unfiltered (file,
2436130803Smarcel                      "gdbarch_dump: VALUE_TO_REGISTER = <0x%08lx>\n",
2437130803Smarcel                      (long) current_gdbarch->value_to_register
2438130803Smarcel                      /*VALUE_TO_REGISTER ()*/);
2439130803Smarcel#endif
244098944Sobrien  if (current_gdbarch->dump_tdep != NULL)
244198944Sobrien    current_gdbarch->dump_tdep (current_gdbarch, file);
244298944Sobrien}
244346283Sdfr
244498944Sobrienstruct gdbarch_tdep *
244598944Sobriengdbarch_tdep (struct gdbarch *gdbarch)
244698944Sobrien{
244798944Sobrien  if (gdbarch_debug >= 2)
244898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_tdep called\n");
244998944Sobrien  return gdbarch->tdep;
245098944Sobrien}
245146283Sdfr
245298944Sobrien
245398944Sobrienconst struct bfd_arch_info *
245498944Sobriengdbarch_bfd_arch_info (struct gdbarch *gdbarch)
245546283Sdfr{
2456130803Smarcel  gdb_assert (gdbarch != NULL);
245798944Sobrien  if (gdbarch_debug >= 2)
245898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_arch_info called\n");
245998944Sobrien  return gdbarch->bfd_arch_info;
246046283Sdfr}
246146283Sdfr
246298944Sobrienint
246398944Sobriengdbarch_byte_order (struct gdbarch *gdbarch)
246446283Sdfr{
2465130803Smarcel  gdb_assert (gdbarch != NULL);
246698944Sobrien  if (gdbarch_debug >= 2)
246798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_byte_order called\n");
246898944Sobrien  return gdbarch->byte_order;
246946283Sdfr}
247046283Sdfr
2471130803Smarcelenum gdb_osabi
2472130803Smarcelgdbarch_osabi (struct gdbarch *gdbarch)
2473130803Smarcel{
2474130803Smarcel  gdb_assert (gdbarch != NULL);
2475130803Smarcel  if (gdbarch_debug >= 2)
2476130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_osabi called\n");
2477130803Smarcel  return gdbarch->osabi;
2478130803Smarcel}
2479130803Smarcel
248098944Sobrienint
248198944Sobriengdbarch_short_bit (struct gdbarch *gdbarch)
248246283Sdfr{
2483130803Smarcel  gdb_assert (gdbarch != NULL);
248498944Sobrien  /* Skip verify of short_bit, invalid_p == 0 */
248598944Sobrien  if (gdbarch_debug >= 2)
248698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_short_bit called\n");
248798944Sobrien  return gdbarch->short_bit;
248846283Sdfr}
248946283Sdfr
249098944Sobrienvoid
249198944Sobrienset_gdbarch_short_bit (struct gdbarch *gdbarch,
249298944Sobrien                       int short_bit)
249398944Sobrien{
249498944Sobrien  gdbarch->short_bit = short_bit;
249598944Sobrien}
249698944Sobrien
249798944Sobrienint
249898944Sobriengdbarch_int_bit (struct gdbarch *gdbarch)
249998944Sobrien{
2500130803Smarcel  gdb_assert (gdbarch != NULL);
250198944Sobrien  /* Skip verify of int_bit, invalid_p == 0 */
250298944Sobrien  if (gdbarch_debug >= 2)
250398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_int_bit called\n");
250498944Sobrien  return gdbarch->int_bit;
250598944Sobrien}
250698944Sobrien
250798944Sobrienvoid
250898944Sobrienset_gdbarch_int_bit (struct gdbarch *gdbarch,
250998944Sobrien                     int int_bit)
251098944Sobrien{
251198944Sobrien  gdbarch->int_bit = int_bit;
251298944Sobrien}
251398944Sobrien
251498944Sobrienint
251598944Sobriengdbarch_long_bit (struct gdbarch *gdbarch)
251698944Sobrien{
2517130803Smarcel  gdb_assert (gdbarch != NULL);
251898944Sobrien  /* Skip verify of long_bit, invalid_p == 0 */
251998944Sobrien  if (gdbarch_debug >= 2)
252098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_bit called\n");
252198944Sobrien  return gdbarch->long_bit;
252298944Sobrien}
252398944Sobrien
252498944Sobrienvoid
252598944Sobrienset_gdbarch_long_bit (struct gdbarch *gdbarch,
252698944Sobrien                      int long_bit)
252798944Sobrien{
252898944Sobrien  gdbarch->long_bit = long_bit;
252998944Sobrien}
253098944Sobrien
253198944Sobrienint
253298944Sobriengdbarch_long_long_bit (struct gdbarch *gdbarch)
253398944Sobrien{
2534130803Smarcel  gdb_assert (gdbarch != NULL);
253598944Sobrien  /* Skip verify of long_long_bit, invalid_p == 0 */
253698944Sobrien  if (gdbarch_debug >= 2)
253798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_long_bit called\n");
253898944Sobrien  return gdbarch->long_long_bit;
253998944Sobrien}
254098944Sobrien
254198944Sobrienvoid
254298944Sobrienset_gdbarch_long_long_bit (struct gdbarch *gdbarch,
254398944Sobrien                           int long_long_bit)
254498944Sobrien{
254598944Sobrien  gdbarch->long_long_bit = long_long_bit;
254698944Sobrien}
254798944Sobrien
254898944Sobrienint
254998944Sobriengdbarch_float_bit (struct gdbarch *gdbarch)
255098944Sobrien{
2551130803Smarcel  gdb_assert (gdbarch != NULL);
255298944Sobrien  /* Skip verify of float_bit, invalid_p == 0 */
255398944Sobrien  if (gdbarch_debug >= 2)
255498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_float_bit called\n");
255598944Sobrien  return gdbarch->float_bit;
255698944Sobrien}
255798944Sobrien
255898944Sobrienvoid
255998944Sobrienset_gdbarch_float_bit (struct gdbarch *gdbarch,
256098944Sobrien                       int float_bit)
256198944Sobrien{
256298944Sobrien  gdbarch->float_bit = float_bit;
256398944Sobrien}
256498944Sobrien
256598944Sobrienint
256698944Sobriengdbarch_double_bit (struct gdbarch *gdbarch)
256798944Sobrien{
2568130803Smarcel  gdb_assert (gdbarch != NULL);
256998944Sobrien  /* Skip verify of double_bit, invalid_p == 0 */
257098944Sobrien  if (gdbarch_debug >= 2)
257198944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_double_bit called\n");
257298944Sobrien  return gdbarch->double_bit;
257398944Sobrien}
257498944Sobrien
257598944Sobrienvoid
257698944Sobrienset_gdbarch_double_bit (struct gdbarch *gdbarch,
257798944Sobrien                        int double_bit)
257898944Sobrien{
257998944Sobrien  gdbarch->double_bit = double_bit;
258098944Sobrien}
258198944Sobrien
258298944Sobrienint
258398944Sobriengdbarch_long_double_bit (struct gdbarch *gdbarch)
258498944Sobrien{
2585130803Smarcel  gdb_assert (gdbarch != NULL);
258698944Sobrien  /* Skip verify of long_double_bit, invalid_p == 0 */
258798944Sobrien  if (gdbarch_debug >= 2)
258898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_bit called\n");
258998944Sobrien  return gdbarch->long_double_bit;
259098944Sobrien}
259198944Sobrien
259298944Sobrienvoid
259398944Sobrienset_gdbarch_long_double_bit (struct gdbarch *gdbarch,
259498944Sobrien                             int long_double_bit)
259598944Sobrien{
259698944Sobrien  gdbarch->long_double_bit = long_double_bit;
259798944Sobrien}
259898944Sobrien
259998944Sobrienint
260098944Sobriengdbarch_ptr_bit (struct gdbarch *gdbarch)
260198944Sobrien{
2602130803Smarcel  gdb_assert (gdbarch != NULL);
260398944Sobrien  /* Skip verify of ptr_bit, invalid_p == 0 */
260498944Sobrien  if (gdbarch_debug >= 2)
260598944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_ptr_bit called\n");
260698944Sobrien  return gdbarch->ptr_bit;
260798944Sobrien}
260898944Sobrien
260998944Sobrienvoid
261098944Sobrienset_gdbarch_ptr_bit (struct gdbarch *gdbarch,
261198944Sobrien                     int ptr_bit)
261298944Sobrien{
261398944Sobrien  gdbarch->ptr_bit = ptr_bit;
261498944Sobrien}
261598944Sobrien
261698944Sobrienint
261798944Sobriengdbarch_addr_bit (struct gdbarch *gdbarch)
261898944Sobrien{
2619130803Smarcel  gdb_assert (gdbarch != NULL);
2620130803Smarcel  /* Check variable changed from pre-default.  */
2621130803Smarcel  gdb_assert (gdbarch->addr_bit != 0);
262298944Sobrien  if (gdbarch_debug >= 2)
262398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bit called\n");
262498944Sobrien  return gdbarch->addr_bit;
262598944Sobrien}
262698944Sobrien
262798944Sobrienvoid
262898944Sobrienset_gdbarch_addr_bit (struct gdbarch *gdbarch,
262998944Sobrien                      int addr_bit)
263098944Sobrien{
263198944Sobrien  gdbarch->addr_bit = addr_bit;
263298944Sobrien}
263398944Sobrien
263498944Sobrienint
263598944Sobriengdbarch_bfd_vma_bit (struct gdbarch *gdbarch)
263698944Sobrien{
2637130803Smarcel  gdb_assert (gdbarch != NULL);
263898944Sobrien  /* Skip verify of bfd_vma_bit, invalid_p == 0 */
263998944Sobrien  if (gdbarch_debug >= 2)
264098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_vma_bit called\n");
264198944Sobrien  return gdbarch->bfd_vma_bit;
264298944Sobrien}
264398944Sobrien
264498944Sobrienvoid
264598944Sobrienset_gdbarch_bfd_vma_bit (struct gdbarch *gdbarch,
264698944Sobrien                         int bfd_vma_bit)
264798944Sobrien{
264898944Sobrien  gdbarch->bfd_vma_bit = bfd_vma_bit;
264998944Sobrien}
265098944Sobrien
265198944Sobrienint
265298944Sobriengdbarch_char_signed (struct gdbarch *gdbarch)
265398944Sobrien{
2654130803Smarcel  gdb_assert (gdbarch != NULL);
2655130803Smarcel  /* Check variable changed from pre-default.  */
2656130803Smarcel  gdb_assert (gdbarch->char_signed != -1);
265798944Sobrien  if (gdbarch_debug >= 2)
265898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_char_signed called\n");
265998944Sobrien  return gdbarch->char_signed;
266098944Sobrien}
266198944Sobrien
266298944Sobrienvoid
266398944Sobrienset_gdbarch_char_signed (struct gdbarch *gdbarch,
266498944Sobrien                         int char_signed)
266598944Sobrien{
266698944Sobrien  gdbarch->char_signed = char_signed;
266798944Sobrien}
266898944Sobrien
2669130803Smarcelint
2670130803Smarcelgdbarch_read_pc_p (struct gdbarch *gdbarch)
2671130803Smarcel{
2672130803Smarcel  gdb_assert (gdbarch != NULL);
2673130803Smarcel  return gdbarch->read_pc != NULL;
2674130803Smarcel}
2675130803Smarcel
267698944SobrienCORE_ADDR
267798944Sobriengdbarch_read_pc (struct gdbarch *gdbarch, ptid_t ptid)
267898944Sobrien{
2679130803Smarcel  gdb_assert (gdbarch != NULL);
2680130803Smarcel  gdb_assert (gdbarch->read_pc != NULL);
268198944Sobrien  if (gdbarch_debug >= 2)
268298944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_read_pc called\n");
268398944Sobrien  return gdbarch->read_pc (ptid);
268498944Sobrien}
268598944Sobrien
268698944Sobrienvoid
268798944Sobrienset_gdbarch_read_pc (struct gdbarch *gdbarch,
268898944Sobrien                     gdbarch_read_pc_ftype read_pc)
268998944Sobrien{
269098944Sobrien  gdbarch->read_pc = read_pc;
269198944Sobrien}
269298944Sobrien
269398944Sobrienvoid
269498944Sobriengdbarch_write_pc (struct gdbarch *gdbarch, CORE_ADDR val, ptid_t ptid)
269598944Sobrien{
2696130803Smarcel  gdb_assert (gdbarch != NULL);
2697130803Smarcel  gdb_assert (gdbarch->write_pc != NULL);
269898944Sobrien  if (gdbarch_debug >= 2)
269998944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_write_pc called\n");
270098944Sobrien  gdbarch->write_pc (val, ptid);
270198944Sobrien}
270298944Sobrien
270398944Sobrienvoid
270498944Sobrienset_gdbarch_write_pc (struct gdbarch *gdbarch,
270598944Sobrien                      gdbarch_write_pc_ftype write_pc)
270698944Sobrien{
270798944Sobrien  gdbarch->write_pc = write_pc;
270898944Sobrien}
270998944Sobrien
2710130803Smarcelint
2711130803Smarcelgdbarch_read_sp_p (struct gdbarch *gdbarch)
271298944Sobrien{
2713130803Smarcel  gdb_assert (gdbarch != NULL);
2714130803Smarcel  return gdbarch->read_sp != NULL;
271598944Sobrien}
271698944Sobrien
271798944SobrienCORE_ADDR
271898944Sobriengdbarch_read_sp (struct gdbarch *gdbarch)
271998944Sobrien{
2720130803Smarcel  gdb_assert (gdbarch != NULL);
2721130803Smarcel  gdb_assert (gdbarch->read_sp != NULL);
272298944Sobrien  if (gdbarch_debug >= 2)
272398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_read_sp called\n");
272498944Sobrien  return gdbarch->read_sp ();
272598944Sobrien}
272698944Sobrien
272798944Sobrienvoid
272898944Sobrienset_gdbarch_read_sp (struct gdbarch *gdbarch,
272998944Sobrien                     gdbarch_read_sp_ftype read_sp)
273098944Sobrien{
273198944Sobrien  gdbarch->read_sp = read_sp;
273298944Sobrien}
273398944Sobrien
273498944Sobrienvoid
273598944Sobriengdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset)
273698944Sobrien{
2737130803Smarcel  gdb_assert (gdbarch != NULL);
2738130803Smarcel  gdb_assert (gdbarch->virtual_frame_pointer != NULL);
273998944Sobrien  if (gdbarch_debug >= 2)
274098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n");
274198944Sobrien  gdbarch->virtual_frame_pointer (pc, frame_regnum, frame_offset);
274298944Sobrien}
274398944Sobrien
274498944Sobrienvoid
274598944Sobrienset_gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch,
274698944Sobrien                                   gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer)
274798944Sobrien{
274898944Sobrien  gdbarch->virtual_frame_pointer = virtual_frame_pointer;
274998944Sobrien}
275098944Sobrien
275198944Sobrienint
2752130803Smarcelgdbarch_pseudo_register_read_p (struct gdbarch *gdbarch)
275398944Sobrien{
2754130803Smarcel  gdb_assert (gdbarch != NULL);
2755130803Smarcel  return gdbarch->pseudo_register_read != NULL;
275698944Sobrien}
275798944Sobrien
275898944Sobrienvoid
2759130803Smarcelgdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf)
276098944Sobrien{
2761130803Smarcel  gdb_assert (gdbarch != NULL);
2762130803Smarcel  gdb_assert (gdbarch->pseudo_register_read != NULL);
276398944Sobrien  if (gdbarch_debug >= 2)
2764130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_read called\n");
2765130803Smarcel  gdbarch->pseudo_register_read (gdbarch, regcache, cookednum, buf);
276698944Sobrien}
276798944Sobrien
276898944Sobrienvoid
2769130803Smarcelset_gdbarch_pseudo_register_read (struct gdbarch *gdbarch,
2770130803Smarcel                                  gdbarch_pseudo_register_read_ftype pseudo_register_read)
277198944Sobrien{
2772130803Smarcel  gdbarch->pseudo_register_read = pseudo_register_read;
277398944Sobrien}
277498944Sobrien
277598944Sobrienint
2776130803Smarcelgdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
277798944Sobrien{
2778130803Smarcel  gdb_assert (gdbarch != NULL);
2779130803Smarcel  return gdbarch->pseudo_register_write != NULL;
278098944Sobrien}
278198944Sobrien
278298944Sobrienvoid
2783130803Smarcelgdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf)
278498944Sobrien{
2785130803Smarcel  gdb_assert (gdbarch != NULL);
2786130803Smarcel  gdb_assert (gdbarch->pseudo_register_write != NULL);
278798944Sobrien  if (gdbarch_debug >= 2)
2788130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_pseudo_register_write called\n");
2789130803Smarcel  gdbarch->pseudo_register_write (gdbarch, regcache, cookednum, buf);
279098944Sobrien}
279198944Sobrien
279298944Sobrienvoid
2793130803Smarcelset_gdbarch_pseudo_register_write (struct gdbarch *gdbarch,
2794130803Smarcel                                   gdbarch_pseudo_register_write_ftype pseudo_register_write)
279598944Sobrien{
2796130803Smarcel  gdbarch->pseudo_register_write = pseudo_register_write;
279798944Sobrien}
279898944Sobrien
279998944Sobrienint
280098944Sobriengdbarch_num_regs (struct gdbarch *gdbarch)
280198944Sobrien{
2802130803Smarcel  gdb_assert (gdbarch != NULL);
2803130803Smarcel  /* Check variable changed from pre-default.  */
2804130803Smarcel  gdb_assert (gdbarch->num_regs != -1);
280598944Sobrien  if (gdbarch_debug >= 2)
280698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_num_regs called\n");
280798944Sobrien  return gdbarch->num_regs;
280898944Sobrien}
280998944Sobrien
281098944Sobrienvoid
281198944Sobrienset_gdbarch_num_regs (struct gdbarch *gdbarch,
281298944Sobrien                      int num_regs)
281398944Sobrien{
281498944Sobrien  gdbarch->num_regs = num_regs;
281598944Sobrien}
281698944Sobrien
281798944Sobrienint
281898944Sobriengdbarch_num_pseudo_regs (struct gdbarch *gdbarch)
281998944Sobrien{
2820130803Smarcel  gdb_assert (gdbarch != NULL);
282198944Sobrien  /* Skip verify of num_pseudo_regs, invalid_p == 0 */
282298944Sobrien  if (gdbarch_debug >= 2)
282398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_num_pseudo_regs called\n");
282498944Sobrien  return gdbarch->num_pseudo_regs;
282598944Sobrien}
282698944Sobrien
282798944Sobrienvoid
282898944Sobrienset_gdbarch_num_pseudo_regs (struct gdbarch *gdbarch,
282998944Sobrien                             int num_pseudo_regs)
283098944Sobrien{
283198944Sobrien  gdbarch->num_pseudo_regs = num_pseudo_regs;
283298944Sobrien}
283398944Sobrien
283498944Sobrienint
283598944Sobriengdbarch_sp_regnum (struct gdbarch *gdbarch)
283698944Sobrien{
2837130803Smarcel  gdb_assert (gdbarch != NULL);
2838130803Smarcel  /* Skip verify of sp_regnum, invalid_p == 0 */
283998944Sobrien  if (gdbarch_debug >= 2)
284098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_sp_regnum called\n");
284198944Sobrien  return gdbarch->sp_regnum;
284298944Sobrien}
284398944Sobrien
284498944Sobrienvoid
284598944Sobrienset_gdbarch_sp_regnum (struct gdbarch *gdbarch,
284698944Sobrien                       int sp_regnum)
284798944Sobrien{
284898944Sobrien  gdbarch->sp_regnum = sp_regnum;
284998944Sobrien}
285098944Sobrien
285198944Sobrienint
2852130803Smarcelgdbarch_pc_regnum (struct gdbarch *gdbarch)
285398944Sobrien{
2854130803Smarcel  gdb_assert (gdbarch != NULL);
2855130803Smarcel  /* Skip verify of pc_regnum, invalid_p == 0 */
285698944Sobrien  if (gdbarch_debug >= 2)
2857130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_regnum called\n");
2858130803Smarcel  return gdbarch->pc_regnum;
285998944Sobrien}
286098944Sobrien
286198944Sobrienvoid
2862130803Smarcelset_gdbarch_pc_regnum (struct gdbarch *gdbarch,
2863130803Smarcel                       int pc_regnum)
286498944Sobrien{
2865130803Smarcel  gdbarch->pc_regnum = pc_regnum;
286698944Sobrien}
286798944Sobrien
286898944Sobrienint
2869130803Smarcelgdbarch_ps_regnum (struct gdbarch *gdbarch)
287098944Sobrien{
2871130803Smarcel  gdb_assert (gdbarch != NULL);
2872130803Smarcel  /* Skip verify of ps_regnum, invalid_p == 0 */
287398944Sobrien  if (gdbarch_debug >= 2)
2874130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_ps_regnum called\n");
2875130803Smarcel  return gdbarch->ps_regnum;
287698944Sobrien}
287798944Sobrien
287898944Sobrienvoid
2879130803Smarcelset_gdbarch_ps_regnum (struct gdbarch *gdbarch,
2880130803Smarcel                       int ps_regnum)
288198944Sobrien{
2882130803Smarcel  gdbarch->ps_regnum = ps_regnum;
288398944Sobrien}
288498944Sobrien
288598944Sobrienint
288698944Sobriengdbarch_fp0_regnum (struct gdbarch *gdbarch)
288798944Sobrien{
2888130803Smarcel  gdb_assert (gdbarch != NULL);
288998944Sobrien  /* Skip verify of fp0_regnum, invalid_p == 0 */
289098944Sobrien  if (gdbarch_debug >= 2)
289198944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_fp0_regnum called\n");
289298944Sobrien  return gdbarch->fp0_regnum;
289398944Sobrien}
289498944Sobrien
289598944Sobrienvoid
289698944Sobrienset_gdbarch_fp0_regnum (struct gdbarch *gdbarch,
289798944Sobrien                        int fp0_regnum)
289898944Sobrien{
289998944Sobrien  gdbarch->fp0_regnum = fp0_regnum;
290098944Sobrien}
290198944Sobrien
290298944Sobrienint
290398944Sobriengdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr)
290498944Sobrien{
2905130803Smarcel  gdb_assert (gdbarch != NULL);
2906130803Smarcel  gdb_assert (gdbarch->stab_reg_to_regnum != NULL);
290798944Sobrien  if (gdbarch_debug >= 2)
290898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n");
290998944Sobrien  return gdbarch->stab_reg_to_regnum (stab_regnr);
291098944Sobrien}
291198944Sobrien
291298944Sobrienvoid
291398944Sobrienset_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch,
291498944Sobrien                                gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum)
291598944Sobrien{
291698944Sobrien  gdbarch->stab_reg_to_regnum = stab_reg_to_regnum;
291798944Sobrien}
291898944Sobrien
291998944Sobrienint
292098944Sobriengdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr)
292198944Sobrien{
2922130803Smarcel  gdb_assert (gdbarch != NULL);
2923130803Smarcel  gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL);
292498944Sobrien  if (gdbarch_debug >= 2)
292598944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n");
292698944Sobrien  return gdbarch->ecoff_reg_to_regnum (ecoff_regnr);
292798944Sobrien}
292898944Sobrien
292998944Sobrienvoid
293098944Sobrienset_gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch,
293198944Sobrien                                 gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum)
293298944Sobrien{
293398944Sobrien  gdbarch->ecoff_reg_to_regnum = ecoff_reg_to_regnum;
293498944Sobrien}
293598944Sobrien
293698944Sobrienint
293798944Sobriengdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int dwarf_regnr)
293898944Sobrien{
2939130803Smarcel  gdb_assert (gdbarch != NULL);
2940130803Smarcel  gdb_assert (gdbarch->dwarf_reg_to_regnum != NULL);
294198944Sobrien  if (gdbarch_debug >= 2)
294298944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf_reg_to_regnum called\n");
294398944Sobrien  return gdbarch->dwarf_reg_to_regnum (dwarf_regnr);
294498944Sobrien}
294598944Sobrien
294698944Sobrienvoid
294798944Sobrienset_gdbarch_dwarf_reg_to_regnum (struct gdbarch *gdbarch,
294898944Sobrien                                 gdbarch_dwarf_reg_to_regnum_ftype dwarf_reg_to_regnum)
294998944Sobrien{
295098944Sobrien  gdbarch->dwarf_reg_to_regnum = dwarf_reg_to_regnum;
295198944Sobrien}
295298944Sobrien
295398944Sobrienint
295498944Sobriengdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, int sdb_regnr)
295598944Sobrien{
2956130803Smarcel  gdb_assert (gdbarch != NULL);
2957130803Smarcel  gdb_assert (gdbarch->sdb_reg_to_regnum != NULL);
295898944Sobrien  if (gdbarch_debug >= 2)
295998944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n");
296098944Sobrien  return gdbarch->sdb_reg_to_regnum (sdb_regnr);
296198944Sobrien}
296298944Sobrien
296398944Sobrienvoid
296498944Sobrienset_gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch,
296598944Sobrien                               gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum)
296698944Sobrien{
296798944Sobrien  gdbarch->sdb_reg_to_regnum = sdb_reg_to_regnum;
296898944Sobrien}
296998944Sobrien
297098944Sobrienint
297198944Sobriengdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr)
297298944Sobrien{
2973130803Smarcel  gdb_assert (gdbarch != NULL);
2974130803Smarcel  gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL);
297598944Sobrien  if (gdbarch_debug >= 2)
297698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n");
297798944Sobrien  return gdbarch->dwarf2_reg_to_regnum (dwarf2_regnr);
297898944Sobrien}
297998944Sobrien
298098944Sobrienvoid
298198944Sobrienset_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch,
298298944Sobrien                                  gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum)
298398944Sobrien{
298498944Sobrien  gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum;
298598944Sobrien}
298698944Sobrien
2987130803Smarcelconst char *
298898944Sobriengdbarch_register_name (struct gdbarch *gdbarch, int regnr)
298998944Sobrien{
2990130803Smarcel  gdb_assert (gdbarch != NULL);
2991130803Smarcel  gdb_assert (gdbarch->register_name != NULL);
299298944Sobrien  if (gdbarch_debug >= 2)
299398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
299498944Sobrien  return gdbarch->register_name (regnr);
299598944Sobrien}
299698944Sobrien
299798944Sobrienvoid
299898944Sobrienset_gdbarch_register_name (struct gdbarch *gdbarch,
299998944Sobrien                           gdbarch_register_name_ftype register_name)
300098944Sobrien{
300198944Sobrien  gdbarch->register_name = register_name;
300298944Sobrien}
300398944Sobrien
300498944Sobrienint
3005130803Smarcelgdbarch_register_type_p (struct gdbarch *gdbarch)
300698944Sobrien{
3007130803Smarcel  gdb_assert (gdbarch != NULL);
3008130803Smarcel  return gdbarch->register_type != NULL;
3009130803Smarcel}
3010130803Smarcel
3011130803Smarcelstruct type *
3012130803Smarcelgdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
3013130803Smarcel{
3014130803Smarcel  gdb_assert (gdbarch != NULL);
3015130803Smarcel  gdb_assert (gdbarch->register_type != NULL);
301698944Sobrien  if (gdbarch_debug >= 2)
3017130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n");
3018130803Smarcel  return gdbarch->register_type (gdbarch, reg_nr);
301998944Sobrien}
302098944Sobrien
302198944Sobrienvoid
3022130803Smarcelset_gdbarch_register_type (struct gdbarch *gdbarch,
3023130803Smarcel                           gdbarch_register_type_ftype register_type)
302498944Sobrien{
3025130803Smarcel  gdbarch->register_type = register_type;
302698944Sobrien}
302798944Sobrien
302898944Sobrienint
3029130803Smarcelgdbarch_deprecated_register_virtual_type_p (struct gdbarch *gdbarch)
303098944Sobrien{
3031130803Smarcel  gdb_assert (gdbarch != NULL);
3032130803Smarcel  return gdbarch->deprecated_register_virtual_type != NULL;
3033130803Smarcel}
3034130803Smarcel
3035130803Smarcelstruct type *
3036130803Smarcelgdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, int reg_nr)
3037130803Smarcel{
3038130803Smarcel  gdb_assert (gdbarch != NULL);
3039130803Smarcel  gdb_assert (gdbarch->deprecated_register_virtual_type != NULL);
304098944Sobrien  if (gdbarch_debug >= 2)
3041130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_type called\n");
3042130803Smarcel  return gdbarch->deprecated_register_virtual_type (reg_nr);
304398944Sobrien}
304498944Sobrien
304598944Sobrienvoid
3046130803Smarcelset_gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch,
3047130803Smarcel                                              gdbarch_deprecated_register_virtual_type_ftype deprecated_register_virtual_type)
304898944Sobrien{
3049130803Smarcel  gdbarch->deprecated_register_virtual_type = deprecated_register_virtual_type;
305098944Sobrien}
305198944Sobrien
305298944Sobrienint
3053130803Smarcelgdbarch_deprecated_register_bytes (struct gdbarch *gdbarch)
305498944Sobrien{
3055130803Smarcel  gdb_assert (gdbarch != NULL);
305698944Sobrien  if (gdbarch_debug >= 2)
3057130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_bytes called\n");
3058130803Smarcel  return gdbarch->deprecated_register_bytes;
305998944Sobrien}
306098944Sobrien
306198944Sobrienvoid
3062130803Smarcelset_gdbarch_deprecated_register_bytes (struct gdbarch *gdbarch,
3063130803Smarcel                                       int deprecated_register_bytes)
306498944Sobrien{
3065130803Smarcel  gdbarch->deprecated_register_bytes = deprecated_register_bytes;
306698944Sobrien}
306798944Sobrien
306898944Sobrienint
3069130803Smarcelgdbarch_deprecated_register_byte_p (struct gdbarch *gdbarch)
307098944Sobrien{
3071130803Smarcel  gdb_assert (gdbarch != NULL);
3072130803Smarcel  return gdbarch->deprecated_register_byte != generic_register_byte;
3073130803Smarcel}
3074130803Smarcel
3075130803Smarcelint
3076130803Smarcelgdbarch_deprecated_register_byte (struct gdbarch *gdbarch, int reg_nr)
3077130803Smarcel{
3078130803Smarcel  gdb_assert (gdbarch != NULL);
3079130803Smarcel  gdb_assert (gdbarch->deprecated_register_byte != NULL);
3080130803Smarcel  /* Do not check predicate: gdbarch->deprecated_register_byte != generic_register_byte, allow call.  */
308198944Sobrien  if (gdbarch_debug >= 2)
3082130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_byte called\n");
3083130803Smarcel  return gdbarch->deprecated_register_byte (reg_nr);
308498944Sobrien}
308598944Sobrien
308698944Sobrienvoid
3087130803Smarcelset_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch,
3088130803Smarcel                                      gdbarch_deprecated_register_byte_ftype deprecated_register_byte)
308998944Sobrien{
3090130803Smarcel  gdbarch->deprecated_register_byte = deprecated_register_byte;
309198944Sobrien}
309298944Sobrien
309398944Sobrienint
3094130803Smarcelgdbarch_deprecated_register_raw_size_p (struct gdbarch *gdbarch)
309598944Sobrien{
3096130803Smarcel  gdb_assert (gdbarch != NULL);
3097130803Smarcel  return gdbarch->deprecated_register_raw_size != generic_register_size;
3098130803Smarcel}
3099130803Smarcel
3100130803Smarcelint
3101130803Smarcelgdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, int reg_nr)
3102130803Smarcel{
3103130803Smarcel  gdb_assert (gdbarch != NULL);
3104130803Smarcel  gdb_assert (gdbarch->deprecated_register_raw_size != NULL);
3105130803Smarcel  /* Do not check predicate: gdbarch->deprecated_register_raw_size != generic_register_size, allow call.  */
310698944Sobrien  if (gdbarch_debug >= 2)
3107130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_raw_size called\n");
3108130803Smarcel  return gdbarch->deprecated_register_raw_size (reg_nr);
310998944Sobrien}
311098944Sobrien
311198944Sobrienvoid
3112130803Smarcelset_gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch,
3113130803Smarcel                                          gdbarch_deprecated_register_raw_size_ftype deprecated_register_raw_size)
311498944Sobrien{
3115130803Smarcel  gdbarch->deprecated_register_raw_size = deprecated_register_raw_size;
311698944Sobrien}
311798944Sobrien
311898944Sobrienint
3119130803Smarcelgdbarch_deprecated_register_virtual_size_p (struct gdbarch *gdbarch)
312098944Sobrien{
3121130803Smarcel  gdb_assert (gdbarch != NULL);
3122130803Smarcel  return gdbarch->deprecated_register_virtual_size != generic_register_size;
3123130803Smarcel}
3124130803Smarcel
3125130803Smarcelint
3126130803Smarcelgdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, int reg_nr)
3127130803Smarcel{
3128130803Smarcel  gdb_assert (gdbarch != NULL);
3129130803Smarcel  gdb_assert (gdbarch->deprecated_register_virtual_size != NULL);
3130130803Smarcel  /* Do not check predicate: gdbarch->deprecated_register_virtual_size != generic_register_size, allow call.  */
313198944Sobrien  if (gdbarch_debug >= 2)
3132130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_size called\n");
3133130803Smarcel  return gdbarch->deprecated_register_virtual_size (reg_nr);
313498944Sobrien}
313598944Sobrien
313698944Sobrienvoid
3137130803Smarcelset_gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch,
3138130803Smarcel                                              gdbarch_deprecated_register_virtual_size_ftype deprecated_register_virtual_size)
313998944Sobrien{
3140130803Smarcel  gdbarch->deprecated_register_virtual_size = deprecated_register_virtual_size;
314198944Sobrien}
314298944Sobrien
314398944Sobrienint
3144130803Smarcelgdbarch_deprecated_max_register_raw_size_p (struct gdbarch *gdbarch)
314598944Sobrien{
3146130803Smarcel  gdb_assert (gdbarch != NULL);
3147130803Smarcel  return gdbarch->deprecated_max_register_raw_size != 0;
3148130803Smarcel}
3149130803Smarcel
3150130803Smarcelint
3151130803Smarcelgdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch)
3152130803Smarcel{
3153130803Smarcel  gdb_assert (gdbarch != NULL);
315498944Sobrien  if (gdbarch_debug >= 2)
3155130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_raw_size called\n");
3156130803Smarcel  return gdbarch->deprecated_max_register_raw_size;
315798944Sobrien}
315898944Sobrien
315998944Sobrienvoid
3160130803Smarcelset_gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarch,
3161130803Smarcel                                              int deprecated_max_register_raw_size)
316298944Sobrien{
3163130803Smarcel  gdbarch->deprecated_max_register_raw_size = deprecated_max_register_raw_size;
316498944Sobrien}
316598944Sobrien
3166130803Smarcelint
3167130803Smarcelgdbarch_deprecated_max_register_virtual_size_p (struct gdbarch *gdbarch)
316898944Sobrien{
3169130803Smarcel  gdb_assert (gdbarch != NULL);
3170130803Smarcel  return gdbarch->deprecated_max_register_virtual_size != 0;
3171130803Smarcel}
3172130803Smarcel
3173130803Smarcelint
3174130803Smarcelgdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch)
3175130803Smarcel{
3176130803Smarcel  gdb_assert (gdbarch != NULL);
317798944Sobrien  if (gdbarch_debug >= 2)
3178130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_max_register_virtual_size called\n");
3179130803Smarcel  return gdbarch->deprecated_max_register_virtual_size;
318098944Sobrien}
318198944Sobrien
318298944Sobrienvoid
3183130803Smarcelset_gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gdbarch,
3184130803Smarcel                                                  int deprecated_max_register_virtual_size)
318598944Sobrien{
3186130803Smarcel  gdbarch->deprecated_max_register_virtual_size = deprecated_max_register_virtual_size;
318798944Sobrien}
318898944Sobrien
3189130803Smarcelint
3190130803Smarcelgdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch)
319198944Sobrien{
3192130803Smarcel  gdb_assert (gdbarch != NULL);
3193130803Smarcel  return gdbarch->unwind_dummy_id != NULL;
3194130803Smarcel}
3195130803Smarcel
3196130803Smarcelstruct frame_id
3197130803Smarcelgdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info)
3198130803Smarcel{
3199130803Smarcel  gdb_assert (gdbarch != NULL);
3200130803Smarcel  gdb_assert (gdbarch->unwind_dummy_id != NULL);
320198944Sobrien  if (gdbarch_debug >= 2)
3202130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n");
3203130803Smarcel  return gdbarch->unwind_dummy_id (gdbarch, info);
320498944Sobrien}
320598944Sobrien
320698944Sobrienvoid
3207130803Smarcelset_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
3208130803Smarcel                             gdbarch_unwind_dummy_id_ftype unwind_dummy_id)
320998944Sobrien{
3210130803Smarcel  gdbarch->unwind_dummy_id = unwind_dummy_id;
321198944Sobrien}
321298944Sobrien
3213130803Smarcelint
3214130803Smarcelgdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
3215130803Smarcel{
3216130803Smarcel  gdb_assert (gdbarch != NULL);
3217130803Smarcel  return gdbarch->deprecated_save_dummy_frame_tos != NULL;
3218130803Smarcel}
3219130803Smarcel
322098944Sobrienvoid
3221130803Smarcelgdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
322298944Sobrien{
3223130803Smarcel  gdb_assert (gdbarch != NULL);
3224130803Smarcel  gdb_assert (gdbarch->deprecated_save_dummy_frame_tos != NULL);
322598944Sobrien  if (gdbarch_debug >= 2)
3226130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n");
3227130803Smarcel  gdbarch->deprecated_save_dummy_frame_tos (sp);
322898944Sobrien}
322998944Sobrien
323098944Sobrienvoid
3231130803Smarcelset_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch,
3232130803Smarcel                                             gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos)
323398944Sobrien{
3234130803Smarcel  gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos;
323598944Sobrien}
323698944Sobrien
323798944Sobrienint
3238130803Smarcelgdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
323998944Sobrien{
3240130803Smarcel  gdb_assert (gdbarch != NULL);
3241130803Smarcel  /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
324298944Sobrien  if (gdbarch_debug >= 2)
3243130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
3244130803Smarcel  return gdbarch->deprecated_fp_regnum;
324598944Sobrien}
324698944Sobrien
324798944Sobrienvoid
3248130803Smarcelset_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
3249130803Smarcel                                  int deprecated_fp_regnum)
325098944Sobrien{
3251130803Smarcel  gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
325298944Sobrien}
325398944Sobrien
325498944Sobrienint
3255130803Smarcelgdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch)
325698944Sobrien{
3257130803Smarcel  gdb_assert (gdbarch != NULL);
3258130803Smarcel  return gdbarch->deprecated_target_read_fp != NULL;
325998944Sobrien}
326098944Sobrien
3261130803SmarcelCORE_ADDR
3262130803Smarcelgdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch)
3263130803Smarcel{
3264130803Smarcel  gdb_assert (gdbarch != NULL);
3265130803Smarcel  gdb_assert (gdbarch->deprecated_target_read_fp != NULL);
3266130803Smarcel  if (gdbarch_debug >= 2)
3267130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n");
3268130803Smarcel  return gdbarch->deprecated_target_read_fp ();
3269130803Smarcel}
3270130803Smarcel
3271130803Smarcelvoid
3272130803Smarcelset_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch,
3273130803Smarcel                                       gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp)
3274130803Smarcel{
3275130803Smarcel  gdbarch->deprecated_target_read_fp = deprecated_target_read_fp;
3276130803Smarcel}
3277130803Smarcel
327898944Sobrienint
3279130803Smarcelgdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
328098944Sobrien{
3281130803Smarcel  gdb_assert (gdbarch != NULL);
3282130803Smarcel  return gdbarch->push_dummy_call != NULL;
3283130803Smarcel}
3284130803Smarcel
3285130803SmarcelCORE_ADDR
3286130803Smarcelgdbarch_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)
3287130803Smarcel{
3288130803Smarcel  gdb_assert (gdbarch != NULL);
3289130803Smarcel  gdb_assert (gdbarch->push_dummy_call != NULL);
329098944Sobrien  if (gdbarch_debug >= 2)
3291130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n");
3292130803Smarcel  return gdbarch->push_dummy_call (gdbarch, func_addr, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr);
329398944Sobrien}
329498944Sobrien
329598944Sobrienvoid
3296130803Smarcelset_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
3297130803Smarcel                             gdbarch_push_dummy_call_ftype push_dummy_call)
329898944Sobrien{
3299130803Smarcel  gdbarch->push_dummy_call = push_dummy_call;
330098944Sobrien}
330198944Sobrien
330298944Sobrienint
3303130803Smarcelgdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch)
330498944Sobrien{
3305130803Smarcel  gdb_assert (gdbarch != NULL);
3306130803Smarcel  return gdbarch->deprecated_push_arguments != NULL;
3307130803Smarcel}
3308130803Smarcel
3309130803SmarcelCORE_ADDR
3310130803Smarcelgdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
3311130803Smarcel{
3312130803Smarcel  gdb_assert (gdbarch != NULL);
3313130803Smarcel  gdb_assert (gdbarch->deprecated_push_arguments != NULL);
331498944Sobrien  if (gdbarch_debug >= 2)
3315130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n");
3316130803Smarcel  return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr);
331798944Sobrien}
331898944Sobrien
331998944Sobrienvoid
3320130803Smarcelset_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch,
3321130803Smarcel                                       gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments)
332298944Sobrien{
3323130803Smarcel  gdbarch->deprecated_push_arguments = deprecated_push_arguments;
332498944Sobrien}
332598944Sobrien
332698944Sobrienint
3327130803Smarcelgdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch)
332898944Sobrien{
3329130803Smarcel  gdb_assert (gdbarch != NULL);
3330130803Smarcel  /* Skip verify of deprecated_use_generic_dummy_frames, invalid_p == 0 */
333198944Sobrien  if (gdbarch_debug >= 2)
3332130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_use_generic_dummy_frames called\n");
3333130803Smarcel  return gdbarch->deprecated_use_generic_dummy_frames;
333498944Sobrien}
333598944Sobrien
333698944Sobrienvoid
3337130803Smarcelset_gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdbarch,
3338130803Smarcel                                                 int deprecated_use_generic_dummy_frames)
333998944Sobrien{
3340130803Smarcel  gdbarch->deprecated_use_generic_dummy_frames = deprecated_use_generic_dummy_frames;
334198944Sobrien}
334298944Sobrien
334398944Sobrienint
3344130803Smarcelgdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch)
334598944Sobrien{
3346130803Smarcel  gdb_assert (gdbarch != NULL);
3347130803Smarcel  return gdbarch->deprecated_push_return_address != NULL;
334898944Sobrien}
334998944Sobrien
3350130803SmarcelCORE_ADDR
3351130803Smarcelgdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp)
3352130803Smarcel{
3353130803Smarcel  gdb_assert (gdbarch != NULL);
3354130803Smarcel  gdb_assert (gdbarch->deprecated_push_return_address != NULL);
3355130803Smarcel  if (gdbarch_debug >= 2)
3356130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n");
3357130803Smarcel  return gdbarch->deprecated_push_return_address (pc, sp);
3358130803Smarcel}
3359130803Smarcel
3360130803Smarcelvoid
3361130803Smarcelset_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch,
3362130803Smarcel                                            gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address)
3363130803Smarcel{
3364130803Smarcel  gdbarch->deprecated_push_return_address = deprecated_push_return_address;
3365130803Smarcel}
3366130803Smarcel
336798944Sobrienint
3368130803Smarcelgdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch)
336998944Sobrien{
3370130803Smarcel  gdb_assert (gdbarch != NULL);
3371130803Smarcel  return gdbarch->deprecated_dummy_write_sp != NULL;
3372130803Smarcel}
3373130803Smarcel
3374130803Smarcelvoid
3375130803Smarcelgdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val)
3376130803Smarcel{
3377130803Smarcel  gdb_assert (gdbarch != NULL);
3378130803Smarcel  gdb_assert (gdbarch->deprecated_dummy_write_sp != NULL);
337998944Sobrien  if (gdbarch_debug >= 2)
3380130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n");
3381130803Smarcel  gdbarch->deprecated_dummy_write_sp (val);
338298944Sobrien}
338398944Sobrien
338498944Sobrienvoid
3385130803Smarcelset_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch,
3386130803Smarcel                                       gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp)
338798944Sobrien{
3388130803Smarcel  gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp;
338998944Sobrien}
339098944Sobrien
339198944Sobrienint
3392130803Smarcelgdbarch_deprecated_register_size (struct gdbarch *gdbarch)
339398944Sobrien{
3394130803Smarcel  gdb_assert (gdbarch != NULL);
339598944Sobrien  if (gdbarch_debug >= 2)
3396130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n");
3397130803Smarcel  return gdbarch->deprecated_register_size;
339898944Sobrien}
339998944Sobrien
340098944Sobrienvoid
3401130803Smarcelset_gdbarch_deprecated_register_size (struct gdbarch *gdbarch,
3402130803Smarcel                                      int deprecated_register_size)
340398944Sobrien{
3404130803Smarcel  gdbarch->deprecated_register_size = deprecated_register_size;
340598944Sobrien}
340698944Sobrien
340798944Sobrienint
340898944Sobriengdbarch_call_dummy_location (struct gdbarch *gdbarch)
340998944Sobrien{
3410130803Smarcel  gdb_assert (gdbarch != NULL);
3411130803Smarcel  /* Skip verify of call_dummy_location, invalid_p == 0 */
341298944Sobrien  if (gdbarch_debug >= 2)
341398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_call_dummy_location called\n");
341498944Sobrien  return gdbarch->call_dummy_location;
341598944Sobrien}
341698944Sobrien
341798944Sobrienvoid
341898944Sobrienset_gdbarch_call_dummy_location (struct gdbarch *gdbarch,
341998944Sobrien                                 int call_dummy_location)
342098944Sobrien{
342198944Sobrien  gdbarch->call_dummy_location = call_dummy_location;
342298944Sobrien}
342398944Sobrien
342498944SobrienCORE_ADDR
3425130803Smarcelgdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch)
342698944Sobrien{
3427130803Smarcel  gdb_assert (gdbarch != NULL);
342898944Sobrien  if (gdbarch_debug >= 2)
3429130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_start_offset called\n");
3430130803Smarcel  return gdbarch->deprecated_call_dummy_start_offset;
343198944Sobrien}
343298944Sobrien
343398944Sobrienvoid
3434130803Smarcelset_gdbarch_deprecated_call_dummy_start_offset (struct gdbarch *gdbarch,
3435130803Smarcel                                                CORE_ADDR deprecated_call_dummy_start_offset)
343698944Sobrien{
3437130803Smarcel  gdbarch->deprecated_call_dummy_start_offset = deprecated_call_dummy_start_offset;
343898944Sobrien}
343998944Sobrien
344098944SobrienCORE_ADDR
3441130803Smarcelgdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch)
344298944Sobrien{
3443130803Smarcel  gdb_assert (gdbarch != NULL);
344498944Sobrien  if (gdbarch_debug >= 2)
3445130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_breakpoint_offset called\n");
3446130803Smarcel  return gdbarch->deprecated_call_dummy_breakpoint_offset;
344798944Sobrien}
344898944Sobrien
344998944Sobrienvoid
3450130803Smarcelset_gdbarch_deprecated_call_dummy_breakpoint_offset (struct gdbarch *gdbarch,
3451130803Smarcel                                                     CORE_ADDR deprecated_call_dummy_breakpoint_offset)
345298944Sobrien{
3453130803Smarcel  gdbarch->deprecated_call_dummy_breakpoint_offset = deprecated_call_dummy_breakpoint_offset;
345498944Sobrien}
345598944Sobrien
3456130803Smarcelint
3457130803Smarcelgdbarch_deprecated_call_dummy_length (struct gdbarch *gdbarch)
345898944Sobrien{
3459130803Smarcel  gdb_assert (gdbarch != NULL);
346098944Sobrien  if (gdbarch_debug >= 2)
3461130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_length called\n");
3462130803Smarcel  return gdbarch->deprecated_call_dummy_length;
346398944Sobrien}
346498944Sobrien
346598944Sobrienvoid
3466130803Smarcelset_gdbarch_deprecated_call_dummy_length (struct gdbarch *gdbarch,
3467130803Smarcel                                          int deprecated_call_dummy_length)
346898944Sobrien{
3469130803Smarcel  gdbarch->deprecated_call_dummy_length = deprecated_call_dummy_length;
347098944Sobrien}
347198944Sobrien
3472130803SmarcelLONGEST *
3473130803Smarcelgdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch)
3474130803Smarcel{
3475130803Smarcel  gdb_assert (gdbarch != NULL);
3476130803Smarcel  /* Skip verify of deprecated_call_dummy_words, invalid_p == 0 */
3477130803Smarcel  if (gdbarch_debug >= 2)
3478130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_words called\n");
3479130803Smarcel  return gdbarch->deprecated_call_dummy_words;
3480130803Smarcel}
3481130803Smarcel
3482130803Smarcelvoid
3483130803Smarcelset_gdbarch_deprecated_call_dummy_words (struct gdbarch *gdbarch,
3484130803Smarcel                                         LONGEST * deprecated_call_dummy_words)
3485130803Smarcel{
3486130803Smarcel  gdbarch->deprecated_call_dummy_words = deprecated_call_dummy_words;
3487130803Smarcel}
3488130803Smarcel
348998944Sobrienint
3490130803Smarcelgdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch)
349198944Sobrien{
3492130803Smarcel  gdb_assert (gdbarch != NULL);
3493130803Smarcel  /* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
349498944Sobrien  if (gdbarch_debug >= 2)
3495130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_sizeof_call_dummy_words called\n");
3496130803Smarcel  return gdbarch->deprecated_sizeof_call_dummy_words;
349798944Sobrien}
349898944Sobrien
349998944Sobrienvoid
3500130803Smarcelset_gdbarch_deprecated_sizeof_call_dummy_words (struct gdbarch *gdbarch,
3501130803Smarcel                                                int deprecated_sizeof_call_dummy_words)
350298944Sobrien{
3503130803Smarcel  gdbarch->deprecated_sizeof_call_dummy_words = deprecated_sizeof_call_dummy_words;
350498944Sobrien}
350598944Sobrien
350698944Sobrienint
3507130803Smarcelgdbarch_deprecated_fix_call_dummy_p (struct gdbarch *gdbarch)
350898944Sobrien{
3509130803Smarcel  gdb_assert (gdbarch != NULL);
3510130803Smarcel  return gdbarch->deprecated_fix_call_dummy != NULL;
3511130803Smarcel}
3512130803Smarcel
3513130803Smarcelvoid
3514130803Smarcelgdbarch_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)
3515130803Smarcel{
3516130803Smarcel  gdb_assert (gdbarch != NULL);
3517130803Smarcel  gdb_assert (gdbarch->deprecated_fix_call_dummy != NULL);
351898944Sobrien  if (gdbarch_debug >= 2)
3519130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fix_call_dummy called\n");
3520130803Smarcel  gdbarch->deprecated_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p);
352198944Sobrien}
352298944Sobrien
352398944Sobrienvoid
3524130803Smarcelset_gdbarch_deprecated_fix_call_dummy (struct gdbarch *gdbarch,
3525130803Smarcel                                       gdbarch_deprecated_fix_call_dummy_ftype deprecated_fix_call_dummy)
352698944Sobrien{
3527130803Smarcel  gdbarch->deprecated_fix_call_dummy = deprecated_fix_call_dummy;
352898944Sobrien}
352998944Sobrien
353098944Sobrienint
3531130803Smarcelgdbarch_push_dummy_code_p (struct gdbarch *gdbarch)
353298944Sobrien{
3533130803Smarcel  gdb_assert (gdbarch != NULL);
3534130803Smarcel  return gdbarch->push_dummy_code != NULL;
3535130803Smarcel}
3536130803Smarcel
3537130803SmarcelCORE_ADDR
3538130803Smarcelgdbarch_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)
3539130803Smarcel{
3540130803Smarcel  gdb_assert (gdbarch != NULL);
3541130803Smarcel  gdb_assert (gdbarch->push_dummy_code != NULL);
354298944Sobrien  if (gdbarch_debug >= 2)
3543130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_code called\n");
3544130803Smarcel  return gdbarch->push_dummy_code (gdbarch, sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr);
354598944Sobrien}
354698944Sobrien
354798944Sobrienvoid
3548130803Smarcelset_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
3549130803Smarcel                             gdbarch_push_dummy_code_ftype push_dummy_code)
355098944Sobrien{
3551130803Smarcel  gdbarch->push_dummy_code = push_dummy_code;
355298944Sobrien}
355398944Sobrien
355498944Sobrienint
3555130803Smarcelgdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch)
355698944Sobrien{
3557130803Smarcel  gdb_assert (gdbarch != NULL);
3558130803Smarcel  return gdbarch->deprecated_push_dummy_frame != NULL;
3559130803Smarcel}
3560130803Smarcel
3561130803Smarcelvoid
3562130803Smarcelgdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch)
3563130803Smarcel{
3564130803Smarcel  gdb_assert (gdbarch != NULL);
3565130803Smarcel  gdb_assert (gdbarch->deprecated_push_dummy_frame != NULL);
356698944Sobrien  if (gdbarch_debug >= 2)
3567130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n");
3568130803Smarcel  gdbarch->deprecated_push_dummy_frame ();
356998944Sobrien}
357098944Sobrien
357198944Sobrienvoid
3572130803Smarcelset_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch,
3573130803Smarcel                                         gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame)
357498944Sobrien{
3575130803Smarcel  gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame;
357698944Sobrien}
357798944Sobrien
3578130803Smarcelint
3579130803Smarcelgdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch)
358098944Sobrien{
3581130803Smarcel  gdb_assert (gdbarch != NULL);
3582130803Smarcel  return gdbarch->deprecated_do_registers_info != NULL;
3583130803Smarcel}
3584130803Smarcel
3585130803Smarcelvoid
3586130803Smarcelgdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs)
3587130803Smarcel{
3588130803Smarcel  gdb_assert (gdbarch != NULL);
3589130803Smarcel  gdb_assert (gdbarch->deprecated_do_registers_info != NULL);
359098944Sobrien  if (gdbarch_debug >= 2)
3591130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n");
3592130803Smarcel  gdbarch->deprecated_do_registers_info (reg_nr, fpregs);
359398944Sobrien}
359498944Sobrien
359598944Sobrienvoid
3596130803Smarcelset_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch,
3597130803Smarcel                                          gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info)
359898944Sobrien{
3599130803Smarcel  gdbarch->deprecated_do_registers_info = deprecated_do_registers_info;
360098944Sobrien}
360198944Sobrien
3602130803Smarcelvoid
3603130803Smarcelgdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
3604130803Smarcel{
3605130803Smarcel  gdb_assert (gdbarch != NULL);
3606130803Smarcel  gdb_assert (gdbarch->print_registers_info != NULL);
3607130803Smarcel  if (gdbarch_debug >= 2)
3608130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_print_registers_info called\n");
3609130803Smarcel  gdbarch->print_registers_info (gdbarch, file, frame, regnum, all);
3610130803Smarcel}
3611130803Smarcel
3612130803Smarcelvoid
3613130803Smarcelset_gdbarch_print_registers_info (struct gdbarch *gdbarch,
3614130803Smarcel                                  gdbarch_print_registers_info_ftype print_registers_info)
3615130803Smarcel{
3616130803Smarcel  gdbarch->print_registers_info = print_registers_info;
3617130803Smarcel}
3618130803Smarcel
361998944Sobrienint
3620130803Smarcelgdbarch_print_float_info_p (struct gdbarch *gdbarch)
362198944Sobrien{
3622130803Smarcel  gdb_assert (gdbarch != NULL);
3623130803Smarcel  return gdbarch->print_float_info != NULL;
3624130803Smarcel}
3625130803Smarcel
3626130803Smarcelvoid
3627130803Smarcelgdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
3628130803Smarcel{
3629130803Smarcel  gdb_assert (gdbarch != NULL);
3630130803Smarcel  gdb_assert (gdbarch->print_float_info != NULL);
363198944Sobrien  if (gdbarch_debug >= 2)
3632130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n");
3633130803Smarcel  gdbarch->print_float_info (gdbarch, file, frame, args);
363498944Sobrien}
363598944Sobrien
363698944Sobrienvoid
3637130803Smarcelset_gdbarch_print_float_info (struct gdbarch *gdbarch,
3638130803Smarcel                              gdbarch_print_float_info_ftype print_float_info)
363998944Sobrien{
3640130803Smarcel  gdbarch->print_float_info = print_float_info;
364198944Sobrien}
364298944Sobrien
364398944Sobrienint
3644130803Smarcelgdbarch_print_vector_info_p (struct gdbarch *gdbarch)
364598944Sobrien{
3646130803Smarcel  gdb_assert (gdbarch != NULL);
3647130803Smarcel  return gdbarch->print_vector_info != NULL;
3648130803Smarcel}
3649130803Smarcel
3650130803Smarcelvoid
3651130803Smarcelgdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
3652130803Smarcel{
3653130803Smarcel  gdb_assert (gdbarch != NULL);
3654130803Smarcel  gdb_assert (gdbarch->print_vector_info != NULL);
365598944Sobrien  if (gdbarch_debug >= 2)
3656130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_print_vector_info called\n");
3657130803Smarcel  gdbarch->print_vector_info (gdbarch, file, frame, args);
365898944Sobrien}
365998944Sobrien
366098944Sobrienvoid
3661130803Smarcelset_gdbarch_print_vector_info (struct gdbarch *gdbarch,
3662130803Smarcel                               gdbarch_print_vector_info_ftype print_vector_info)
366398944Sobrien{
3664130803Smarcel  gdbarch->print_vector_info = print_vector_info;
366598944Sobrien}
366698944Sobrien
366798944Sobrienint
3668130803Smarcelgdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr)
366998944Sobrien{
3670130803Smarcel  gdb_assert (gdbarch != NULL);
3671130803Smarcel  gdb_assert (gdbarch->register_sim_regno != NULL);
367298944Sobrien  if (gdbarch_debug >= 2)
3673130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n");
3674130803Smarcel  return gdbarch->register_sim_regno (reg_nr);
367598944Sobrien}
367698944Sobrien
367798944Sobrienvoid
3678130803Smarcelset_gdbarch_register_sim_regno (struct gdbarch *gdbarch,
3679130803Smarcel                                gdbarch_register_sim_regno_ftype register_sim_regno)
368098944Sobrien{
3681130803Smarcel  gdbarch->register_sim_regno = register_sim_regno;
368298944Sobrien}
368398944Sobrien
3684130803Smarcelint
3685130803Smarcelgdbarch_register_bytes_ok_p (struct gdbarch *gdbarch)
3686130803Smarcel{
3687130803Smarcel  gdb_assert (gdbarch != NULL);
3688130803Smarcel  return gdbarch->register_bytes_ok != NULL;
3689130803Smarcel}
3690130803Smarcel
3691130803Smarcelint
3692130803Smarcelgdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes)
3693130803Smarcel{
3694130803Smarcel  gdb_assert (gdbarch != NULL);
3695130803Smarcel  gdb_assert (gdbarch->register_bytes_ok != NULL);
3696130803Smarcel  if (gdbarch_debug >= 2)
3697130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n");
3698130803Smarcel  return gdbarch->register_bytes_ok (nr_bytes);
3699130803Smarcel}
3700130803Smarcel
370198944Sobrienvoid
3702130803Smarcelset_gdbarch_register_bytes_ok (struct gdbarch *gdbarch,
3703130803Smarcel                               gdbarch_register_bytes_ok_ftype register_bytes_ok)
370498944Sobrien{
3705130803Smarcel  gdbarch->register_bytes_ok = register_bytes_ok;
3706130803Smarcel}
3707130803Smarcel
3708130803Smarcelint
3709130803Smarcelgdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum)
3710130803Smarcel{
3711130803Smarcel  gdb_assert (gdbarch != NULL);
3712130803Smarcel  gdb_assert (gdbarch->cannot_fetch_register != NULL);
371398944Sobrien  if (gdbarch_debug >= 2)
3714130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n");
3715130803Smarcel  return gdbarch->cannot_fetch_register (regnum);
371698944Sobrien}
371798944Sobrien
371898944Sobrienvoid
3719130803Smarcelset_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch,
3720130803Smarcel                                   gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
372198944Sobrien{
3722130803Smarcel  gdbarch->cannot_fetch_register = cannot_fetch_register;
372398944Sobrien}
372498944Sobrien
3725130803Smarcelint
3726130803Smarcelgdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum)
3727130803Smarcel{
3728130803Smarcel  gdb_assert (gdbarch != NULL);
3729130803Smarcel  gdb_assert (gdbarch->cannot_store_register != NULL);
3730130803Smarcel  if (gdbarch_debug >= 2)
3731130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n");
3732130803Smarcel  return gdbarch->cannot_store_register (regnum);
3733130803Smarcel}
3734130803Smarcel
373598944Sobrienvoid
3736130803Smarcelset_gdbarch_cannot_store_register (struct gdbarch *gdbarch,
3737130803Smarcel                                   gdbarch_cannot_store_register_ftype cannot_store_register)
373898944Sobrien{
3739130803Smarcel  gdbarch->cannot_store_register = cannot_store_register;
3740130803Smarcel}
3741130803Smarcel
3742130803Smarcelint
3743130803Smarcelgdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
3744130803Smarcel{
3745130803Smarcel  gdb_assert (gdbarch != NULL);
3746130803Smarcel  return gdbarch->get_longjmp_target != NULL;
3747130803Smarcel}
3748130803Smarcel
3749130803Smarcelint
3750130803Smarcelgdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc)
3751130803Smarcel{
3752130803Smarcel  gdb_assert (gdbarch != NULL);
3753130803Smarcel  gdb_assert (gdbarch->get_longjmp_target != NULL);
375498944Sobrien  if (gdbarch_debug >= 2)
3755130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n");
3756130803Smarcel  return gdbarch->get_longjmp_target (pc);
375798944Sobrien}
375898944Sobrien
375998944Sobrienvoid
3760130803Smarcelset_gdbarch_get_longjmp_target (struct gdbarch *gdbarch,
3761130803Smarcel                                gdbarch_get_longjmp_target_ftype get_longjmp_target)
376298944Sobrien{
3763130803Smarcel  gdbarch->get_longjmp_target = get_longjmp_target;
376498944Sobrien}
376598944Sobrien
3766130803Smarcelint
3767130803Smarcelgdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch)
3768130803Smarcel{
3769130803Smarcel  gdb_assert (gdbarch != NULL);
3770130803Smarcel  return gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy;
3771130803Smarcel}
3772130803Smarcel
3773130803Smarcelint
3774130803Smarcelgdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address)
3775130803Smarcel{
3776130803Smarcel  gdb_assert (gdbarch != NULL);
3777130803Smarcel  gdb_assert (gdbarch->deprecated_pc_in_call_dummy != NULL);
3778130803Smarcel  /* Do not check predicate: gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy, allow call.  */
3779130803Smarcel  if (gdbarch_debug >= 2)
3780130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n");
3781130803Smarcel  return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address);
3782130803Smarcel}
3783130803Smarcel
378498944Sobrienvoid
3785130803Smarcelset_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch,
3786130803Smarcel                                         gdbarch_deprecated_pc_in_call_dummy_ftype deprecated_pc_in_call_dummy)
378798944Sobrien{
3788130803Smarcel  gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy;
3789130803Smarcel}
3790130803Smarcel
3791130803Smarcelint
3792130803Smarcelgdbarch_deprecated_init_frame_pc_first_p (struct gdbarch *gdbarch)
3793130803Smarcel{
3794130803Smarcel  gdb_assert (gdbarch != NULL);
3795130803Smarcel  return gdbarch->deprecated_init_frame_pc_first != NULL;
3796130803Smarcel}
3797130803Smarcel
3798130803SmarcelCORE_ADDR
3799130803Smarcelgdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
3800130803Smarcel{
3801130803Smarcel  gdb_assert (gdbarch != NULL);
3802130803Smarcel  gdb_assert (gdbarch->deprecated_init_frame_pc_first != NULL);
380398944Sobrien  if (gdbarch_debug >= 2)
3804130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc_first called\n");
3805130803Smarcel  return gdbarch->deprecated_init_frame_pc_first (fromleaf, prev);
380698944Sobrien}
380798944Sobrien
380898944Sobrienvoid
3809130803Smarcelset_gdbarch_deprecated_init_frame_pc_first (struct gdbarch *gdbarch,
3810130803Smarcel                                            gdbarch_deprecated_init_frame_pc_first_ftype deprecated_init_frame_pc_first)
381198944Sobrien{
3812130803Smarcel  gdbarch->deprecated_init_frame_pc_first = deprecated_init_frame_pc_first;
381398944Sobrien}
381498944Sobrien
381598944Sobrienint
3816130803Smarcelgdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
3817130803Smarcel{
3818130803Smarcel  gdb_assert (gdbarch != NULL);
3819130803Smarcel  return gdbarch->deprecated_init_frame_pc != NULL;
3820130803Smarcel}
3821130803Smarcel
3822130803SmarcelCORE_ADDR
3823130803Smarcelgdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
3824130803Smarcel{
3825130803Smarcel  gdb_assert (gdbarch != NULL);
3826130803Smarcel  gdb_assert (gdbarch->deprecated_init_frame_pc != NULL);
3827130803Smarcel  if (gdbarch_debug >= 2)
3828130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
3829130803Smarcel  return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
3830130803Smarcel}
3831130803Smarcel
3832130803Smarcelvoid
3833130803Smarcelset_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
3834130803Smarcel                                      gdbarch_deprecated_init_frame_pc_ftype deprecated_init_frame_pc)
3835130803Smarcel{
3836130803Smarcel  gdbarch->deprecated_init_frame_pc = deprecated_init_frame_pc;
3837130803Smarcel}
3838130803Smarcel
3839130803Smarcelint
384098944Sobriengdbarch_believe_pcc_promotion (struct gdbarch *gdbarch)
384198944Sobrien{
3842130803Smarcel  gdb_assert (gdbarch != NULL);
384398944Sobrien  if (gdbarch_debug >= 2)
384498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n");
384598944Sobrien  return gdbarch->believe_pcc_promotion;
384698944Sobrien}
384798944Sobrien
384898944Sobrienvoid
384998944Sobrienset_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch,
385098944Sobrien                                   int believe_pcc_promotion)
385198944Sobrien{
385298944Sobrien  gdbarch->believe_pcc_promotion = believe_pcc_promotion;
385398944Sobrien}
385498944Sobrien
385598944Sobrienint
385698944Sobriengdbarch_believe_pcc_promotion_type (struct gdbarch *gdbarch)
385798944Sobrien{
3858130803Smarcel  gdb_assert (gdbarch != NULL);
385998944Sobrien  if (gdbarch_debug >= 2)
386098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_believe_pcc_promotion_type called\n");
386198944Sobrien  return gdbarch->believe_pcc_promotion_type;
386298944Sobrien}
386398944Sobrien
386498944Sobrienvoid
386598944Sobrienset_gdbarch_believe_pcc_promotion_type (struct gdbarch *gdbarch,
386698944Sobrien                                        int believe_pcc_promotion_type)
386798944Sobrien{
386898944Sobrien  gdbarch->believe_pcc_promotion_type = believe_pcc_promotion_type;
386998944Sobrien}
387098944Sobrien
387198944Sobrienint
3872130803Smarcelgdbarch_deprecated_get_saved_register_p (struct gdbarch *gdbarch)
387398944Sobrien{
3874130803Smarcel  gdb_assert (gdbarch != NULL);
3875130803Smarcel  return gdbarch->deprecated_get_saved_register != NULL;
387698944Sobrien}
387798944Sobrien
387898944Sobrienvoid
3879130803Smarcelgdbarch_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)
388098944Sobrien{
3881130803Smarcel  gdb_assert (gdbarch != NULL);
3882130803Smarcel  gdb_assert (gdbarch->deprecated_get_saved_register != NULL);
3883130803Smarcel  if (gdbarch_debug >= 2)
3884130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_get_saved_register called\n");
3885130803Smarcel  gdbarch->deprecated_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval);
388698944Sobrien}
388798944Sobrien
388898944Sobrienvoid
3889130803Smarcelset_gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch,
3890130803Smarcel                                           gdbarch_deprecated_get_saved_register_ftype deprecated_get_saved_register)
389198944Sobrien{
3892130803Smarcel  gdbarch->deprecated_get_saved_register = deprecated_get_saved_register;
389398944Sobrien}
389498944Sobrien
3895130803Smarcelint
3896130803Smarcelgdbarch_deprecated_register_convertible_p (struct gdbarch *gdbarch)
389798944Sobrien{
3898130803Smarcel  gdb_assert (gdbarch != NULL);
3899130803Smarcel  return gdbarch->deprecated_register_convertible != NULL;
390098944Sobrien}
390198944Sobrien
390298944Sobrienint
3903130803Smarcelgdbarch_deprecated_register_convertible (struct gdbarch *gdbarch, int nr)
390498944Sobrien{
3905130803Smarcel  gdb_assert (gdbarch != NULL);
3906130803Smarcel  gdb_assert (gdbarch->deprecated_register_convertible != NULL);
390798944Sobrien  if (gdbarch_debug >= 2)
3908130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convertible called\n");
3909130803Smarcel  return gdbarch->deprecated_register_convertible (nr);
391098944Sobrien}
391198944Sobrien
391298944Sobrienvoid
3913130803Smarcelset_gdbarch_deprecated_register_convertible (struct gdbarch *gdbarch,
3914130803Smarcel                                             gdbarch_deprecated_register_convertible_ftype deprecated_register_convertible)
391598944Sobrien{
3916130803Smarcel  gdbarch->deprecated_register_convertible = deprecated_register_convertible;
391798944Sobrien}
391898944Sobrien
391998944Sobrienvoid
3920130803Smarcelgdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, char *from, char *to)
392198944Sobrien{
3922130803Smarcel  gdb_assert (gdbarch != NULL);
3923130803Smarcel  gdb_assert (gdbarch->deprecated_register_convert_to_virtual != NULL);
392498944Sobrien  if (gdbarch_debug >= 2)
3925130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_virtual called\n");
3926130803Smarcel  gdbarch->deprecated_register_convert_to_virtual (regnum, type, from, to);
392798944Sobrien}
392898944Sobrien
392998944Sobrienvoid
3930130803Smarcelset_gdbarch_deprecated_register_convert_to_virtual (struct gdbarch *gdbarch,
3931130803Smarcel                                                    gdbarch_deprecated_register_convert_to_virtual_ftype deprecated_register_convert_to_virtual)
393298944Sobrien{
3933130803Smarcel  gdbarch->deprecated_register_convert_to_virtual = deprecated_register_convert_to_virtual;
393498944Sobrien}
393598944Sobrien
393698944Sobrienvoid
3937130803Smarcelgdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, const char *from, char *to)
393898944Sobrien{
3939130803Smarcel  gdb_assert (gdbarch != NULL);
3940130803Smarcel  gdb_assert (gdbarch->deprecated_register_convert_to_raw != NULL);
394198944Sobrien  if (gdbarch_debug >= 2)
3942130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_convert_to_raw called\n");
3943130803Smarcel  gdbarch->deprecated_register_convert_to_raw (type, regnum, from, to);
394498944Sobrien}
394598944Sobrien
394698944Sobrienvoid
3947130803Smarcelset_gdbarch_deprecated_register_convert_to_raw (struct gdbarch *gdbarch,
3948130803Smarcel                                                gdbarch_deprecated_register_convert_to_raw_ftype deprecated_register_convert_to_raw)
394998944Sobrien{
3950130803Smarcel  gdbarch->deprecated_register_convert_to_raw = deprecated_register_convert_to_raw;
395198944Sobrien}
395298944Sobrien
395398944Sobrienint
3954130803Smarcelgdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
395598944Sobrien{
3956130803Smarcel  gdb_assert (gdbarch != NULL);
3957130803Smarcel  gdb_assert (gdbarch->convert_register_p != NULL);
3958130803Smarcel  if (gdbarch_debug >= 2)
3959130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_register_p called\n");
3960130803Smarcel  return gdbarch->convert_register_p (regnum, type);
396198944Sobrien}
396298944Sobrien
396398944Sobrienvoid
3964130803Smarcelset_gdbarch_convert_register_p (struct gdbarch *gdbarch,
3965130803Smarcel                                gdbarch_convert_register_p_ftype convert_register_p)
396698944Sobrien{
3967130803Smarcel  gdbarch->convert_register_p = convert_register_p;
396898944Sobrien}
396998944Sobrien
397098944Sobrienvoid
3971130803Smarcelgdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, void *buf)
397298944Sobrien{
3973130803Smarcel  gdb_assert (gdbarch != NULL);
3974130803Smarcel  gdb_assert (gdbarch->register_to_value != NULL);
3975130803Smarcel  if (gdbarch_debug >= 2)
3976130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_to_value called\n");
3977130803Smarcel  gdbarch->register_to_value (frame, regnum, type, buf);
397898944Sobrien}
397998944Sobrien
3980130803Smarcelvoid
3981130803Smarcelset_gdbarch_register_to_value (struct gdbarch *gdbarch,
3982130803Smarcel                               gdbarch_register_to_value_ftype register_to_value)
398398944Sobrien{
3984130803Smarcel  gdbarch->register_to_value = register_to_value;
398598944Sobrien}
398698944Sobrien
398798944Sobrienvoid
3988130803Smarcelgdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const void *buf)
398998944Sobrien{
3990130803Smarcel  gdb_assert (gdbarch != NULL);
3991130803Smarcel  gdb_assert (gdbarch->value_to_register != NULL);
399298944Sobrien  if (gdbarch_debug >= 2)
3993130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_value_to_register called\n");
3994130803Smarcel  gdbarch->value_to_register (frame, regnum, type, buf);
399598944Sobrien}
399698944Sobrien
399798944Sobrienvoid
3998130803Smarcelset_gdbarch_value_to_register (struct gdbarch *gdbarch,
3999130803Smarcel                               gdbarch_value_to_register_ftype value_to_register)
400098944Sobrien{
4001130803Smarcel  gdbarch->value_to_register = value_to_register;
400298944Sobrien}
400398944Sobrien
400498944SobrienCORE_ADDR
4005130803Smarcelgdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const void *buf)
400698944Sobrien{
4007130803Smarcel  gdb_assert (gdbarch != NULL);
4008130803Smarcel  gdb_assert (gdbarch->pointer_to_address != NULL);
400998944Sobrien  if (gdbarch_debug >= 2)
401098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_pointer_to_address called\n");
401198944Sobrien  return gdbarch->pointer_to_address (type, buf);
401298944Sobrien}
401398944Sobrien
401498944Sobrienvoid
401598944Sobrienset_gdbarch_pointer_to_address (struct gdbarch *gdbarch,
401698944Sobrien                                gdbarch_pointer_to_address_ftype pointer_to_address)
401798944Sobrien{
401898944Sobrien  gdbarch->pointer_to_address = pointer_to_address;
401998944Sobrien}
402098944Sobrien
402198944Sobrienvoid
402298944Sobriengdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, void *buf, CORE_ADDR addr)
402398944Sobrien{
4024130803Smarcel  gdb_assert (gdbarch != NULL);
4025130803Smarcel  gdb_assert (gdbarch->address_to_pointer != NULL);
402698944Sobrien  if (gdbarch_debug >= 2)
402798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_address_to_pointer called\n");
402898944Sobrien  gdbarch->address_to_pointer (type, buf, addr);
402998944Sobrien}
403098944Sobrien
403198944Sobrienvoid
403298944Sobrienset_gdbarch_address_to_pointer (struct gdbarch *gdbarch,
403398944Sobrien                                gdbarch_address_to_pointer_ftype address_to_pointer)
403498944Sobrien{
403598944Sobrien  gdbarch->address_to_pointer = address_to_pointer;
403698944Sobrien}
403798944Sobrien
403898944Sobrienint
403998944Sobriengdbarch_integer_to_address_p (struct gdbarch *gdbarch)
404098944Sobrien{
4041130803Smarcel  gdb_assert (gdbarch != NULL);
4042130803Smarcel  return gdbarch->integer_to_address != NULL;
404398944Sobrien}
404498944Sobrien
404598944SobrienCORE_ADDR
404698944Sobriengdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, void *buf)
404798944Sobrien{
4048130803Smarcel  gdb_assert (gdbarch != NULL);
4049130803Smarcel  gdb_assert (gdbarch->integer_to_address != NULL);
405098944Sobrien  if (gdbarch_debug >= 2)
405198944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_integer_to_address called\n");
405298944Sobrien  return gdbarch->integer_to_address (type, buf);
405398944Sobrien}
405498944Sobrien
405598944Sobrienvoid
405698944Sobrienset_gdbarch_integer_to_address (struct gdbarch *gdbarch,
405798944Sobrien                                gdbarch_integer_to_address_ftype integer_to_address)
405898944Sobrien{
405998944Sobrien  gdbarch->integer_to_address = integer_to_address;
406098944Sobrien}
406198944Sobrien
406298944Sobrienint
4063130803Smarcelgdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch)
406498944Sobrien{
4065130803Smarcel  gdb_assert (gdbarch != NULL);
4066130803Smarcel  return gdbarch->deprecated_pop_frame != NULL;
406798944Sobrien}
406898944Sobrien
406998944Sobrienvoid
4070130803Smarcelgdbarch_deprecated_pop_frame (struct gdbarch *gdbarch)
407198944Sobrien{
4072130803Smarcel  gdb_assert (gdbarch != NULL);
4073130803Smarcel  gdb_assert (gdbarch->deprecated_pop_frame != NULL);
407498944Sobrien  if (gdbarch_debug >= 2)
4075130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pop_frame called\n");
4076130803Smarcel  gdbarch->deprecated_pop_frame ();
407798944Sobrien}
407898944Sobrien
407998944Sobrienvoid
4080130803Smarcelset_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch,
4081130803Smarcel                                  gdbarch_deprecated_pop_frame_ftype deprecated_pop_frame)
408298944Sobrien{
4083130803Smarcel  gdbarch->deprecated_pop_frame = deprecated_pop_frame;
408498944Sobrien}
408598944Sobrien
4086130803Smarcelint
4087130803Smarcelgdbarch_deprecated_store_struct_return_p (struct gdbarch *gdbarch)
408898944Sobrien{
4089130803Smarcel  gdb_assert (gdbarch != NULL);
4090130803Smarcel  return gdbarch->deprecated_store_struct_return != NULL;
409198944Sobrien}
409298944Sobrien
409398944Sobrienvoid
4094130803Smarcelgdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR sp)
409598944Sobrien{
4096130803Smarcel  gdb_assert (gdbarch != NULL);
4097130803Smarcel  gdb_assert (gdbarch->deprecated_store_struct_return != NULL);
409898944Sobrien  if (gdbarch_debug >= 2)
4099130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_struct_return called\n");
4100130803Smarcel  gdbarch->deprecated_store_struct_return (addr, sp);
410198944Sobrien}
410298944Sobrien
410398944Sobrienvoid
4104130803Smarcelset_gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch,
4105130803Smarcel                                            gdbarch_deprecated_store_struct_return_ftype deprecated_store_struct_return)
410698944Sobrien{
4107130803Smarcel  gdbarch->deprecated_store_struct_return = deprecated_store_struct_return;
410898944Sobrien}
410998944Sobrien
411098944Sobrienint
4111130803Smarcelgdbarch_return_value_p (struct gdbarch *gdbarch)
411298944Sobrien{
4113130803Smarcel  gdb_assert (gdbarch != NULL);
4114130803Smarcel  return gdbarch->return_value != NULL;
411598944Sobrien}
411698944Sobrien
4117130803Smarcelenum return_value_convention
4118130803Smarcelgdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, void *readbuf, const void *writebuf)
411998944Sobrien{
4120130803Smarcel  gdb_assert (gdbarch != NULL);
4121130803Smarcel  gdb_assert (gdbarch->return_value != NULL);
412298944Sobrien  if (gdbarch_debug >= 2)
4123130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value called\n");
4124130803Smarcel  return gdbarch->return_value (gdbarch, valtype, regcache, readbuf, writebuf);
412598944Sobrien}
412698944Sobrien
412798944Sobrienvoid
4128130803Smarcelset_gdbarch_return_value (struct gdbarch *gdbarch,
4129130803Smarcel                          gdbarch_return_value_ftype return_value)
413098944Sobrien{
4131130803Smarcel  gdbarch->return_value = return_value;
413298944Sobrien}
413398944Sobrien
4134130803Smarcelint
4135130803Smarcelgdbarch_return_value_on_stack (struct gdbarch *gdbarch, struct type *type)
413698944Sobrien{
4137130803Smarcel  gdb_assert (gdbarch != NULL);
4138130803Smarcel  gdb_assert (gdbarch->return_value_on_stack != NULL);
413998944Sobrien  if (gdbarch_debug >= 2)
4140130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value_on_stack called\n");
4141130803Smarcel  return gdbarch->return_value_on_stack (type);
414298944Sobrien}
414398944Sobrien
414498944Sobrienvoid
4145130803Smarcelset_gdbarch_return_value_on_stack (struct gdbarch *gdbarch,
4146130803Smarcel                                   gdbarch_return_value_on_stack_ftype return_value_on_stack)
414798944Sobrien{
4148130803Smarcel  gdbarch->return_value_on_stack = return_value_on_stack;
414998944Sobrien}
415098944Sobrien
415198944Sobrienvoid
4152130803Smarcelgdbarch_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, void *valbuf)
415398944Sobrien{
4154130803Smarcel  gdb_assert (gdbarch != NULL);
4155130803Smarcel  gdb_assert (gdbarch->extract_return_value != NULL);
415698944Sobrien  if (gdbarch_debug >= 2)
4157130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_extract_return_value called\n");
4158130803Smarcel  gdbarch->extract_return_value (type, regcache, valbuf);
415998944Sobrien}
416098944Sobrien
416198944Sobrienvoid
4162130803Smarcelset_gdbarch_extract_return_value (struct gdbarch *gdbarch,
4163130803Smarcel                                  gdbarch_extract_return_value_ftype extract_return_value)
416498944Sobrien{
4165130803Smarcel  gdbarch->extract_return_value = extract_return_value;
416698944Sobrien}
416798944Sobrien
416898944Sobrienvoid
4169130803Smarcelgdbarch_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const void *valbuf)
417098944Sobrien{
4171130803Smarcel  gdb_assert (gdbarch != NULL);
4172130803Smarcel  gdb_assert (gdbarch->store_return_value != NULL);
417398944Sobrien  if (gdbarch_debug >= 2)
417498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_store_return_value called\n");
4175130803Smarcel  gdbarch->store_return_value (type, regcache, valbuf);
417698944Sobrien}
417798944Sobrien
417898944Sobrienvoid
417998944Sobrienset_gdbarch_store_return_value (struct gdbarch *gdbarch,
418098944Sobrien                                gdbarch_store_return_value_ftype store_return_value)
418198944Sobrien{
418298944Sobrien  gdbarch->store_return_value = store_return_value;
418398944Sobrien}
418498944Sobrien
4185130803Smarcelvoid
4186130803Smarcelgdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, char *regbuf, char *valbuf)
418798944Sobrien{
4188130803Smarcel  gdb_assert (gdbarch != NULL);
4189130803Smarcel  gdb_assert (gdbarch->deprecated_extract_return_value != NULL);
4190130803Smarcel  if (gdbarch_debug >= 2)
4191130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_return_value called\n");
4192130803Smarcel  gdbarch->deprecated_extract_return_value (type, regbuf, valbuf);
419398944Sobrien}
419498944Sobrien
4195130803Smarcelvoid
4196130803Smarcelset_gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch,
4197130803Smarcel                                             gdbarch_deprecated_extract_return_value_ftype deprecated_extract_return_value)
419898944Sobrien{
4199130803Smarcel  gdbarch->deprecated_extract_return_value = deprecated_extract_return_value;
4200130803Smarcel}
4201130803Smarcel
4202130803Smarcelvoid
4203130803Smarcelgdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, char *valbuf)
4204130803Smarcel{
4205130803Smarcel  gdb_assert (gdbarch != NULL);
4206130803Smarcel  gdb_assert (gdbarch->deprecated_store_return_value != NULL);
420798944Sobrien  if (gdbarch_debug >= 2)
4208130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_return_value called\n");
4209130803Smarcel  gdbarch->deprecated_store_return_value (type, valbuf);
421098944Sobrien}
421198944Sobrien
421298944Sobrienvoid
4213130803Smarcelset_gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch,
4214130803Smarcel                                           gdbarch_deprecated_store_return_value_ftype deprecated_store_return_value)
421598944Sobrien{
4216130803Smarcel  gdbarch->deprecated_store_return_value = deprecated_store_return_value;
421798944Sobrien}
421898944Sobrien
421998944Sobrienint
422098944Sobriengdbarch_use_struct_convention (struct gdbarch *gdbarch, int gcc_p, struct type *value_type)
422198944Sobrien{
4222130803Smarcel  gdb_assert (gdbarch != NULL);
4223130803Smarcel  gdb_assert (gdbarch->use_struct_convention != NULL);
422498944Sobrien  if (gdbarch_debug >= 2)
422598944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_use_struct_convention called\n");
422698944Sobrien  return gdbarch->use_struct_convention (gcc_p, value_type);
422798944Sobrien}
422898944Sobrien
422998944Sobrienvoid
423098944Sobrienset_gdbarch_use_struct_convention (struct gdbarch *gdbarch,
423198944Sobrien                                   gdbarch_use_struct_convention_ftype use_struct_convention)
423298944Sobrien{
423398944Sobrien  gdbarch->use_struct_convention = use_struct_convention;
423498944Sobrien}
423598944Sobrien
4236130803Smarcelint
4237130803Smarcelgdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch)
4238130803Smarcel{
4239130803Smarcel  gdb_assert (gdbarch != NULL);
4240130803Smarcel  return gdbarch->deprecated_extract_struct_value_address != NULL;
4241130803Smarcel}
4242130803Smarcel
4243130803SmarcelCORE_ADDR
4244130803Smarcelgdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache)
4245130803Smarcel{
4246130803Smarcel  gdb_assert (gdbarch != NULL);
4247130803Smarcel  gdb_assert (gdbarch->deprecated_extract_struct_value_address != NULL);
4248130803Smarcel  if (gdbarch_debug >= 2)
4249130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_struct_value_address called\n");
4250130803Smarcel  return gdbarch->deprecated_extract_struct_value_address (regcache);
4251130803Smarcel}
4252130803Smarcel
425398944Sobrienvoid
4254130803Smarcelset_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch,
4255130803Smarcel                                                     gdbarch_deprecated_extract_struct_value_address_ftype deprecated_extract_struct_value_address)
425698944Sobrien{
4257130803Smarcel  gdbarch->deprecated_extract_struct_value_address = deprecated_extract_struct_value_address;
4258130803Smarcel}
4259130803Smarcel
4260130803Smarcelint
4261130803Smarcelgdbarch_deprecated_frame_init_saved_regs_p (struct gdbarch *gdbarch)
4262130803Smarcel{
4263130803Smarcel  gdb_assert (gdbarch != NULL);
4264130803Smarcel  return gdbarch->deprecated_frame_init_saved_regs != NULL;
4265130803Smarcel}
4266130803Smarcel
4267130803Smarcelvoid
4268130803Smarcelgdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch, struct frame_info *frame)
4269130803Smarcel{
4270130803Smarcel  gdb_assert (gdbarch != NULL);
4271130803Smarcel  gdb_assert (gdbarch->deprecated_frame_init_saved_regs != NULL);
427298944Sobrien  if (gdbarch_debug >= 2)
4273130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_init_saved_regs called\n");
4274130803Smarcel  gdbarch->deprecated_frame_init_saved_regs (frame);
427598944Sobrien}
427698944Sobrien
427798944Sobrienvoid
4278130803Smarcelset_gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch,
4279130803Smarcel                                              gdbarch_deprecated_frame_init_saved_regs_ftype deprecated_frame_init_saved_regs)
428098944Sobrien{
4281130803Smarcel  gdbarch->deprecated_frame_init_saved_regs = deprecated_frame_init_saved_regs;
428298944Sobrien}
428398944Sobrien
428498944Sobrienint
4285130803Smarcelgdbarch_deprecated_init_extra_frame_info_p (struct gdbarch *gdbarch)
428698944Sobrien{
4287130803Smarcel  gdb_assert (gdbarch != NULL);
4288130803Smarcel  return gdbarch->deprecated_init_extra_frame_info != NULL;
428998944Sobrien}
429098944Sobrien
429198944Sobrienvoid
4292130803Smarcelgdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch, int fromleaf, struct frame_info *frame)
429398944Sobrien{
4294130803Smarcel  gdb_assert (gdbarch != NULL);
4295130803Smarcel  gdb_assert (gdbarch->deprecated_init_extra_frame_info != NULL);
429698944Sobrien  if (gdbarch_debug >= 2)
4297130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_extra_frame_info called\n");
4298130803Smarcel  gdbarch->deprecated_init_extra_frame_info (fromleaf, frame);
429998944Sobrien}
430098944Sobrien
430198944Sobrienvoid
4302130803Smarcelset_gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch,
4303130803Smarcel                                              gdbarch_deprecated_init_extra_frame_info_ftype deprecated_init_extra_frame_info)
430498944Sobrien{
4305130803Smarcel  gdbarch->deprecated_init_extra_frame_info = deprecated_init_extra_frame_info;
430698944Sobrien}
430798944Sobrien
430898944SobrienCORE_ADDR
430998944Sobriengdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
431098944Sobrien{
4311130803Smarcel  gdb_assert (gdbarch != NULL);
4312130803Smarcel  gdb_assert (gdbarch->skip_prologue != NULL);
431398944Sobrien  if (gdbarch_debug >= 2)
431498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_prologue called\n");
431598944Sobrien  return gdbarch->skip_prologue (ip);
431698944Sobrien}
431798944Sobrien
431898944Sobrienvoid
431998944Sobrienset_gdbarch_skip_prologue (struct gdbarch *gdbarch,
432098944Sobrien                           gdbarch_skip_prologue_ftype skip_prologue)
432198944Sobrien{
432298944Sobrien  gdbarch->skip_prologue = skip_prologue;
432398944Sobrien}
432498944Sobrien
432598944Sobrienint
432698944Sobriengdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs)
432798944Sobrien{
4328130803Smarcel  gdb_assert (gdbarch != NULL);
4329130803Smarcel  gdb_assert (gdbarch->inner_than != NULL);
433098944Sobrien  if (gdbarch_debug >= 2)
433198944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_inner_than called\n");
433298944Sobrien  return gdbarch->inner_than (lhs, rhs);
433398944Sobrien}
433498944Sobrien
433598944Sobrienvoid
433698944Sobrienset_gdbarch_inner_than (struct gdbarch *gdbarch,
433798944Sobrien                        gdbarch_inner_than_ftype inner_than)
433898944Sobrien{
433998944Sobrien  gdbarch->inner_than = inner_than;
434098944Sobrien}
434198944Sobrien
4342130803Smarcelconst unsigned char *
434398944Sobriengdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
434498944Sobrien{
4345130803Smarcel  gdb_assert (gdbarch != NULL);
4346130803Smarcel  gdb_assert (gdbarch->breakpoint_from_pc != NULL);
434798944Sobrien  if (gdbarch_debug >= 2)
434898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n");
434998944Sobrien  return gdbarch->breakpoint_from_pc (pcptr, lenptr);
435098944Sobrien}
435198944Sobrien
435298944Sobrienvoid
435398944Sobrienset_gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch,
435498944Sobrien                                gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc)
435598944Sobrien{
435698944Sobrien  gdbarch->breakpoint_from_pc = breakpoint_from_pc;
435798944Sobrien}
435898944Sobrien
435998944Sobrienint
4360130803Smarcelgdbarch_adjust_breakpoint_address_p (struct gdbarch *gdbarch)
4361130803Smarcel{
4362130803Smarcel  gdb_assert (gdbarch != NULL);
4363130803Smarcel  return gdbarch->adjust_breakpoint_address != NULL;
4364130803Smarcel}
4365130803Smarcel
4366130803SmarcelCORE_ADDR
4367130803Smarcelgdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
4368130803Smarcel{
4369130803Smarcel  gdb_assert (gdbarch != NULL);
4370130803Smarcel  gdb_assert (gdbarch->adjust_breakpoint_address != NULL);
4371130803Smarcel  if (gdbarch_debug >= 2)
4372130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_adjust_breakpoint_address called\n");
4373130803Smarcel  return gdbarch->adjust_breakpoint_address (gdbarch, bpaddr);
4374130803Smarcel}
4375130803Smarcel
4376130803Smarcelvoid
4377130803Smarcelset_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch,
4378130803Smarcel                                       gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address)
4379130803Smarcel{
4380130803Smarcel  gdbarch->adjust_breakpoint_address = adjust_breakpoint_address;
4381130803Smarcel}
4382130803Smarcel
4383130803Smarcelint
438498944Sobriengdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
438598944Sobrien{
4386130803Smarcel  gdb_assert (gdbarch != NULL);
4387130803Smarcel  gdb_assert (gdbarch->memory_insert_breakpoint != NULL);
438898944Sobrien  if (gdbarch_debug >= 2)
438998944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n");
439098944Sobrien  return gdbarch->memory_insert_breakpoint (addr, contents_cache);
439198944Sobrien}
439298944Sobrien
439398944Sobrienvoid
439498944Sobrienset_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch,
439598944Sobrien                                      gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint)
439698944Sobrien{
439798944Sobrien  gdbarch->memory_insert_breakpoint = memory_insert_breakpoint;
439898944Sobrien}
439998944Sobrien
440098944Sobrienint
440198944Sobriengdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
440298944Sobrien{
4403130803Smarcel  gdb_assert (gdbarch != NULL);
4404130803Smarcel  gdb_assert (gdbarch->memory_remove_breakpoint != NULL);
440598944Sobrien  if (gdbarch_debug >= 2)
440698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n");
440798944Sobrien  return gdbarch->memory_remove_breakpoint (addr, contents_cache);
440898944Sobrien}
440998944Sobrien
441098944Sobrienvoid
441198944Sobrienset_gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch,
441298944Sobrien                                      gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint)
441398944Sobrien{
441498944Sobrien  gdbarch->memory_remove_breakpoint = memory_remove_breakpoint;
441598944Sobrien}
441698944Sobrien
441798944SobrienCORE_ADDR
441898944Sobriengdbarch_decr_pc_after_break (struct gdbarch *gdbarch)
441998944Sobrien{
4420130803Smarcel  gdb_assert (gdbarch != NULL);
4421130803Smarcel  /* Skip verify of decr_pc_after_break, invalid_p == 0 */
442298944Sobrien  if (gdbarch_debug >= 2)
442398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_decr_pc_after_break called\n");
442498944Sobrien  return gdbarch->decr_pc_after_break;
442598944Sobrien}
442698944Sobrien
442798944Sobrienvoid
442898944Sobrienset_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch,
442998944Sobrien                                 CORE_ADDR decr_pc_after_break)
443098944Sobrien{
443198944Sobrien  gdbarch->decr_pc_after_break = decr_pc_after_break;
443298944Sobrien}
443398944Sobrien
443498944SobrienCORE_ADDR
443598944Sobriengdbarch_function_start_offset (struct gdbarch *gdbarch)
443698944Sobrien{
4437130803Smarcel  gdb_assert (gdbarch != NULL);
4438130803Smarcel  /* Skip verify of function_start_offset, invalid_p == 0 */
443998944Sobrien  if (gdbarch_debug >= 2)
444098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_function_start_offset called\n");
444198944Sobrien  return gdbarch->function_start_offset;
444298944Sobrien}
444398944Sobrien
444498944Sobrienvoid
444598944Sobrienset_gdbarch_function_start_offset (struct gdbarch *gdbarch,
444698944Sobrien                                   CORE_ADDR function_start_offset)
444798944Sobrien{
444898944Sobrien  gdbarch->function_start_offset = function_start_offset;
444998944Sobrien}
445098944Sobrien
445198944Sobrienvoid
4452130803Smarcelgdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len)
445398944Sobrien{
4454130803Smarcel  gdb_assert (gdbarch != NULL);
4455130803Smarcel  gdb_assert (gdbarch->remote_translate_xfer_address != NULL);
445698944Sobrien  if (gdbarch_debug >= 2)
445798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_remote_translate_xfer_address called\n");
4458130803Smarcel  gdbarch->remote_translate_xfer_address (gdbarch, regcache, gdb_addr, gdb_len, rem_addr, rem_len);
445998944Sobrien}
446098944Sobrien
446198944Sobrienvoid
446298944Sobrienset_gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch,
446398944Sobrien                                           gdbarch_remote_translate_xfer_address_ftype remote_translate_xfer_address)
446498944Sobrien{
446598944Sobrien  gdbarch->remote_translate_xfer_address = remote_translate_xfer_address;
446698944Sobrien}
446798944Sobrien
446898944SobrienCORE_ADDR
446998944Sobriengdbarch_frame_args_skip (struct gdbarch *gdbarch)
447098944Sobrien{
4471130803Smarcel  gdb_assert (gdbarch != NULL);
4472130803Smarcel  /* Skip verify of frame_args_skip, invalid_p == 0 */
447398944Sobrien  if (gdbarch_debug >= 2)
447498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_skip called\n");
447598944Sobrien  return gdbarch->frame_args_skip;
447698944Sobrien}
447798944Sobrien
447898944Sobrienvoid
447998944Sobrienset_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
448098944Sobrien                             CORE_ADDR frame_args_skip)
448198944Sobrien{
448298944Sobrien  gdbarch->frame_args_skip = frame_args_skip;
448398944Sobrien}
448498944Sobrien
448598944Sobrienint
4486130803Smarcelgdbarch_deprecated_frameless_function_invocation_p (struct gdbarch *gdbarch)
448798944Sobrien{
4488130803Smarcel  gdb_assert (gdbarch != NULL);
4489130803Smarcel  return gdbarch->deprecated_frameless_function_invocation != NULL;
4490130803Smarcel}
4491130803Smarcel
4492130803Smarcelint
4493130803Smarcelgdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch, struct frame_info *fi)
4494130803Smarcel{
4495130803Smarcel  gdb_assert (gdbarch != NULL);
4496130803Smarcel  gdb_assert (gdbarch->deprecated_frameless_function_invocation != NULL);
449798944Sobrien  if (gdbarch_debug >= 2)
4498130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frameless_function_invocation called\n");
4499130803Smarcel  return gdbarch->deprecated_frameless_function_invocation (fi);
450098944Sobrien}
450198944Sobrien
450298944Sobrienvoid
4503130803Smarcelset_gdbarch_deprecated_frameless_function_invocation (struct gdbarch *gdbarch,
4504130803Smarcel                                                      gdbarch_deprecated_frameless_function_invocation_ftype deprecated_frameless_function_invocation)
450598944Sobrien{
4506130803Smarcel  gdbarch->deprecated_frameless_function_invocation = deprecated_frameless_function_invocation;
450798944Sobrien}
450898944Sobrien
4509130803Smarcelint
4510130803Smarcelgdbarch_deprecated_frame_chain_p (struct gdbarch *gdbarch)
4511130803Smarcel{
4512130803Smarcel  gdb_assert (gdbarch != NULL);
4513130803Smarcel  return gdbarch->deprecated_frame_chain != NULL;
4514130803Smarcel}
4515130803Smarcel
451698944SobrienCORE_ADDR
4517130803Smarcelgdbarch_deprecated_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
451898944Sobrien{
4519130803Smarcel  gdb_assert (gdbarch != NULL);
4520130803Smarcel  gdb_assert (gdbarch->deprecated_frame_chain != NULL);
452198944Sobrien  if (gdbarch_debug >= 2)
4522130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain called\n");
4523130803Smarcel  return gdbarch->deprecated_frame_chain (frame);
452498944Sobrien}
452598944Sobrien
452698944Sobrienvoid
4527130803Smarcelset_gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch,
4528130803Smarcel                                    gdbarch_deprecated_frame_chain_ftype deprecated_frame_chain)
452998944Sobrien{
4530130803Smarcel  gdbarch->deprecated_frame_chain = deprecated_frame_chain;
453198944Sobrien}
453298944Sobrien
453398944Sobrienint
4534130803Smarcelgdbarch_deprecated_frame_chain_valid_p (struct gdbarch *gdbarch)
453598944Sobrien{
4536130803Smarcel  gdb_assert (gdbarch != NULL);
4537130803Smarcel  return gdbarch->deprecated_frame_chain_valid != NULL;
4538130803Smarcel}
4539130803Smarcel
4540130803Smarcelint
4541130803Smarcelgdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch, CORE_ADDR chain, struct frame_info *thisframe)
4542130803Smarcel{
4543130803Smarcel  gdb_assert (gdbarch != NULL);
4544130803Smarcel  gdb_assert (gdbarch->deprecated_frame_chain_valid != NULL);
454598944Sobrien  if (gdbarch_debug >= 2)
4546130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain_valid called\n");
4547130803Smarcel  return gdbarch->deprecated_frame_chain_valid (chain, thisframe);
454898944Sobrien}
454998944Sobrien
455098944Sobrienvoid
4551130803Smarcelset_gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch,
4552130803Smarcel                                          gdbarch_deprecated_frame_chain_valid_ftype deprecated_frame_chain_valid)
455398944Sobrien{
4554130803Smarcel  gdbarch->deprecated_frame_chain_valid = deprecated_frame_chain_valid;
455598944Sobrien}
455698944Sobrien
4557130803Smarcelint
4558130803Smarcelgdbarch_deprecated_frame_saved_pc_p (struct gdbarch *gdbarch)
4559130803Smarcel{
4560130803Smarcel  gdb_assert (gdbarch != NULL);
4561130803Smarcel  return gdbarch->deprecated_frame_saved_pc != NULL;
4562130803Smarcel}
4563130803Smarcel
456498944SobrienCORE_ADDR
4565130803Smarcelgdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi)
456698944Sobrien{
4567130803Smarcel  gdb_assert (gdbarch != NULL);
4568130803Smarcel  gdb_assert (gdbarch->deprecated_frame_saved_pc != NULL);
456998944Sobrien  if (gdbarch_debug >= 2)
4570130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_saved_pc called\n");
4571130803Smarcel  return gdbarch->deprecated_frame_saved_pc (fi);
457298944Sobrien}
457398944Sobrien
457498944Sobrienvoid
4575130803Smarcelset_gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch,
4576130803Smarcel                                       gdbarch_deprecated_frame_saved_pc_ftype deprecated_frame_saved_pc)
457798944Sobrien{
4578130803Smarcel  gdbarch->deprecated_frame_saved_pc = deprecated_frame_saved_pc;
457998944Sobrien}
458098944Sobrien
4581130803Smarcelint
4582130803Smarcelgdbarch_unwind_pc_p (struct gdbarch *gdbarch)
4583130803Smarcel{
4584130803Smarcel  gdb_assert (gdbarch != NULL);
4585130803Smarcel  return gdbarch->unwind_pc != NULL;
4586130803Smarcel}
4587130803Smarcel
458898944SobrienCORE_ADDR
4589130803Smarcelgdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
459098944Sobrien{
4591130803Smarcel  gdb_assert (gdbarch != NULL);
4592130803Smarcel  gdb_assert (gdbarch->unwind_pc != NULL);
459398944Sobrien  if (gdbarch_debug >= 2)
4594130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_pc called\n");
4595130803Smarcel  return gdbarch->unwind_pc (gdbarch, next_frame);
459698944Sobrien}
459798944Sobrien
459898944Sobrienvoid
4599130803Smarcelset_gdbarch_unwind_pc (struct gdbarch *gdbarch,
4600130803Smarcel                       gdbarch_unwind_pc_ftype unwind_pc)
460198944Sobrien{
4602130803Smarcel  gdbarch->unwind_pc = unwind_pc;
460398944Sobrien}
460498944Sobrien
4605130803Smarcelint
4606130803Smarcelgdbarch_unwind_sp_p (struct gdbarch *gdbarch)
4607130803Smarcel{
4608130803Smarcel  gdb_assert (gdbarch != NULL);
4609130803Smarcel  return gdbarch->unwind_sp != NULL;
4610130803Smarcel}
4611130803Smarcel
461298944SobrienCORE_ADDR
4613130803Smarcelgdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
461498944Sobrien{
4615130803Smarcel  gdb_assert (gdbarch != NULL);
4616130803Smarcel  gdb_assert (gdbarch->unwind_sp != NULL);
461798944Sobrien  if (gdbarch_debug >= 2)
4618130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_sp called\n");
4619130803Smarcel  return gdbarch->unwind_sp (gdbarch, next_frame);
462098944Sobrien}
462198944Sobrien
462298944Sobrienvoid
4623130803Smarcelset_gdbarch_unwind_sp (struct gdbarch *gdbarch,
4624130803Smarcel                       gdbarch_unwind_sp_ftype unwind_sp)
462598944Sobrien{
4626130803Smarcel  gdbarch->unwind_sp = unwind_sp;
462798944Sobrien}
462898944Sobrien
4629130803Smarcelint
4630130803Smarcelgdbarch_deprecated_frame_args_address_p (struct gdbarch *gdbarch)
4631130803Smarcel{
4632130803Smarcel  gdb_assert (gdbarch != NULL);
4633130803Smarcel  return gdbarch->deprecated_frame_args_address != get_frame_base;
4634130803Smarcel}
4635130803Smarcel
463698944SobrienCORE_ADDR
4637130803Smarcelgdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi)
463898944Sobrien{
4639130803Smarcel  gdb_assert (gdbarch != NULL);
4640130803Smarcel  gdb_assert (gdbarch->deprecated_frame_args_address != NULL);
4641130803Smarcel  /* Do not check predicate: gdbarch->deprecated_frame_args_address != get_frame_base, allow call.  */
464298944Sobrien  if (gdbarch_debug >= 2)
4643130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_args_address called\n");
4644130803Smarcel  return gdbarch->deprecated_frame_args_address (fi);
464598944Sobrien}
464698944Sobrien
464798944Sobrienvoid
4648130803Smarcelset_gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch,
4649130803Smarcel                                           gdbarch_deprecated_frame_args_address_ftype deprecated_frame_args_address)
465098944Sobrien{
4651130803Smarcel  gdbarch->deprecated_frame_args_address = deprecated_frame_args_address;
465298944Sobrien}
465398944Sobrien
465498944Sobrienint
4655130803Smarcelgdbarch_deprecated_frame_locals_address_p (struct gdbarch *gdbarch)
4656130803Smarcel{
4657130803Smarcel  gdb_assert (gdbarch != NULL);
4658130803Smarcel  return gdbarch->deprecated_frame_locals_address != get_frame_base;
4659130803Smarcel}
4660130803Smarcel
4661130803SmarcelCORE_ADDR
4662130803Smarcelgdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi)
4663130803Smarcel{
4664130803Smarcel  gdb_assert (gdbarch != NULL);
4665130803Smarcel  gdb_assert (gdbarch->deprecated_frame_locals_address != NULL);
4666130803Smarcel  /* Do not check predicate: gdbarch->deprecated_frame_locals_address != get_frame_base, allow call.  */
4667130803Smarcel  if (gdbarch_debug >= 2)
4668130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_locals_address called\n");
4669130803Smarcel  return gdbarch->deprecated_frame_locals_address (fi);
4670130803Smarcel}
4671130803Smarcel
4672130803Smarcelvoid
4673130803Smarcelset_gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch,
4674130803Smarcel                                             gdbarch_deprecated_frame_locals_address_ftype deprecated_frame_locals_address)
4675130803Smarcel{
4676130803Smarcel  gdbarch->deprecated_frame_locals_address = deprecated_frame_locals_address;
4677130803Smarcel}
4678130803Smarcel
4679130803Smarcelint
4680130803Smarcelgdbarch_deprecated_saved_pc_after_call_p (struct gdbarch *gdbarch)
4681130803Smarcel{
4682130803Smarcel  gdb_assert (gdbarch != NULL);
4683130803Smarcel  return gdbarch->deprecated_saved_pc_after_call != NULL;
4684130803Smarcel}
4685130803Smarcel
4686130803SmarcelCORE_ADDR
4687130803Smarcelgdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch, struct frame_info *frame)
4688130803Smarcel{
4689130803Smarcel  gdb_assert (gdbarch != NULL);
4690130803Smarcel  gdb_assert (gdbarch->deprecated_saved_pc_after_call != NULL);
4691130803Smarcel  if (gdbarch_debug >= 2)
4692130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_saved_pc_after_call called\n");
4693130803Smarcel  return gdbarch->deprecated_saved_pc_after_call (frame);
4694130803Smarcel}
4695130803Smarcel
4696130803Smarcelvoid
4697130803Smarcelset_gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch,
4698130803Smarcel                                            gdbarch_deprecated_saved_pc_after_call_ftype deprecated_saved_pc_after_call)
4699130803Smarcel{
4700130803Smarcel  gdbarch->deprecated_saved_pc_after_call = deprecated_saved_pc_after_call;
4701130803Smarcel}
4702130803Smarcel
4703130803Smarcelint
4704130803Smarcelgdbarch_frame_num_args_p (struct gdbarch *gdbarch)
4705130803Smarcel{
4706130803Smarcel  gdb_assert (gdbarch != NULL);
4707130803Smarcel  return gdbarch->frame_num_args != NULL;
4708130803Smarcel}
4709130803Smarcel
4710130803Smarcelint
471198944Sobriengdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame)
471298944Sobrien{
4713130803Smarcel  gdb_assert (gdbarch != NULL);
4714130803Smarcel  gdb_assert (gdbarch->frame_num_args != NULL);
471598944Sobrien  if (gdbarch_debug >= 2)
471698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_num_args called\n");
471798944Sobrien  return gdbarch->frame_num_args (frame);
471898944Sobrien}
471998944Sobrien
472098944Sobrienvoid
472198944Sobrienset_gdbarch_frame_num_args (struct gdbarch *gdbarch,
472298944Sobrien                            gdbarch_frame_num_args_ftype frame_num_args)
472398944Sobrien{
472498944Sobrien  gdbarch->frame_num_args = frame_num_args;
472598944Sobrien}
472698944Sobrien
472798944Sobrienint
4728130803Smarcelgdbarch_deprecated_stack_align_p (struct gdbarch *gdbarch)
472998944Sobrien{
4730130803Smarcel  gdb_assert (gdbarch != NULL);
4731130803Smarcel  return gdbarch->deprecated_stack_align != NULL;
473298944Sobrien}
473398944Sobrien
473498944SobrienCORE_ADDR
4735130803Smarcelgdbarch_deprecated_stack_align (struct gdbarch *gdbarch, CORE_ADDR sp)
473698944Sobrien{
4737130803Smarcel  gdb_assert (gdbarch != NULL);
4738130803Smarcel  gdb_assert (gdbarch->deprecated_stack_align != NULL);
473998944Sobrien  if (gdbarch_debug >= 2)
4740130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_stack_align called\n");
4741130803Smarcel  return gdbarch->deprecated_stack_align (sp);
474298944Sobrien}
474398944Sobrien
474498944Sobrienvoid
4745130803Smarcelset_gdbarch_deprecated_stack_align (struct gdbarch *gdbarch,
4746130803Smarcel                                    gdbarch_deprecated_stack_align_ftype deprecated_stack_align)
474798944Sobrien{
4748130803Smarcel  gdbarch->deprecated_stack_align = deprecated_stack_align;
474998944Sobrien}
475098944Sobrien
475198944Sobrienint
4752130803Smarcelgdbarch_frame_align_p (struct gdbarch *gdbarch)
475398944Sobrien{
4754130803Smarcel  gdb_assert (gdbarch != NULL);
4755130803Smarcel  return gdbarch->frame_align != NULL;
4756130803Smarcel}
4757130803Smarcel
4758130803SmarcelCORE_ADDR
4759130803Smarcelgdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address)
4760130803Smarcel{
4761130803Smarcel  gdb_assert (gdbarch != NULL);
4762130803Smarcel  gdb_assert (gdbarch->frame_align != NULL);
476398944Sobrien  if (gdbarch_debug >= 2)
4764130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_align called\n");
4765130803Smarcel  return gdbarch->frame_align (gdbarch, address);
476698944Sobrien}
476798944Sobrien
476898944Sobrienvoid
4769130803Smarcelset_gdbarch_frame_align (struct gdbarch *gdbarch,
4770130803Smarcel                         gdbarch_frame_align_ftype frame_align)
477198944Sobrien{
4772130803Smarcel  gdbarch->frame_align = frame_align;
477398944Sobrien}
477498944Sobrien
477598944Sobrienint
4776130803Smarcelgdbarch_deprecated_reg_struct_has_addr_p (struct gdbarch *gdbarch)
477798944Sobrien{
4778130803Smarcel  gdb_assert (gdbarch != NULL);
4779130803Smarcel  return gdbarch->deprecated_reg_struct_has_addr != NULL;
478098944Sobrien}
478198944Sobrien
478298944Sobrienint
4783130803Smarcelgdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, int gcc_p, struct type *type)
478498944Sobrien{
4785130803Smarcel  gdb_assert (gdbarch != NULL);
4786130803Smarcel  gdb_assert (gdbarch->deprecated_reg_struct_has_addr != NULL);
478798944Sobrien  if (gdbarch_debug >= 2)
4788130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_reg_struct_has_addr called\n");
4789130803Smarcel  return gdbarch->deprecated_reg_struct_has_addr (gcc_p, type);
479098944Sobrien}
479198944Sobrien
479298944Sobrienvoid
4793130803Smarcelset_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch,
4794130803Smarcel                                            gdbarch_deprecated_reg_struct_has_addr_ftype deprecated_reg_struct_has_addr)
479598944Sobrien{
4796130803Smarcel  gdbarch->deprecated_reg_struct_has_addr = deprecated_reg_struct_has_addr;
479798944Sobrien}
479898944Sobrien
479998944Sobrienint
4800130803Smarcelgdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
480198944Sobrien{
4802130803Smarcel  gdb_assert (gdbarch != NULL);
4803130803Smarcel  gdb_assert (gdbarch->stabs_argument_has_addr != NULL);
4804130803Smarcel  if (gdbarch_debug >= 2)
4805130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n");
4806130803Smarcel  return gdbarch->stabs_argument_has_addr (gdbarch, type);
480798944Sobrien}
480898944Sobrien
480998944Sobrienvoid
4810130803Smarcelset_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch,
4811130803Smarcel                                     gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
481298944Sobrien{
4813130803Smarcel  gdbarch->stabs_argument_has_addr = stabs_argument_has_addr;
4814130803Smarcel}
4815130803Smarcel
4816130803Smarcelint
4817130803Smarcelgdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
4818130803Smarcel{
4819130803Smarcel  gdb_assert (gdbarch != NULL);
482098944Sobrien  if (gdbarch_debug >= 2)
4821130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_red_zone_size called\n");
4822130803Smarcel  return gdbarch->frame_red_zone_size;
482398944Sobrien}
482498944Sobrien
482598944Sobrienvoid
4826130803Smarcelset_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch,
4827130803Smarcel                                 int frame_red_zone_size)
482898944Sobrien{
4829130803Smarcel  gdbarch->frame_red_zone_size = frame_red_zone_size;
483098944Sobrien}
483198944Sobrien
483298944Sobrienint
483398944Sobriengdbarch_parm_boundary (struct gdbarch *gdbarch)
483498944Sobrien{
4835130803Smarcel  gdb_assert (gdbarch != NULL);
483698944Sobrien  if (gdbarch_debug >= 2)
483798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_parm_boundary called\n");
483898944Sobrien  return gdbarch->parm_boundary;
483998944Sobrien}
484098944Sobrien
484198944Sobrienvoid
484298944Sobrienset_gdbarch_parm_boundary (struct gdbarch *gdbarch,
484398944Sobrien                           int parm_boundary)
484498944Sobrien{
484598944Sobrien  gdbarch->parm_boundary = parm_boundary;
484698944Sobrien}
484798944Sobrien
484898944Sobrienconst struct floatformat *
484998944Sobriengdbarch_float_format (struct gdbarch *gdbarch)
485098944Sobrien{
4851130803Smarcel  gdb_assert (gdbarch != NULL);
485298944Sobrien  if (gdbarch_debug >= 2)
485398944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_float_format called\n");
485498944Sobrien  return gdbarch->float_format;
485598944Sobrien}
485698944Sobrien
485798944Sobrienvoid
485898944Sobrienset_gdbarch_float_format (struct gdbarch *gdbarch,
485998944Sobrien                          const struct floatformat * float_format)
486098944Sobrien{
486198944Sobrien  gdbarch->float_format = float_format;
486298944Sobrien}
486398944Sobrien
486498944Sobrienconst struct floatformat *
486598944Sobriengdbarch_double_format (struct gdbarch *gdbarch)
486698944Sobrien{
4867130803Smarcel  gdb_assert (gdbarch != NULL);
486898944Sobrien  if (gdbarch_debug >= 2)
486998944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_double_format called\n");
487098944Sobrien  return gdbarch->double_format;
487198944Sobrien}
487298944Sobrien
487398944Sobrienvoid
487498944Sobrienset_gdbarch_double_format (struct gdbarch *gdbarch,
487598944Sobrien                           const struct floatformat * double_format)
487698944Sobrien{
487798944Sobrien  gdbarch->double_format = double_format;
487898944Sobrien}
487998944Sobrien
488098944Sobrienconst struct floatformat *
488198944Sobriengdbarch_long_double_format (struct gdbarch *gdbarch)
488298944Sobrien{
4883130803Smarcel  gdb_assert (gdbarch != NULL);
488498944Sobrien  if (gdbarch_debug >= 2)
488598944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_format called\n");
488698944Sobrien  return gdbarch->long_double_format;
488798944Sobrien}
488898944Sobrien
488998944Sobrienvoid
489098944Sobrienset_gdbarch_long_double_format (struct gdbarch *gdbarch,
489198944Sobrien                                const struct floatformat * long_double_format)
489298944Sobrien{
489398944Sobrien  gdbarch->long_double_format = long_double_format;
489498944Sobrien}
489598944Sobrien
489698944SobrienCORE_ADDR
4897130803Smarcelgdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
489898944Sobrien{
4899130803Smarcel  gdb_assert (gdbarch != NULL);
4900130803Smarcel  gdb_assert (gdbarch->convert_from_func_ptr_addr != NULL);
490198944Sobrien  if (gdbarch_debug >= 2)
490298944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_from_func_ptr_addr called\n");
4903130803Smarcel  return gdbarch->convert_from_func_ptr_addr (gdbarch, addr, targ);
490498944Sobrien}
490598944Sobrien
490698944Sobrienvoid
490798944Sobrienset_gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch,
490898944Sobrien                                        gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr)
490998944Sobrien{
491098944Sobrien  gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr;
491198944Sobrien}
491298944Sobrien
491398944SobrienCORE_ADDR
491498944Sobriengdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
491598944Sobrien{
4916130803Smarcel  gdb_assert (gdbarch != NULL);
4917130803Smarcel  gdb_assert (gdbarch->addr_bits_remove != NULL);
491898944Sobrien  if (gdbarch_debug >= 2)
491998944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bits_remove called\n");
492098944Sobrien  return gdbarch->addr_bits_remove (addr);
492198944Sobrien}
492298944Sobrien
492398944Sobrienvoid
492498944Sobrienset_gdbarch_addr_bits_remove (struct gdbarch *gdbarch,
492598944Sobrien                              gdbarch_addr_bits_remove_ftype addr_bits_remove)
492698944Sobrien{
492798944Sobrien  gdbarch->addr_bits_remove = addr_bits_remove;
492898944Sobrien}
492998944Sobrien
493098944SobrienCORE_ADDR
493198944Sobriengdbarch_smash_text_address (struct gdbarch *gdbarch, CORE_ADDR addr)
493298944Sobrien{
4933130803Smarcel  gdb_assert (gdbarch != NULL);
4934130803Smarcel  gdb_assert (gdbarch->smash_text_address != NULL);
493598944Sobrien  if (gdbarch_debug >= 2)
493698944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_smash_text_address called\n");
493798944Sobrien  return gdbarch->smash_text_address (addr);
493898944Sobrien}
493998944Sobrien
494098944Sobrienvoid
494198944Sobrienset_gdbarch_smash_text_address (struct gdbarch *gdbarch,
494298944Sobrien                                gdbarch_smash_text_address_ftype smash_text_address)
494398944Sobrien{
494498944Sobrien  gdbarch->smash_text_address = smash_text_address;
494598944Sobrien}
494698944Sobrien
494798944Sobrienint
494898944Sobriengdbarch_software_single_step_p (struct gdbarch *gdbarch)
494998944Sobrien{
4950130803Smarcel  gdb_assert (gdbarch != NULL);
4951130803Smarcel  return gdbarch->software_single_step != NULL;
495298944Sobrien}
495398944Sobrien
495498944Sobrienvoid
495598944Sobriengdbarch_software_single_step (struct gdbarch *gdbarch, enum target_signal sig, int insert_breakpoints_p)
495698944Sobrien{
4957130803Smarcel  gdb_assert (gdbarch != NULL);
4958130803Smarcel  gdb_assert (gdbarch->software_single_step != NULL);
495998944Sobrien  if (gdbarch_debug >= 2)
496098944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_software_single_step called\n");
496198944Sobrien  gdbarch->software_single_step (sig, insert_breakpoints_p);
496298944Sobrien}
496398944Sobrien
496498944Sobrienvoid
496598944Sobrienset_gdbarch_software_single_step (struct gdbarch *gdbarch,
496698944Sobrien                                  gdbarch_software_single_step_ftype software_single_step)
496798944Sobrien{
496898944Sobrien  gdbarch->software_single_step = software_single_step;
496998944Sobrien}
497098944Sobrien
497198944Sobrienint
4972130803Smarcelgdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info)
497398944Sobrien{
4974130803Smarcel  gdb_assert (gdbarch != NULL);
4975130803Smarcel  gdb_assert (gdbarch->print_insn != NULL);
497698944Sobrien  if (gdbarch_debug >= 2)
497798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_print_insn called\n");
497898944Sobrien  return gdbarch->print_insn (vma, info);
497998944Sobrien}
498098944Sobrien
498198944Sobrienvoid
498298944Sobrienset_gdbarch_print_insn (struct gdbarch *gdbarch,
498398944Sobrien                        gdbarch_print_insn_ftype print_insn)
498498944Sobrien{
498598944Sobrien  gdbarch->print_insn = print_insn;
498698944Sobrien}
498798944Sobrien
498898944SobrienCORE_ADDR
498998944Sobriengdbarch_skip_trampoline_code (struct gdbarch *gdbarch, CORE_ADDR pc)
499098944Sobrien{
4991130803Smarcel  gdb_assert (gdbarch != NULL);
4992130803Smarcel  gdb_assert (gdbarch->skip_trampoline_code != NULL);
499398944Sobrien  if (gdbarch_debug >= 2)
499498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_trampoline_code called\n");
499598944Sobrien  return gdbarch->skip_trampoline_code (pc);
499698944Sobrien}
499798944Sobrien
499898944Sobrienvoid
499998944Sobrienset_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch,
500098944Sobrien                                  gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
500198944Sobrien{
500298944Sobrien  gdbarch->skip_trampoline_code = skip_trampoline_code;
500398944Sobrien}
500498944Sobrien
5005130803SmarcelCORE_ADDR
5006130803Smarcelgdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
5007130803Smarcel{
5008130803Smarcel  gdb_assert (gdbarch != NULL);
5009130803Smarcel  gdb_assert (gdbarch->skip_solib_resolver != NULL);
5010130803Smarcel  if (gdbarch_debug >= 2)
5011130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_solib_resolver called\n");
5012130803Smarcel  return gdbarch->skip_solib_resolver (gdbarch, pc);
5013130803Smarcel}
5014130803Smarcel
5015130803Smarcelvoid
5016130803Smarcelset_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch,
5017130803Smarcel                                 gdbarch_skip_solib_resolver_ftype skip_solib_resolver)
5018130803Smarcel{
5019130803Smarcel  gdbarch->skip_solib_resolver = skip_solib_resolver;
5020130803Smarcel}
5021130803Smarcel
502298944Sobrienint
502398944Sobriengdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
502498944Sobrien{
5025130803Smarcel  gdb_assert (gdbarch != NULL);
5026130803Smarcel  gdb_assert (gdbarch->in_solib_call_trampoline != NULL);
502798944Sobrien  if (gdbarch_debug >= 2)
502898944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_call_trampoline called\n");
502998944Sobrien  return gdbarch->in_solib_call_trampoline (pc, name);
503098944Sobrien}
503198944Sobrien
503298944Sobrienvoid
503398944Sobrienset_gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch,
503498944Sobrien                                      gdbarch_in_solib_call_trampoline_ftype in_solib_call_trampoline)
503598944Sobrien{
503698944Sobrien  gdbarch->in_solib_call_trampoline = in_solib_call_trampoline;
503798944Sobrien}
503898944Sobrien
503998944Sobrienint
5040130803Smarcelgdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
5041130803Smarcel{
5042130803Smarcel  gdb_assert (gdbarch != NULL);
5043130803Smarcel  gdb_assert (gdbarch->in_solib_return_trampoline != NULL);
5044130803Smarcel  if (gdbarch_debug >= 2)
5045130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_return_trampoline called\n");
5046130803Smarcel  return gdbarch->in_solib_return_trampoline (pc, name);
5047130803Smarcel}
5048130803Smarcel
5049130803Smarcelvoid
5050130803Smarcelset_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
5051130803Smarcel                                        gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline)
5052130803Smarcel{
5053130803Smarcel  gdbarch->in_solib_return_trampoline = in_solib_return_trampoline;
5054130803Smarcel}
5055130803Smarcel
5056130803Smarcelint
5057130803Smarcelgdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
5058130803Smarcel{
5059130803Smarcel  gdb_assert (gdbarch != NULL);
5060130803Smarcel  gdb_assert (gdbarch->pc_in_sigtramp != NULL);
5061130803Smarcel  if (gdbarch_debug >= 2)
5062130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_in_sigtramp called\n");
5063130803Smarcel  return gdbarch->pc_in_sigtramp (pc, name);
5064130803Smarcel}
5065130803Smarcel
5066130803Smarcelvoid
5067130803Smarcelset_gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch,
5068130803Smarcel                            gdbarch_pc_in_sigtramp_ftype pc_in_sigtramp)
5069130803Smarcel{
5070130803Smarcel  gdbarch->pc_in_sigtramp = pc_in_sigtramp;
5071130803Smarcel}
5072130803Smarcel
5073130803Smarcelint
5074130803Smarcelgdbarch_sigtramp_start_p (struct gdbarch *gdbarch)
5075130803Smarcel{
5076130803Smarcel  gdb_assert (gdbarch != NULL);
5077130803Smarcel  return gdbarch->sigtramp_start != NULL;
5078130803Smarcel}
5079130803Smarcel
5080130803SmarcelCORE_ADDR
5081130803Smarcelgdbarch_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc)
5082130803Smarcel{
5083130803Smarcel  gdb_assert (gdbarch != NULL);
5084130803Smarcel  gdb_assert (gdbarch->sigtramp_start != NULL);
5085130803Smarcel  if (gdbarch_debug >= 2)
5086130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_start called\n");
5087130803Smarcel  return gdbarch->sigtramp_start (pc);
5088130803Smarcel}
5089130803Smarcel
5090130803Smarcelvoid
5091130803Smarcelset_gdbarch_sigtramp_start (struct gdbarch *gdbarch,
5092130803Smarcel                            gdbarch_sigtramp_start_ftype sigtramp_start)
5093130803Smarcel{
5094130803Smarcel  gdbarch->sigtramp_start = sigtramp_start;
5095130803Smarcel}
5096130803Smarcel
5097130803Smarcelint
5098130803Smarcelgdbarch_sigtramp_end_p (struct gdbarch *gdbarch)
5099130803Smarcel{
5100130803Smarcel  gdb_assert (gdbarch != NULL);
5101130803Smarcel  return gdbarch->sigtramp_end != NULL;
5102130803Smarcel}
5103130803Smarcel
5104130803SmarcelCORE_ADDR
5105130803Smarcelgdbarch_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc)
5106130803Smarcel{
5107130803Smarcel  gdb_assert (gdbarch != NULL);
5108130803Smarcel  gdb_assert (gdbarch->sigtramp_end != NULL);
5109130803Smarcel  if (gdbarch_debug >= 2)
5110130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_end called\n");
5111130803Smarcel  return gdbarch->sigtramp_end (pc);
5112130803Smarcel}
5113130803Smarcel
5114130803Smarcelvoid
5115130803Smarcelset_gdbarch_sigtramp_end (struct gdbarch *gdbarch,
5116130803Smarcel                          gdbarch_sigtramp_end_ftype sigtramp_end)
5117130803Smarcel{
5118130803Smarcel  gdbarch->sigtramp_end = sigtramp_end;
5119130803Smarcel}
5120130803Smarcel
5121130803Smarcelint
512298944Sobriengdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr)
512398944Sobrien{
5124130803Smarcel  gdb_assert (gdbarch != NULL);
5125130803Smarcel  gdb_assert (gdbarch->in_function_epilogue_p != NULL);
512698944Sobrien  if (gdbarch_debug >= 2)
512798944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_in_function_epilogue_p called\n");
512898944Sobrien  return gdbarch->in_function_epilogue_p (gdbarch, addr);
512998944Sobrien}
513098944Sobrien
513198944Sobrienvoid
513298944Sobrienset_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch,
513398944Sobrien                                    gdbarch_in_function_epilogue_p_ftype in_function_epilogue_p)
513498944Sobrien{
513598944Sobrien  gdbarch->in_function_epilogue_p = in_function_epilogue_p;
513698944Sobrien}
513798944Sobrien
513898944Sobrienchar *
513998944Sobriengdbarch_construct_inferior_arguments (struct gdbarch *gdbarch, int argc, char **argv)
514098944Sobrien{
5141130803Smarcel  gdb_assert (gdbarch != NULL);
5142130803Smarcel  gdb_assert (gdbarch->construct_inferior_arguments != NULL);
514398944Sobrien  if (gdbarch_debug >= 2)
514498944Sobrien    fprintf_unfiltered (gdb_stdlog, "gdbarch_construct_inferior_arguments called\n");
514598944Sobrien  return gdbarch->construct_inferior_arguments (gdbarch, argc, argv);
514698944Sobrien}
514798944Sobrien
514898944Sobrienvoid
514998944Sobrienset_gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch,
515098944Sobrien                                          gdbarch_construct_inferior_arguments_ftype construct_inferior_arguments)
515198944Sobrien{
515298944Sobrien  gdbarch->construct_inferior_arguments = construct_inferior_arguments;
515398944Sobrien}
515498944Sobrien
5155130803Smarcelvoid
5156130803Smarcelgdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym)
5157130803Smarcel{
5158130803Smarcel  gdb_assert (gdbarch != NULL);
5159130803Smarcel  gdb_assert (gdbarch->elf_make_msymbol_special != NULL);
5160130803Smarcel  if (gdbarch_debug >= 2)
5161130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_elf_make_msymbol_special called\n");
5162130803Smarcel  gdbarch->elf_make_msymbol_special (sym, msym);
5163130803Smarcel}
5164130803Smarcel
5165130803Smarcelvoid
5166130803Smarcelset_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch,
5167130803Smarcel                                      gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special)
5168130803Smarcel{
5169130803Smarcel  gdbarch->elf_make_msymbol_special = elf_make_msymbol_special;
5170130803Smarcel}
5171130803Smarcel
5172130803Smarcelvoid
5173130803Smarcelgdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym)
5174130803Smarcel{
5175130803Smarcel  gdb_assert (gdbarch != NULL);
5176130803Smarcel  gdb_assert (gdbarch->coff_make_msymbol_special != NULL);
5177130803Smarcel  if (gdbarch_debug >= 2)
5178130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_coff_make_msymbol_special called\n");
5179130803Smarcel  gdbarch->coff_make_msymbol_special (val, msym);
5180130803Smarcel}
5181130803Smarcel
5182130803Smarcelvoid
5183130803Smarcelset_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch,
5184130803Smarcel                                       gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special)
5185130803Smarcel{
5186130803Smarcel  gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
5187130803Smarcel}
5188130803Smarcel
5189130803Smarcelconst char *
5190130803Smarcelgdbarch_name_of_malloc (struct gdbarch *gdbarch)
5191130803Smarcel{
5192130803Smarcel  gdb_assert (gdbarch != NULL);
5193130803Smarcel  /* Skip verify of name_of_malloc, invalid_p == 0 */
5194130803Smarcel  if (gdbarch_debug >= 2)
5195130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_name_of_malloc called\n");
5196130803Smarcel  return gdbarch->name_of_malloc;
5197130803Smarcel}
5198130803Smarcel
5199130803Smarcelvoid
5200130803Smarcelset_gdbarch_name_of_malloc (struct gdbarch *gdbarch,
5201130803Smarcel                            const char * name_of_malloc)
5202130803Smarcel{
5203130803Smarcel  gdbarch->name_of_malloc = name_of_malloc;
5204130803Smarcel}
5205130803Smarcel
520698944Sobrienint
5207130803Smarcelgdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
520898944Sobrien{
5209130803Smarcel  gdb_assert (gdbarch != NULL);
5210130803Smarcel  /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
5211130803Smarcel  if (gdbarch_debug >= 2)
5212130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_step_breakpoint called\n");
5213130803Smarcel  return gdbarch->cannot_step_breakpoint;
521498944Sobrien}
521598944Sobrien
521698944Sobrienvoid
5217130803Smarcelset_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch,
5218130803Smarcel                                    int cannot_step_breakpoint)
521998944Sobrien{
5220130803Smarcel  gdbarch->cannot_step_breakpoint = cannot_step_breakpoint;
5221130803Smarcel}
5222130803Smarcel
5223130803Smarcelint
5224130803Smarcelgdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch)
5225130803Smarcel{
5226130803Smarcel  gdb_assert (gdbarch != NULL);
5227130803Smarcel  /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
522898944Sobrien  if (gdbarch_debug >= 2)
5229130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_have_nonsteppable_watchpoint called\n");
5230130803Smarcel  return gdbarch->have_nonsteppable_watchpoint;
523198944Sobrien}
523298944Sobrien
523398944Sobrienvoid
5234130803Smarcelset_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch,
5235130803Smarcel                                          int have_nonsteppable_watchpoint)
523698944Sobrien{
5237130803Smarcel  gdbarch->have_nonsteppable_watchpoint = have_nonsteppable_watchpoint;
523898944Sobrien}
523998944Sobrien
5240130803Smarcelint
5241130803Smarcelgdbarch_address_class_type_flags_p (struct gdbarch *gdbarch)
5242130803Smarcel{
5243130803Smarcel  gdb_assert (gdbarch != NULL);
5244130803Smarcel  return gdbarch->address_class_type_flags != NULL;
5245130803Smarcel}
5246130803Smarcel
5247130803Smarcelint
5248130803Smarcelgdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class)
5249130803Smarcel{
5250130803Smarcel  gdb_assert (gdbarch != NULL);
5251130803Smarcel  gdb_assert (gdbarch->address_class_type_flags != NULL);
5252130803Smarcel  if (gdbarch_debug >= 2)
5253130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags called\n");
5254130803Smarcel  return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class);
5255130803Smarcel}
5256130803Smarcel
525798944Sobrienvoid
5258130803Smarcelset_gdbarch_address_class_type_flags (struct gdbarch *gdbarch,
5259130803Smarcel                                      gdbarch_address_class_type_flags_ftype address_class_type_flags)
526098944Sobrien{
5261130803Smarcel  gdbarch->address_class_type_flags = address_class_type_flags;
5262130803Smarcel}
5263130803Smarcel
5264130803Smarcelint
5265130803Smarcelgdbarch_address_class_type_flags_to_name_p (struct gdbarch *gdbarch)
5266130803Smarcel{
5267130803Smarcel  gdb_assert (gdbarch != NULL);
5268130803Smarcel  return gdbarch->address_class_type_flags_to_name != NULL;
5269130803Smarcel}
5270130803Smarcel
5271130803Smarcelconst char *
5272130803Smarcelgdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
5273130803Smarcel{
5274130803Smarcel  gdb_assert (gdbarch != NULL);
5275130803Smarcel  gdb_assert (gdbarch->address_class_type_flags_to_name != NULL);
527698944Sobrien  if (gdbarch_debug >= 2)
5277130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_type_flags_to_name called\n");
5278130803Smarcel  return gdbarch->address_class_type_flags_to_name (gdbarch, type_flags);
527998944Sobrien}
528098944Sobrien
528198944Sobrienvoid
5282130803Smarcelset_gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch,
5283130803Smarcel                                              gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name)
528498944Sobrien{
5285130803Smarcel  gdbarch->address_class_type_flags_to_name = address_class_type_flags_to_name;
528698944Sobrien}
528798944Sobrien
5288130803Smarcelint
5289130803Smarcelgdbarch_address_class_name_to_type_flags_p (struct gdbarch *gdbarch)
5290130803Smarcel{
5291130803Smarcel  gdb_assert (gdbarch != NULL);
5292130803Smarcel  return gdbarch->address_class_name_to_type_flags != NULL;
5293130803Smarcel}
5294130803Smarcel
5295130803Smarcelint
5296130803Smarcelgdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, int *type_flags_ptr)
5297130803Smarcel{
5298130803Smarcel  gdb_assert (gdbarch != NULL);
5299130803Smarcel  gdb_assert (gdbarch->address_class_name_to_type_flags != NULL);
5300130803Smarcel  if (gdbarch_debug >= 2)
5301130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_address_class_name_to_type_flags called\n");
5302130803Smarcel  return gdbarch->address_class_name_to_type_flags (gdbarch, name, type_flags_ptr);
5303130803Smarcel}
5304130803Smarcel
530598944Sobrienvoid
5306130803Smarcelset_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
5307130803Smarcel                                              gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags)
530898944Sobrien{
5309130803Smarcel  gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags;
5310130803Smarcel}
5311130803Smarcel
5312130803Smarcelint
5313130803Smarcelgdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
5314130803Smarcel{
5315130803Smarcel  gdb_assert (gdbarch != NULL);
5316130803Smarcel  gdb_assert (gdbarch->register_reggroup_p != NULL);
531798944Sobrien  if (gdbarch_debug >= 2)
5318130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_reggroup_p called\n");
5319130803Smarcel  return gdbarch->register_reggroup_p (gdbarch, regnum, reggroup);
532098944Sobrien}
532198944Sobrien
532298944Sobrienvoid
5323130803Smarcelset_gdbarch_register_reggroup_p (struct gdbarch *gdbarch,
5324130803Smarcel                                 gdbarch_register_reggroup_p_ftype register_reggroup_p)
532598944Sobrien{
5326130803Smarcel  gdbarch->register_reggroup_p = register_reggroup_p;
532798944Sobrien}
532898944Sobrien
5329130803Smarcelint
5330130803Smarcelgdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch)
5331130803Smarcel{
5332130803Smarcel  gdb_assert (gdbarch != NULL);
5333130803Smarcel  return gdbarch->fetch_pointer_argument != NULL;
5334130803Smarcel}
533598944Sobrien
5336130803SmarcelCORE_ADDR
5337130803Smarcelgdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type)
5338130803Smarcel{
5339130803Smarcel  gdb_assert (gdbarch != NULL);
5340130803Smarcel  gdb_assert (gdbarch->fetch_pointer_argument != NULL);
5341130803Smarcel  if (gdbarch_debug >= 2)
5342130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n");
5343130803Smarcel  return gdbarch->fetch_pointer_argument (frame, argi, type);
5344130803Smarcel}
5345130803Smarcel
5346130803Smarcelvoid
5347130803Smarcelset_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch,
5348130803Smarcel                                    gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument)
5349130803Smarcel{
5350130803Smarcel  gdbarch->fetch_pointer_argument = fetch_pointer_argument;
5351130803Smarcel}
5352130803Smarcel
5353130803Smarcelint
5354130803Smarcelgdbarch_regset_from_core_section_p (struct gdbarch *gdbarch)
5355130803Smarcel{
5356130803Smarcel  gdb_assert (gdbarch != NULL);
5357130803Smarcel  return gdbarch->regset_from_core_section != NULL;
5358130803Smarcel}
5359130803Smarcel
5360130803Smarcelconst struct regset *
5361130803Smarcelgdbarch_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
5362130803Smarcel{
5363130803Smarcel  gdb_assert (gdbarch != NULL);
5364130803Smarcel  gdb_assert (gdbarch->regset_from_core_section != NULL);
5365130803Smarcel  if (gdbarch_debug >= 2)
5366130803Smarcel    fprintf_unfiltered (gdb_stdlog, "gdbarch_regset_from_core_section called\n");
5367130803Smarcel  return gdbarch->regset_from_core_section (gdbarch, sect_name, sect_size);
5368130803Smarcel}
5369130803Smarcel
5370130803Smarcelvoid
5371130803Smarcelset_gdbarch_regset_from_core_section (struct gdbarch *gdbarch,
5372130803Smarcel                                      gdbarch_regset_from_core_section_ftype regset_from_core_section)
5373130803Smarcel{
5374130803Smarcel  gdbarch->regset_from_core_section = regset_from_core_section;
5375130803Smarcel}
5376130803Smarcel
5377130803Smarcel
537898944Sobrien/* Keep a registry of per-architecture data-pointers required by GDB
537998944Sobrien   modules. */
538098944Sobrien
538198944Sobrienstruct gdbarch_data
538298944Sobrien{
538398944Sobrien  unsigned index;
5384130803Smarcel  int init_p;
538598944Sobrien  gdbarch_data_init_ftype *init;
538698944Sobrien};
538798944Sobrien
538898944Sobrienstruct gdbarch_data_registration
538998944Sobrien{
539098944Sobrien  struct gdbarch_data *data;
539198944Sobrien  struct gdbarch_data_registration *next;
539298944Sobrien};
539398944Sobrien
539498944Sobrienstruct gdbarch_data_registry
539598944Sobrien{
539698944Sobrien  unsigned nr;
539798944Sobrien  struct gdbarch_data_registration *registrations;
539898944Sobrien};
539998944Sobrien
540098944Sobrienstruct gdbarch_data_registry gdbarch_data_registry =
540198944Sobrien{
540298944Sobrien  0, NULL,
540398944Sobrien};
540498944Sobrien
540598944Sobrienstruct gdbarch_data *
5406130803Smarcelregister_gdbarch_data (gdbarch_data_init_ftype *init)
540798944Sobrien{
540898944Sobrien  struct gdbarch_data_registration **curr;
5409130803Smarcel  /* Append the new registraration.  */
541098944Sobrien  for (curr = &gdbarch_data_registry.registrations;
541198944Sobrien       (*curr) != NULL;
541298944Sobrien       curr = &(*curr)->next);
541398944Sobrien  (*curr) = XMALLOC (struct gdbarch_data_registration);
541498944Sobrien  (*curr)->next = NULL;
541598944Sobrien  (*curr)->data = XMALLOC (struct gdbarch_data);
541698944Sobrien  (*curr)->data->index = gdbarch_data_registry.nr++;
541798944Sobrien  (*curr)->data->init = init;
5418130803Smarcel  (*curr)->data->init_p = 1;
541998944Sobrien  return (*curr)->data;
542098944Sobrien}
542198944Sobrien
542298944Sobrien
542398944Sobrien/* Create/delete the gdbarch data vector. */
542498944Sobrien
542546283Sdfrstatic void
542698944Sobrienalloc_gdbarch_data (struct gdbarch *gdbarch)
542746283Sdfr{
542898944Sobrien  gdb_assert (gdbarch->data == NULL);
542998944Sobrien  gdbarch->nr_data = gdbarch_data_registry.nr;
5430130803Smarcel  gdbarch->data = GDBARCH_OBSTACK_CALLOC (gdbarch, gdbarch->nr_data, void *);
543146283Sdfr}
543246283Sdfr
5433130803Smarcel/* Initialize the current value of the specified per-architecture
543498944Sobrien   data-pointer. */
543546283Sdfr
543698944Sobrienvoid
543798944Sobrienset_gdbarch_data (struct gdbarch *gdbarch,
543898944Sobrien                  struct gdbarch_data *data,
543998944Sobrien                  void *pointer)
544098944Sobrien{
544198944Sobrien  gdb_assert (data->index < gdbarch->nr_data);
5442130803Smarcel  gdb_assert (gdbarch->data[data->index] == NULL);
544398944Sobrien  gdbarch->data[data->index] = pointer;
544498944Sobrien}
544546283Sdfr
544698944Sobrien/* Return the current value of the specified per-architecture
544798944Sobrien   data-pointer. */
544846283Sdfr
544998944Sobrienvoid *
5450130803Smarcelgdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
545198944Sobrien{
5452130803Smarcel  gdb_assert (data->index < gdbarch->nr_data);
5453130803Smarcel  /* The data-pointer isn't initialized, call init() to get a value but
5454130803Smarcel     only if the architecture initializaiton has completed.  Otherwise
5455130803Smarcel     punt - hope that the caller knows what they are doing.  */
5456130803Smarcel  if (gdbarch->data[data->index] == NULL
5457130803Smarcel      && gdbarch->initialized_p)
5458130803Smarcel    {
5459130803Smarcel      /* Be careful to detect an initialization cycle.  */
5460130803Smarcel      gdb_assert (data->init_p);
5461130803Smarcel      data->init_p = 0;
5462130803Smarcel      gdb_assert (data->init != NULL);
5463130803Smarcel      gdbarch->data[data->index] = data->init (gdbarch);
5464130803Smarcel      data->init_p = 1;
5465130803Smarcel      gdb_assert (gdbarch->data[data->index] != NULL);
5466130803Smarcel    }
5467130803Smarcel  return gdbarch->data[data->index];
546898944Sobrien}
546998944Sobrien
547098944Sobrien
547198944Sobrien
547298944Sobrien/* Keep a registry of swapped data required by GDB modules. */
547398944Sobrien
547498944Sobrienstruct gdbarch_swap
547598944Sobrien{
547698944Sobrien  void *swap;
547798944Sobrien  struct gdbarch_swap_registration *source;
547898944Sobrien  struct gdbarch_swap *next;
547998944Sobrien};
548098944Sobrien
548198944Sobrienstruct gdbarch_swap_registration
548298944Sobrien{
548398944Sobrien  void *data;
548498944Sobrien  unsigned long sizeof_data;
548598944Sobrien  gdbarch_swap_ftype *init;
548698944Sobrien  struct gdbarch_swap_registration *next;
548798944Sobrien};
548898944Sobrien
548998944Sobrienstruct gdbarch_swap_registry
549098944Sobrien{
549198944Sobrien  int nr;
549298944Sobrien  struct gdbarch_swap_registration *registrations;
549398944Sobrien};
549498944Sobrien
549598944Sobrienstruct gdbarch_swap_registry gdbarch_swap_registry =
549698944Sobrien{
549798944Sobrien  0, NULL,
549898944Sobrien};
549998944Sobrien
550098944Sobrienvoid
5501130803Smarceldeprecated_register_gdbarch_swap (void *data,
5502130803Smarcel		                  unsigned long sizeof_data,
5503130803Smarcel		                  gdbarch_swap_ftype *init)
550498944Sobrien{
550598944Sobrien  struct gdbarch_swap_registration **rego;
550698944Sobrien  for (rego = &gdbarch_swap_registry.registrations;
550798944Sobrien       (*rego) != NULL;
550898944Sobrien       rego = &(*rego)->next);
550998944Sobrien  (*rego) = XMALLOC (struct gdbarch_swap_registration);
551098944Sobrien  (*rego)->next = NULL;
551198944Sobrien  (*rego)->init = init;
551298944Sobrien  (*rego)->data = data;
551398944Sobrien  (*rego)->sizeof_data = sizeof_data;
551498944Sobrien}
551598944Sobrien
551646283Sdfrstatic void
5517130803Smarcelcurrent_gdbarch_swap_init_hack (void)
551846283Sdfr{
551998944Sobrien  struct gdbarch_swap_registration *rego;
5520130803Smarcel  struct gdbarch_swap **curr = &current_gdbarch->swap;
552198944Sobrien  for (rego = gdbarch_swap_registry.registrations;
552298944Sobrien       rego != NULL;
552398944Sobrien       rego = rego->next)
552446283Sdfr    {
552598944Sobrien      if (rego->data != NULL)
552698944Sobrien	{
5527130803Smarcel	  (*curr) = GDBARCH_OBSTACK_ZALLOC (current_gdbarch,
5528130803Smarcel					    struct gdbarch_swap);
552998944Sobrien	  (*curr)->source = rego;
5530130803Smarcel	  (*curr)->swap = gdbarch_obstack_zalloc (current_gdbarch,
5531130803Smarcel						  rego->sizeof_data);
553298944Sobrien	  (*curr)->next = NULL;
553398944Sobrien	  curr = &(*curr)->next;
553498944Sobrien	}
553598944Sobrien      if (rego->init != NULL)
553698944Sobrien	rego->init ();
553746283Sdfr    }
553846283Sdfr}
553946283Sdfr
5540130803Smarcelstatic struct gdbarch *
5541130803Smarcelcurrent_gdbarch_swap_out_hack (void)
554246283Sdfr{
5543130803Smarcel  struct gdbarch *old_gdbarch = current_gdbarch;
554498944Sobrien  struct gdbarch_swap *curr;
5545130803Smarcel
5546130803Smarcel  gdb_assert (old_gdbarch != NULL);
5547130803Smarcel  for (curr = old_gdbarch->swap;
554898944Sobrien       curr != NULL;
554998944Sobrien       curr = curr->next)
5550130803Smarcel    {
5551130803Smarcel      memcpy (curr->swap, curr->source->data, curr->source->sizeof_data);
5552130803Smarcel      memset (curr->source->data, 0, curr->source->sizeof_data);
5553130803Smarcel    }
5554130803Smarcel  current_gdbarch = NULL;
5555130803Smarcel  return old_gdbarch;
555646283Sdfr}
555746283Sdfr
555846283Sdfrstatic void
5559130803Smarcelcurrent_gdbarch_swap_in_hack (struct gdbarch *new_gdbarch)
556046283Sdfr{
556198944Sobrien  struct gdbarch_swap *curr;
5562130803Smarcel
5563130803Smarcel  gdb_assert (current_gdbarch == NULL);
5564130803Smarcel  for (curr = new_gdbarch->swap;
556598944Sobrien       curr != NULL;
556698944Sobrien       curr = curr->next)
556798944Sobrien    memcpy (curr->source->data, curr->swap, curr->source->sizeof_data);
5568130803Smarcel  current_gdbarch = new_gdbarch;
556946283Sdfr}
557046283Sdfr
557198944Sobrien
557298944Sobrien/* Keep a registry of the architectures known by GDB. */
557398944Sobrien
557498944Sobrienstruct gdbarch_registration
557598944Sobrien{
557698944Sobrien  enum bfd_architecture bfd_architecture;
557798944Sobrien  gdbarch_init_ftype *init;
557898944Sobrien  gdbarch_dump_tdep_ftype *dump_tdep;
557998944Sobrien  struct gdbarch_list *arches;
558098944Sobrien  struct gdbarch_registration *next;
558198944Sobrien};
558298944Sobrien
558398944Sobrienstatic struct gdbarch_registration *gdbarch_registry = NULL;
558498944Sobrien
558546283Sdfrstatic void
558698944Sobrienappend_name (const char ***buf, int *nr, const char *name)
558746283Sdfr{
558898944Sobrien  *buf = xrealloc (*buf, sizeof (char**) * (*nr + 1));
558998944Sobrien  (*buf)[*nr] = name;
559098944Sobrien  *nr += 1;
559198944Sobrien}
559298944Sobrien
559398944Sobrienconst char **
559498944Sobriengdbarch_printable_names (void)
559598944Sobrien{
5596130803Smarcel  /* Accumulate a list of names based on the registed list of
5597130803Smarcel     architectures. */
5598130803Smarcel  enum bfd_architecture a;
5599130803Smarcel  int nr_arches = 0;
5600130803Smarcel  const char **arches = NULL;
5601130803Smarcel  struct gdbarch_registration *rego;
5602130803Smarcel  for (rego = gdbarch_registry;
5603130803Smarcel       rego != NULL;
5604130803Smarcel       rego = rego->next)
560546283Sdfr    {
5606130803Smarcel      const struct bfd_arch_info *ap;
5607130803Smarcel      ap = bfd_lookup_arch (rego->bfd_architecture, 0);
5608130803Smarcel      if (ap == NULL)
5609130803Smarcel        internal_error (__FILE__, __LINE__,
5610130803Smarcel                        "gdbarch_architecture_names: multi-arch unknown");
5611130803Smarcel      do
5612130803Smarcel        {
5613130803Smarcel          append_name (&arches, &nr_arches, ap->printable_name);
5614130803Smarcel          ap = ap->next;
5615130803Smarcel        }
5616130803Smarcel      while (ap != NULL);
561746283Sdfr    }
5618130803Smarcel  append_name (&arches, &nr_arches, NULL);
5619130803Smarcel  return arches;
562046283Sdfr}
562146283Sdfr
562298944Sobrien
562346283Sdfrvoid
562498944Sobriengdbarch_register (enum bfd_architecture bfd_architecture,
562598944Sobrien                  gdbarch_init_ftype *init,
562698944Sobrien		  gdbarch_dump_tdep_ftype *dump_tdep)
562746283Sdfr{
562898944Sobrien  struct gdbarch_registration **curr;
562998944Sobrien  const struct bfd_arch_info *bfd_arch_info;
563098944Sobrien  /* Check that BFD recognizes this architecture */
563198944Sobrien  bfd_arch_info = bfd_lookup_arch (bfd_architecture, 0);
563298944Sobrien  if (bfd_arch_info == NULL)
563398944Sobrien    {
563498944Sobrien      internal_error (__FILE__, __LINE__,
563598944Sobrien                      "gdbarch: Attempt to register unknown architecture (%d)",
563698944Sobrien                      bfd_architecture);
563798944Sobrien    }
563898944Sobrien  /* Check that we haven't seen this architecture before */
563998944Sobrien  for (curr = &gdbarch_registry;
564098944Sobrien       (*curr) != NULL;
564198944Sobrien       curr = &(*curr)->next)
564298944Sobrien    {
564398944Sobrien      if (bfd_architecture == (*curr)->bfd_architecture)
564498944Sobrien	internal_error (__FILE__, __LINE__,
564598944Sobrien                        "gdbarch: Duplicate registraration of architecture (%s)",
564698944Sobrien	                bfd_arch_info->printable_name);
564798944Sobrien    }
564898944Sobrien  /* log it */
564998944Sobrien  if (gdbarch_debug)
565098944Sobrien    fprintf_unfiltered (gdb_stdlog, "register_gdbarch_init (%s, 0x%08lx)\n",
565198944Sobrien			bfd_arch_info->printable_name,
565298944Sobrien			(long) init);
565398944Sobrien  /* Append it */
565498944Sobrien  (*curr) = XMALLOC (struct gdbarch_registration);
565598944Sobrien  (*curr)->bfd_architecture = bfd_architecture;
565698944Sobrien  (*curr)->init = init;
565798944Sobrien  (*curr)->dump_tdep = dump_tdep;
565898944Sobrien  (*curr)->arches = NULL;
565998944Sobrien  (*curr)->next = NULL;
566046283Sdfr}
566146283Sdfr
566298944Sobrienvoid
566398944Sobrienregister_gdbarch_init (enum bfd_architecture bfd_architecture,
566498944Sobrien		       gdbarch_init_ftype *init)
566546283Sdfr{
566698944Sobrien  gdbarch_register (bfd_architecture, init, NULL);
566798944Sobrien}
566898944Sobrien
566998944Sobrien
567098944Sobrien/* Look for an architecture using gdbarch_info.  Base search on only
567198944Sobrien   BFD_ARCH_INFO and BYTE_ORDER. */
567298944Sobrien
567398944Sobrienstruct gdbarch_list *
567498944Sobriengdbarch_list_lookup_by_info (struct gdbarch_list *arches,
567598944Sobrien                             const struct gdbarch_info *info)
567698944Sobrien{
567798944Sobrien  for (; arches != NULL; arches = arches->next)
567846283Sdfr    {
567998944Sobrien      if (info->bfd_arch_info != arches->gdbarch->bfd_arch_info)
568098944Sobrien	continue;
568198944Sobrien      if (info->byte_order != arches->gdbarch->byte_order)
568298944Sobrien	continue;
5683130803Smarcel      if (info->osabi != arches->gdbarch->osabi)
5684130803Smarcel	continue;
568598944Sobrien      return arches;
568646283Sdfr    }
568798944Sobrien  return NULL;
568898944Sobrien}
568998944Sobrien
569098944Sobrien
5691130803Smarcel/* Find an architecture that matches the specified INFO.  Create a new
5692130803Smarcel   architecture if needed.  Return that new architecture.  Assumes
5693130803Smarcel   that there is no current architecture.  */
569498944Sobrien
5695130803Smarcelstatic struct gdbarch *
5696130803Smarcelfind_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
569798944Sobrien{
569898944Sobrien  struct gdbarch *new_gdbarch;
569998944Sobrien  struct gdbarch_registration *rego;
570098944Sobrien
5701130803Smarcel  /* The existing architecture has been swapped out - all this code
5702130803Smarcel     works from a clean slate.  */
5703130803Smarcel  gdb_assert (current_gdbarch == NULL);
5704130803Smarcel
570598944Sobrien  /* Fill in missing parts of the INFO struct using a number of
5706130803Smarcel     sources: "set ..."; INFOabfd supplied; and the existing
5707130803Smarcel     architecture.  */
5708130803Smarcel  gdbarch_info_fill (old_gdbarch, &info);
570998944Sobrien
571098944Sobrien  /* Must have found some sort of architecture. */
571198944Sobrien  gdb_assert (info.bfd_arch_info != NULL);
571298944Sobrien
571398944Sobrien  if (gdbarch_debug)
571446283Sdfr    {
571598944Sobrien      fprintf_unfiltered (gdb_stdlog,
5716130803Smarcel			  "find_arch_by_info: info.bfd_arch_info %s\n",
571798944Sobrien			  (info.bfd_arch_info != NULL
571898944Sobrien			   ? info.bfd_arch_info->printable_name
571998944Sobrien			   : "(null)"));
572098944Sobrien      fprintf_unfiltered (gdb_stdlog,
5721130803Smarcel			  "find_arch_by_info: info.byte_order %d (%s)\n",
572298944Sobrien			  info.byte_order,
572398944Sobrien			  (info.byte_order == BFD_ENDIAN_BIG ? "big"
572498944Sobrien			   : info.byte_order == BFD_ENDIAN_LITTLE ? "little"
572598944Sobrien			   : "default"));
572698944Sobrien      fprintf_unfiltered (gdb_stdlog,
5727130803Smarcel			  "find_arch_by_info: info.osabi %d (%s)\n",
5728130803Smarcel			  info.osabi, gdbarch_osabi_name (info.osabi));
5729130803Smarcel      fprintf_unfiltered (gdb_stdlog,
5730130803Smarcel			  "find_arch_by_info: info.abfd 0x%lx\n",
573198944Sobrien			  (long) info.abfd);
573298944Sobrien      fprintf_unfiltered (gdb_stdlog,
5733130803Smarcel			  "find_arch_by_info: info.tdep_info 0x%lx\n",
573498944Sobrien			  (long) info.tdep_info);
573546283Sdfr    }
573646283Sdfr
5737130803Smarcel  /* Find the tdep code that knows about this architecture.  */
573898944Sobrien  for (rego = gdbarch_registry;
573998944Sobrien       rego != NULL;
574098944Sobrien       rego = rego->next)
574198944Sobrien    if (rego->bfd_architecture == info.bfd_arch_info->arch)
574298944Sobrien      break;
574398944Sobrien  if (rego == NULL)
574498944Sobrien    {
574598944Sobrien      if (gdbarch_debug)
5746130803Smarcel	fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5747130803Smarcel			    "No matching architecture\n");
574898944Sobrien      return 0;
574998944Sobrien    }
575046283Sdfr
5751130803Smarcel  /* Ask the tdep code for an architecture that matches "info".  */
575298944Sobrien  new_gdbarch = rego->init (info, rego->arches);
575346283Sdfr
5754130803Smarcel  /* Did the tdep code like it?  No.  Reject the change and revert to
5755130803Smarcel     the old architecture.  */
575698944Sobrien  if (new_gdbarch == NULL)
575798944Sobrien    {
575898944Sobrien      if (gdbarch_debug)
5759130803Smarcel	fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5760130803Smarcel			    "Target rejected architecture\n");
5761130803Smarcel      return NULL;
576298944Sobrien    }
576346283Sdfr
5764130803Smarcel  /* Is this a pre-existing architecture (as determined by already
5765130803Smarcel     being initialized)?  Move it to the front of the architecture
5766130803Smarcel     list (keeping the list sorted Most Recently Used).  */
5767130803Smarcel  if (new_gdbarch->initialized_p)
576898944Sobrien    {
5769130803Smarcel      struct gdbarch_list **list;
5770130803Smarcel      struct gdbarch_list *this;
577198944Sobrien      if (gdbarch_debug)
5772130803Smarcel	fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5773130803Smarcel			    "Previous architecture 0x%08lx (%s) selected\n",
577498944Sobrien			    (long) new_gdbarch,
577598944Sobrien			    new_gdbarch->bfd_arch_info->printable_name);
5776130803Smarcel      /* Find the existing arch in the list.  */
5777130803Smarcel      for (list = &rego->arches;
5778130803Smarcel	   (*list) != NULL && (*list)->gdbarch != new_gdbarch;
5779130803Smarcel	   list = &(*list)->next);
5780130803Smarcel      /* It had better be in the list of architectures.  */
5781130803Smarcel      gdb_assert ((*list) != NULL && (*list)->gdbarch == new_gdbarch);
5782130803Smarcel      /* Unlink THIS.  */
5783130803Smarcel      this = (*list);
5784130803Smarcel      (*list) = this->next;
5785130803Smarcel      /* Insert THIS at the front.  */
5786130803Smarcel      this->next = rego->arches;
5787130803Smarcel      rego->arches = this;
5788130803Smarcel      /* Return it.  */
5789130803Smarcel      return new_gdbarch;
579098944Sobrien    }
579146283Sdfr
5792130803Smarcel  /* It's a new architecture.  */
579398944Sobrien  if (gdbarch_debug)
5794130803Smarcel    fprintf_unfiltered (gdb_stdlog, "find_arch_by_info: "
5795130803Smarcel			"New architecture 0x%08lx (%s) selected\n",
5796130803Smarcel			(long) new_gdbarch,
5797130803Smarcel			new_gdbarch->bfd_arch_info->printable_name);
579898944Sobrien
5799130803Smarcel  /* Insert the new architecture into the front of the architecture
5800130803Smarcel     list (keep the list sorted Most Recently Used).  */
5801130803Smarcel  {
5802130803Smarcel    struct gdbarch_list *this = XMALLOC (struct gdbarch_list);
5803130803Smarcel    this->next = rego->arches;
5804130803Smarcel    this->gdbarch = new_gdbarch;
5805130803Smarcel    rego->arches = this;
5806130803Smarcel  }
5807130803Smarcel
580898944Sobrien  /* Check that the newly installed architecture is valid.  Plug in
580998944Sobrien     any post init values.  */
581098944Sobrien  new_gdbarch->dump_tdep = rego->dump_tdep;
581198944Sobrien  verify_gdbarch (new_gdbarch);
5812130803Smarcel  new_gdbarch->initialized_p = 1;
581398944Sobrien
5814130803Smarcel  /* Initialize any per-architecture swap areas.  This phase requires
5815130803Smarcel     a valid global CURRENT_GDBARCH.  Set it momentarially, and then
5816130803Smarcel     swap the entire architecture out.  */
5817130803Smarcel  current_gdbarch = new_gdbarch;
5818130803Smarcel  current_gdbarch_swap_init_hack ();
5819130803Smarcel  current_gdbarch_swap_out_hack ();
582098944Sobrien
582198944Sobrien  if (gdbarch_debug)
5822130803Smarcel    gdbarch_dump (new_gdbarch, gdb_stdlog);
582398944Sobrien
5824130803Smarcel  return new_gdbarch;
582546283Sdfr}
582646283Sdfr
5827130803Smarcelstruct gdbarch *
5828130803Smarcelgdbarch_find_by_info (struct gdbarch_info info)
5829130803Smarcel{
5830130803Smarcel  /* Save the previously selected architecture, setting the global to
5831130803Smarcel     NULL.  This stops things like gdbarch->init() trying to use the
5832130803Smarcel     previous architecture's configuration.  The previous architecture
5833130803Smarcel     may not even be of the same architecture family.  The most recent
5834130803Smarcel     architecture of the same family is found at the head of the
5835130803Smarcel     rego->arches list.  */
5836130803Smarcel  struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();
583746283Sdfr
5838130803Smarcel  /* Find the specified architecture.  */
5839130803Smarcel  struct gdbarch *new_gdbarch = find_arch_by_info (old_gdbarch, info);
584098944Sobrien
5841130803Smarcel  /* Restore the existing architecture.  */
5842130803Smarcel  gdb_assert (current_gdbarch == NULL);
5843130803Smarcel  current_gdbarch_swap_in_hack (old_gdbarch);
584498944Sobrien
5845130803Smarcel  return new_gdbarch;
5846130803Smarcel}
584798944Sobrien
5848130803Smarcel/* Make the specified architecture current, swapping the existing one
5849130803Smarcel   out.  */
5850130803Smarcel
5851130803Smarcelvoid
5852130803Smarceldeprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)
5853130803Smarcel{
5854130803Smarcel  gdb_assert (new_gdbarch != NULL);
5855130803Smarcel  gdb_assert (current_gdbarch != NULL);
5856130803Smarcel  gdb_assert (new_gdbarch->initialized_p);
5857130803Smarcel  current_gdbarch_swap_out_hack ();
5858130803Smarcel  current_gdbarch_swap_in_hack (new_gdbarch);
5859130803Smarcel  architecture_changed_event ();
5860130803Smarcel}
5861130803Smarcel
586298944Sobrienextern void _initialize_gdbarch (void);
586398944Sobrien
586446283Sdfrvoid
586598944Sobrien_initialize_gdbarch (void)
586646283Sdfr{
586798944Sobrien  struct cmd_list_element *c;
586846283Sdfr
586998944Sobrien  add_show_from_set (add_set_cmd ("arch",
587046283Sdfr				  class_maintenance,
587146283Sdfr				  var_zinteger,
587246283Sdfr				  (char *)&gdbarch_debug,
587346283Sdfr				  "Set architecture debugging.\n\
587498944SobrienWhen non-zero, architecture debugging is enabled.", &setdebuglist),
587598944Sobrien		     &showdebuglist);
587698944Sobrien  c = add_set_cmd ("archdebug",
587798944Sobrien		   class_maintenance,
587898944Sobrien		   var_zinteger,
587998944Sobrien		   (char *)&gdbarch_debug,
588098944Sobrien		   "Set architecture debugging.\n\
588198944SobrienWhen non-zero, architecture debugging is enabled.", &setlist);
588298944Sobrien
588398944Sobrien  deprecate_cmd (c, "set debug arch");
588498944Sobrien  deprecate_cmd (add_show_from_set (c, &showlist), "show debug arch");
588546283Sdfr}
5886