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