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