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