1 /* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
4 /* Dynamic architecture support for GDB, the GNU debugger.
6 Copyright (C) 1998-2020 Free Software Foundation, Inc.
8 This file is part of GDB.
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* This file was created with the aid of ``gdbarch.sh''. */
27 #include "arch-utils.h"
33 #include "floatformat.h"
34 #include "reggroups.h"
36 #include "gdb_obstack.h"
37 #include "observable.h"
41 #include "frame-unwind.h"
42 #include "dummy-frame.h"
44 /* Static function declarations */
46 static void alloc_gdbarch_data (struct gdbarch
*);
48 /* Non-zero if we want to trace architecture code. */
51 #define GDBARCH_DEBUG 0
53 unsigned int gdbarch_debug
= GDBARCH_DEBUG
;
55 show_gdbarch_debug (struct ui_file
*file
, int from_tty
,
56 struct cmd_list_element
*c
, const char *value
)
58 fprintf_filtered (file
, _("Architecture debugging is %s.\n"), value
);
62 pformat (const struct floatformat
**format
)
67 /* Just print out one of them - this is only for diagnostics. */
68 return format
[0]->name
;
72 pstring (const char *string
)
80 pstring_ptr (char **string
)
82 if (string
== NULL
|| *string
== NULL
)
87 /* Helper function to print a list of strings, represented as "const
88 char *const *". The list is printed comma-separated. */
91 pstring_list (const char *const *list
)
101 for (p
= list
; *p
!= NULL
&& offset
< sizeof (ret
); ++p
)
103 size_t s
= xsnprintf (ret
+ offset
, sizeof (ret
) - offset
, "%s, ", *p
);
109 gdb_assert (offset
- 2 < sizeof (ret
));
110 ret
[offset
- 2] = '\0';
117 /* Maintain the struct gdbarch object. */
121 /* Has this architecture been fully initialized? */
124 /* An obstack bound to the lifetime of the architecture. */
125 struct obstack
*obstack
;
127 /* basic architectural information. */
128 const struct bfd_arch_info
* bfd_arch_info
;
129 enum bfd_endian byte_order
;
130 enum bfd_endian byte_order_for_code
;
131 enum gdb_osabi osabi
;
132 const struct target_desc
* target_desc
;
134 /* target specific vector. */
135 struct gdbarch_tdep
*tdep
;
136 gdbarch_dump_tdep_ftype
*dump_tdep
;
138 /* per-architecture data-pointers. */
142 /* Multi-arch values.
144 When extending this structure you must:
148 Declare set/get functions and define the corresponding
151 gdbarch_alloc(): If zero/NULL is not a suitable default,
152 initialize the new field.
154 verify_gdbarch(): Confirm that the target updated the field
157 gdbarch_dump(): Add a fprintf_unfiltered call so that the new
160 get_gdbarch(): Implement the set/get functions (probably using
161 the macro's as shortcuts).
170 const struct floatformat
** half_format
;
172 const struct floatformat
** float_format
;
174 const struct floatformat
** double_format
;
176 const struct floatformat
** long_double_format
;
179 gdbarch_floatformat_for_type_ftype
*floatformat_for_type
;
182 int dwarf2_addr_size
;
184 gdbarch_read_pc_ftype
*read_pc
;
185 gdbarch_write_pc_ftype
*write_pc
;
186 gdbarch_virtual_frame_pointer_ftype
*virtual_frame_pointer
;
187 gdbarch_pseudo_register_read_ftype
*pseudo_register_read
;
188 gdbarch_pseudo_register_read_value_ftype
*pseudo_register_read_value
;
189 gdbarch_pseudo_register_write_ftype
*pseudo_register_write
;
192 gdbarch_ax_pseudo_register_collect_ftype
*ax_pseudo_register_collect
;
193 gdbarch_ax_pseudo_register_push_stack_ftype
*ax_pseudo_register_push_stack
;
194 gdbarch_handle_segmentation_fault_ftype
*handle_segmentation_fault
;
199 gdbarch_stab_reg_to_regnum_ftype
*stab_reg_to_regnum
;
200 gdbarch_ecoff_reg_to_regnum_ftype
*ecoff_reg_to_regnum
;
201 gdbarch_sdb_reg_to_regnum_ftype
*sdb_reg_to_regnum
;
202 gdbarch_dwarf2_reg_to_regnum_ftype
*dwarf2_reg_to_regnum
;
203 gdbarch_register_name_ftype
*register_name
;
204 gdbarch_register_type_ftype
*register_type
;
205 gdbarch_dummy_id_ftype
*dummy_id
;
206 int deprecated_fp_regnum
;
207 gdbarch_push_dummy_call_ftype
*push_dummy_call
;
208 int call_dummy_location
;
209 gdbarch_push_dummy_code_ftype
*push_dummy_code
;
210 gdbarch_code_of_frame_writable_ftype
*code_of_frame_writable
;
211 gdbarch_print_registers_info_ftype
*print_registers_info
;
212 gdbarch_print_float_info_ftype
*print_float_info
;
213 gdbarch_print_vector_info_ftype
*print_vector_info
;
214 gdbarch_register_sim_regno_ftype
*register_sim_regno
;
215 gdbarch_cannot_fetch_register_ftype
*cannot_fetch_register
;
216 gdbarch_cannot_store_register_ftype
*cannot_store_register
;
217 gdbarch_get_longjmp_target_ftype
*get_longjmp_target
;
218 int believe_pcc_promotion
;
219 gdbarch_convert_register_p_ftype
*convert_register_p
;
220 gdbarch_register_to_value_ftype
*register_to_value
;
221 gdbarch_value_to_register_ftype
*value_to_register
;
222 gdbarch_value_from_register_ftype
*value_from_register
;
223 gdbarch_pointer_to_address_ftype
*pointer_to_address
;
224 gdbarch_address_to_pointer_ftype
*address_to_pointer
;
225 gdbarch_integer_to_address_ftype
*integer_to_address
;
226 gdbarch_return_value_ftype
*return_value
;
227 gdbarch_return_in_first_hidden_param_p_ftype
*return_in_first_hidden_param_p
;
228 gdbarch_skip_prologue_ftype
*skip_prologue
;
229 gdbarch_skip_main_prologue_ftype
*skip_main_prologue
;
230 gdbarch_skip_entrypoint_ftype
*skip_entrypoint
;
231 gdbarch_inner_than_ftype
*inner_than
;
232 gdbarch_breakpoint_from_pc_ftype
*breakpoint_from_pc
;
233 gdbarch_breakpoint_kind_from_pc_ftype
*breakpoint_kind_from_pc
;
234 gdbarch_sw_breakpoint_from_kind_ftype
*sw_breakpoint_from_kind
;
235 gdbarch_breakpoint_kind_from_current_state_ftype
*breakpoint_kind_from_current_state
;
236 gdbarch_adjust_breakpoint_address_ftype
*adjust_breakpoint_address
;
237 gdbarch_memory_insert_breakpoint_ftype
*memory_insert_breakpoint
;
238 gdbarch_memory_remove_breakpoint_ftype
*memory_remove_breakpoint
;
239 CORE_ADDR decr_pc_after_break
;
240 CORE_ADDR deprecated_function_start_offset
;
241 gdbarch_remote_register_number_ftype
*remote_register_number
;
242 gdbarch_fetch_tls_load_module_address_ftype
*fetch_tls_load_module_address
;
243 gdbarch_get_thread_local_address_ftype
*get_thread_local_address
;
244 CORE_ADDR frame_args_skip
;
245 gdbarch_unwind_pc_ftype
*unwind_pc
;
246 gdbarch_unwind_sp_ftype
*unwind_sp
;
247 gdbarch_frame_num_args_ftype
*frame_num_args
;
248 gdbarch_frame_align_ftype
*frame_align
;
249 gdbarch_stabs_argument_has_addr_ftype
*stabs_argument_has_addr
;
250 int frame_red_zone_size
;
251 gdbarch_convert_from_func_ptr_addr_ftype
*convert_from_func_ptr_addr
;
252 gdbarch_addr_bits_remove_ftype
*addr_bits_remove
;
253 int significant_addr_bit
;
254 gdbarch_software_single_step_ftype
*software_single_step
;
255 gdbarch_single_step_through_delay_ftype
*single_step_through_delay
;
256 gdbarch_print_insn_ftype
*print_insn
;
257 gdbarch_skip_trampoline_code_ftype
*skip_trampoline_code
;
258 gdbarch_skip_solib_resolver_ftype
*skip_solib_resolver
;
259 gdbarch_in_solib_return_trampoline_ftype
*in_solib_return_trampoline
;
260 gdbarch_in_indirect_branch_thunk_ftype
*in_indirect_branch_thunk
;
261 gdbarch_stack_frame_destroyed_p_ftype
*stack_frame_destroyed_p
;
262 gdbarch_elf_make_msymbol_special_ftype
*elf_make_msymbol_special
;
263 gdbarch_coff_make_msymbol_special_ftype
*coff_make_msymbol_special
;
264 gdbarch_make_symbol_special_ftype
*make_symbol_special
;
265 gdbarch_adjust_dwarf2_addr_ftype
*adjust_dwarf2_addr
;
266 gdbarch_adjust_dwarf2_line_ftype
*adjust_dwarf2_line
;
267 int cannot_step_breakpoint
;
268 int have_nonsteppable_watchpoint
;
269 gdbarch_address_class_type_flags_ftype
*address_class_type_flags
;
270 gdbarch_address_class_type_flags_to_name_ftype
*address_class_type_flags_to_name
;
271 gdbarch_execute_dwarf_cfa_vendor_op_ftype
*execute_dwarf_cfa_vendor_op
;
272 gdbarch_address_class_name_to_type_flags_ftype
*address_class_name_to_type_flags
;
273 gdbarch_register_reggroup_p_ftype
*register_reggroup_p
;
274 gdbarch_fetch_pointer_argument_ftype
*fetch_pointer_argument
;
275 gdbarch_iterate_over_regset_sections_ftype
*iterate_over_regset_sections
;
276 gdbarch_make_corefile_notes_ftype
*make_corefile_notes
;
277 gdbarch_find_memory_regions_ftype
*find_memory_regions
;
278 gdbarch_core_xfer_shared_libraries_ftype
*core_xfer_shared_libraries
;
279 gdbarch_core_xfer_shared_libraries_aix_ftype
*core_xfer_shared_libraries_aix
;
280 gdbarch_core_pid_to_str_ftype
*core_pid_to_str
;
281 gdbarch_core_thread_name_ftype
*core_thread_name
;
282 gdbarch_core_xfer_siginfo_ftype
*core_xfer_siginfo
;
283 const char * gcore_bfd_target
;
284 int vtable_function_descriptors
;
286 gdbarch_skip_permanent_breakpoint_ftype
*skip_permanent_breakpoint
;
287 ULONGEST max_insn_length
;
288 gdbarch_displaced_step_copy_insn_ftype
*displaced_step_copy_insn
;
289 gdbarch_displaced_step_hw_singlestep_ftype
*displaced_step_hw_singlestep
;
290 gdbarch_displaced_step_fixup_ftype
*displaced_step_fixup
;
291 gdbarch_displaced_step_prepare_ftype
*displaced_step_prepare
;
292 gdbarch_displaced_step_finish_ftype
*displaced_step_finish
;
293 gdbarch_relocate_instruction_ftype
*relocate_instruction
;
294 gdbarch_overlay_update_ftype
*overlay_update
;
295 gdbarch_core_read_description_ftype
*core_read_description
;
296 int sofun_address_maybe_missing
;
297 gdbarch_process_record_ftype
*process_record
;
298 gdbarch_process_record_signal_ftype
*process_record_signal
;
299 gdbarch_gdb_signal_from_target_ftype
*gdb_signal_from_target
;
300 gdbarch_gdb_signal_to_target_ftype
*gdb_signal_to_target
;
301 gdbarch_get_siginfo_type_ftype
*get_siginfo_type
;
302 gdbarch_record_special_symbol_ftype
*record_special_symbol
;
303 gdbarch_get_syscall_number_ftype
*get_syscall_number
;
304 const char * xml_syscall_file
;
305 struct syscalls_info
* syscalls_info
;
306 const char *const * stap_integer_prefixes
;
307 const char *const * stap_integer_suffixes
;
308 const char *const * stap_register_prefixes
;
309 const char *const * stap_register_suffixes
;
310 const char *const * stap_register_indirection_prefixes
;
311 const char *const * stap_register_indirection_suffixes
;
312 const char * stap_gdb_register_prefix
;
313 const char * stap_gdb_register_suffix
;
314 gdbarch_stap_is_single_operand_ftype
*stap_is_single_operand
;
315 gdbarch_stap_parse_special_token_ftype
*stap_parse_special_token
;
316 gdbarch_stap_adjust_register_ftype
*stap_adjust_register
;
317 gdbarch_dtrace_parse_probe_argument_ftype
*dtrace_parse_probe_argument
;
318 gdbarch_dtrace_probe_is_enabled_ftype
*dtrace_probe_is_enabled
;
319 gdbarch_dtrace_enable_probe_ftype
*dtrace_enable_probe
;
320 gdbarch_dtrace_disable_probe_ftype
*dtrace_disable_probe
;
321 int has_global_solist
;
322 int has_global_breakpoints
;
323 gdbarch_has_shared_address_space_ftype
*has_shared_address_space
;
324 gdbarch_fast_tracepoint_valid_at_ftype
*fast_tracepoint_valid_at
;
325 gdbarch_guess_tracepoint_registers_ftype
*guess_tracepoint_registers
;
326 gdbarch_auto_charset_ftype
*auto_charset
;
327 gdbarch_auto_wide_charset_ftype
*auto_wide_charset
;
328 const char * solib_symbols_extension
;
329 int has_dos_based_file_system
;
330 gdbarch_gen_return_address_ftype
*gen_return_address
;
331 gdbarch_info_proc_ftype
*info_proc
;
332 gdbarch_core_info_proc_ftype
*core_info_proc
;
333 gdbarch_iterate_over_objfiles_in_search_order_ftype
*iterate_over_objfiles_in_search_order
;
334 struct ravenscar_arch_ops
* ravenscar_ops
;
335 gdbarch_insn_is_call_ftype
*insn_is_call
;
336 gdbarch_insn_is_ret_ftype
*insn_is_ret
;
337 gdbarch_insn_is_jump_ftype
*insn_is_jump
;
338 gdbarch_program_breakpoint_here_p_ftype
*program_breakpoint_here_p
;
339 gdbarch_auxv_parse_ftype
*auxv_parse
;
340 gdbarch_print_auxv_entry_ftype
*print_auxv_entry
;
341 gdbarch_vsyscall_range_ftype
*vsyscall_range
;
342 gdbarch_infcall_mmap_ftype
*infcall_mmap
;
343 gdbarch_infcall_munmap_ftype
*infcall_munmap
;
344 gdbarch_gcc_target_options_ftype
*gcc_target_options
;
345 gdbarch_gnu_triplet_regexp_ftype
*gnu_triplet_regexp
;
346 gdbarch_addressable_memory_unit_size_ftype
*addressable_memory_unit_size
;
347 const char * disassembler_options_implicit
;
348 char ** disassembler_options
;
349 const disasm_options_and_args_t
* valid_disassembler_options
;
350 gdbarch_type_align_ftype
*type_align
;
351 gdbarch_get_pc_address_flags_ftype
*get_pc_address_flags
;
354 /* Create a new ``struct gdbarch'' based on information provided by
355 ``struct gdbarch_info''. */
358 gdbarch_alloc (const struct gdbarch_info
*info
,
359 struct gdbarch_tdep
*tdep
)
361 struct gdbarch
*gdbarch
;
363 /* Create an obstack for allocating all the per-architecture memory,
364 then use that to allocate the architecture vector. */
365 struct obstack
*obstack
= XNEW (struct obstack
);
366 obstack_init (obstack
);
367 gdbarch
= XOBNEW (obstack
, struct gdbarch
);
368 memset (gdbarch
, 0, sizeof (*gdbarch
));
369 gdbarch
->obstack
= obstack
;
371 alloc_gdbarch_data (gdbarch
);
373 gdbarch
->tdep
= tdep
;
375 gdbarch
->bfd_arch_info
= info
->bfd_arch_info
;
376 gdbarch
->byte_order
= info
->byte_order
;
377 gdbarch
->byte_order_for_code
= info
->byte_order_for_code
;
378 gdbarch
->osabi
= info
->osabi
;
379 gdbarch
->target_desc
= info
->target_desc
;
381 /* Force the explicit initialization of these. */
382 gdbarch
->short_bit
= 2*TARGET_CHAR_BIT
;
383 gdbarch
->int_bit
= 4*TARGET_CHAR_BIT
;
384 gdbarch
->long_bit
= 4*TARGET_CHAR_BIT
;
385 gdbarch
->long_long_bit
= 2*gdbarch
->long_bit
;
386 gdbarch
->half_bit
= 2*TARGET_CHAR_BIT
;
387 gdbarch
->float_bit
= 4*TARGET_CHAR_BIT
;
388 gdbarch
->double_bit
= 8*TARGET_CHAR_BIT
;
389 gdbarch
->long_double_bit
= 8*TARGET_CHAR_BIT
;
390 gdbarch
->wchar_bit
= 4*TARGET_CHAR_BIT
;
391 gdbarch
->wchar_signed
= -1;
392 gdbarch
->floatformat_for_type
= default_floatformat_for_type
;
393 gdbarch
->ptr_bit
= gdbarch
->int_bit
;
394 gdbarch
->char_signed
= -1;
395 gdbarch
->virtual_frame_pointer
= legacy_virtual_frame_pointer
;
396 gdbarch
->num_regs
= -1;
397 gdbarch
->sp_regnum
= -1;
398 gdbarch
->pc_regnum
= -1;
399 gdbarch
->ps_regnum
= -1;
400 gdbarch
->fp0_regnum
= -1;
401 gdbarch
->stab_reg_to_regnum
= no_op_reg_to_regnum
;
402 gdbarch
->ecoff_reg_to_regnum
= no_op_reg_to_regnum
;
403 gdbarch
->sdb_reg_to_regnum
= no_op_reg_to_regnum
;
404 gdbarch
->dwarf2_reg_to_regnum
= no_op_reg_to_regnum
;
405 gdbarch
->dummy_id
= default_dummy_id
;
406 gdbarch
->deprecated_fp_regnum
= -1;
407 gdbarch
->call_dummy_location
= AT_ENTRY_POINT
;
408 gdbarch
->code_of_frame_writable
= default_code_of_frame_writable
;
409 gdbarch
->print_registers_info
= default_print_registers_info
;
410 gdbarch
->print_float_info
= default_print_float_info
;
411 gdbarch
->register_sim_regno
= legacy_register_sim_regno
;
412 gdbarch
->cannot_fetch_register
= cannot_register_not
;
413 gdbarch
->cannot_store_register
= cannot_register_not
;
414 gdbarch
->convert_register_p
= generic_convert_register_p
;
415 gdbarch
->value_from_register
= default_value_from_register
;
416 gdbarch
->pointer_to_address
= unsigned_pointer_to_address
;
417 gdbarch
->address_to_pointer
= unsigned_address_to_pointer
;
418 gdbarch
->return_in_first_hidden_param_p
= default_return_in_first_hidden_param_p
;
419 gdbarch
->breakpoint_from_pc
= default_breakpoint_from_pc
;
420 gdbarch
->sw_breakpoint_from_kind
= NULL
;
421 gdbarch
->breakpoint_kind_from_current_state
= default_breakpoint_kind_from_current_state
;
422 gdbarch
->memory_insert_breakpoint
= default_memory_insert_breakpoint
;
423 gdbarch
->memory_remove_breakpoint
= default_memory_remove_breakpoint
;
424 gdbarch
->remote_register_number
= default_remote_register_number
;
425 gdbarch
->unwind_pc
= default_unwind_pc
;
426 gdbarch
->unwind_sp
= default_unwind_sp
;
427 gdbarch
->stabs_argument_has_addr
= default_stabs_argument_has_addr
;
428 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr_identity
;
429 gdbarch
->addr_bits_remove
= core_addr_identity
;
430 gdbarch
->print_insn
= default_print_insn
;
431 gdbarch
->skip_trampoline_code
= generic_skip_trampoline_code
;
432 gdbarch
->skip_solib_resolver
= generic_skip_solib_resolver
;
433 gdbarch
->in_solib_return_trampoline
= generic_in_solib_return_trampoline
;
434 gdbarch
->in_indirect_branch_thunk
= default_in_indirect_branch_thunk
;
435 gdbarch
->stack_frame_destroyed_p
= generic_stack_frame_destroyed_p
;
436 gdbarch
->coff_make_msymbol_special
= default_coff_make_msymbol_special
;
437 gdbarch
->make_symbol_special
= default_make_symbol_special
;
438 gdbarch
->adjust_dwarf2_addr
= default_adjust_dwarf2_addr
;
439 gdbarch
->adjust_dwarf2_line
= default_adjust_dwarf2_line
;
440 gdbarch
->execute_dwarf_cfa_vendor_op
= default_execute_dwarf_cfa_vendor_op
;
441 gdbarch
->register_reggroup_p
= default_register_reggroup_p
;
442 gdbarch
->skip_permanent_breakpoint
= default_skip_permanent_breakpoint
;
443 gdbarch
->displaced_step_hw_singlestep
= default_displaced_step_hw_singlestep
;
444 gdbarch
->displaced_step_fixup
= NULL
;
445 gdbarch
->displaced_step_prepare
= NULL
;
446 gdbarch
->displaced_step_finish
= NULL
;
447 gdbarch
->relocate_instruction
= NULL
;
448 gdbarch
->has_shared_address_space
= default_has_shared_address_space
;
449 gdbarch
->fast_tracepoint_valid_at
= default_fast_tracepoint_valid_at
;
450 gdbarch
->guess_tracepoint_registers
= default_guess_tracepoint_registers
;
451 gdbarch
->auto_charset
= default_auto_charset
;
452 gdbarch
->auto_wide_charset
= default_auto_wide_charset
;
453 gdbarch
->gen_return_address
= default_gen_return_address
;
454 gdbarch
->iterate_over_objfiles_in_search_order
= default_iterate_over_objfiles_in_search_order
;
455 gdbarch
->ravenscar_ops
= NULL
;
456 gdbarch
->insn_is_call
= default_insn_is_call
;
457 gdbarch
->insn_is_ret
= default_insn_is_ret
;
458 gdbarch
->insn_is_jump
= default_insn_is_jump
;
459 gdbarch
->program_breakpoint_here_p
= default_program_breakpoint_here_p
;
460 gdbarch
->print_auxv_entry
= default_print_auxv_entry
;
461 gdbarch
->vsyscall_range
= default_vsyscall_range
;
462 gdbarch
->infcall_mmap
= default_infcall_mmap
;
463 gdbarch
->infcall_munmap
= default_infcall_munmap
;
464 gdbarch
->gcc_target_options
= default_gcc_target_options
;
465 gdbarch
->gnu_triplet_regexp
= default_gnu_triplet_regexp
;
466 gdbarch
->addressable_memory_unit_size
= default_addressable_memory_unit_size
;
467 gdbarch
->type_align
= default_type_align
;
468 gdbarch
->get_pc_address_flags
= default_get_pc_address_flags
;
469 /* gdbarch_alloc() */
476 obstack
*gdbarch_obstack (gdbarch
*arch
)
478 return arch
->obstack
;
484 gdbarch_obstack_strdup (struct gdbarch
*arch
, const char *string
)
486 return obstack_strdup (arch
->obstack
, string
);
490 /* Free a gdbarch struct. This should never happen in normal
491 operation --- once you've created a gdbarch, you keep it around.
492 However, if an architecture's init function encounters an error
493 building the structure, it may need to clean up a partially
494 constructed gdbarch. */
497 gdbarch_free (struct gdbarch
*arch
)
499 struct obstack
*obstack
;
501 gdb_assert (arch
!= NULL
);
502 gdb_assert (!arch
->initialized_p
);
503 obstack
= arch
->obstack
;
504 obstack_free (obstack
, 0); /* Includes the ARCH. */
509 /* Ensure that all values in a GDBARCH are reasonable. */
512 verify_gdbarch (struct gdbarch
*gdbarch
)
517 if (gdbarch
->byte_order
== BFD_ENDIAN_UNKNOWN
)
518 log
.puts ("\n\tbyte-order");
519 if (gdbarch
->bfd_arch_info
== NULL
)
520 log
.puts ("\n\tbfd_arch_info");
521 /* Check those that need to be defined for the given multi-arch level. */
522 /* Skip verify of short_bit, invalid_p == 0 */
523 /* Skip verify of int_bit, invalid_p == 0 */
524 /* Skip verify of long_bit, invalid_p == 0 */
525 /* Skip verify of long_long_bit, invalid_p == 0 */
526 /* Skip verify of half_bit, invalid_p == 0 */
527 if (gdbarch
->half_format
== 0)
528 gdbarch
->half_format
= floatformats_ieee_half
;
529 /* Skip verify of float_bit, invalid_p == 0 */
530 if (gdbarch
->float_format
== 0)
531 gdbarch
->float_format
= floatformats_ieee_single
;
532 /* Skip verify of double_bit, invalid_p == 0 */
533 if (gdbarch
->double_format
== 0)
534 gdbarch
->double_format
= floatformats_ieee_double
;
535 /* Skip verify of long_double_bit, invalid_p == 0 */
536 if (gdbarch
->long_double_format
== 0)
537 gdbarch
->long_double_format
= floatformats_ieee_double
;
538 /* Skip verify of wchar_bit, invalid_p == 0 */
539 if (gdbarch
->wchar_signed
== -1)
540 gdbarch
->wchar_signed
= 1;
541 /* Skip verify of floatformat_for_type, invalid_p == 0 */
542 /* Skip verify of ptr_bit, invalid_p == 0 */
543 if (gdbarch
->addr_bit
== 0)
544 gdbarch
->addr_bit
= gdbarch_ptr_bit (gdbarch
);
545 if (gdbarch
->dwarf2_addr_size
== 0)
546 gdbarch
->dwarf2_addr_size
= gdbarch_ptr_bit (gdbarch
) / TARGET_CHAR_BIT
;
547 if (gdbarch
->char_signed
== -1)
548 gdbarch
->char_signed
= 1;
549 /* Skip verify of read_pc, has predicate. */
550 /* Skip verify of write_pc, has predicate. */
551 /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
552 /* Skip verify of pseudo_register_read, has predicate. */
553 /* Skip verify of pseudo_register_read_value, has predicate. */
554 /* Skip verify of pseudo_register_write, has predicate. */
555 if (gdbarch
->num_regs
== -1)
556 log
.puts ("\n\tnum_regs");
557 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
558 /* Skip verify of ax_pseudo_register_collect, has predicate. */
559 /* Skip verify of ax_pseudo_register_push_stack, has predicate. */
560 /* Skip verify of handle_segmentation_fault, has predicate. */
561 /* Skip verify of sp_regnum, invalid_p == 0 */
562 /* Skip verify of pc_regnum, invalid_p == 0 */
563 /* Skip verify of ps_regnum, invalid_p == 0 */
564 /* Skip verify of fp0_regnum, invalid_p == 0 */
565 /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
566 /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
567 /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
568 /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
569 if (gdbarch
->register_name
== 0)
570 log
.puts ("\n\tregister_name");
571 /* Skip verify of register_type, has predicate. */
572 /* Skip verify of dummy_id, invalid_p == 0 */
573 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
574 /* Skip verify of push_dummy_call, has predicate. */
575 /* Skip verify of call_dummy_location, invalid_p == 0 */
576 /* Skip verify of push_dummy_code, has predicate. */
577 /* Skip verify of code_of_frame_writable, invalid_p == 0 */
578 /* Skip verify of print_registers_info, invalid_p == 0 */
579 /* Skip verify of print_float_info, invalid_p == 0 */
580 /* Skip verify of print_vector_info, has predicate. */
581 /* Skip verify of register_sim_regno, invalid_p == 0 */
582 /* Skip verify of cannot_fetch_register, invalid_p == 0 */
583 /* Skip verify of cannot_store_register, invalid_p == 0 */
584 /* Skip verify of get_longjmp_target, has predicate. */
585 /* Skip verify of convert_register_p, invalid_p == 0 */
586 /* Skip verify of value_from_register, invalid_p == 0 */
587 /* Skip verify of pointer_to_address, invalid_p == 0 */
588 /* Skip verify of address_to_pointer, invalid_p == 0 */
589 /* Skip verify of integer_to_address, has predicate. */
590 /* Skip verify of return_value, has predicate. */
591 /* Skip verify of return_in_first_hidden_param_p, invalid_p == 0 */
592 if (gdbarch
->skip_prologue
== 0)
593 log
.puts ("\n\tskip_prologue");
594 /* Skip verify of skip_main_prologue, has predicate. */
595 /* Skip verify of skip_entrypoint, has predicate. */
596 if (gdbarch
->inner_than
== 0)
597 log
.puts ("\n\tinner_than");
598 /* Skip verify of breakpoint_from_pc, invalid_p == 0 */
599 if (gdbarch
->breakpoint_kind_from_pc
== 0)
600 log
.puts ("\n\tbreakpoint_kind_from_pc");
601 /* Skip verify of sw_breakpoint_from_kind, invalid_p == 0 */
602 /* Skip verify of breakpoint_kind_from_current_state, invalid_p == 0 */
603 /* Skip verify of adjust_breakpoint_address, has predicate. */
604 /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
605 /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
606 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
607 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
608 /* Skip verify of remote_register_number, invalid_p == 0 */
609 /* Skip verify of fetch_tls_load_module_address, has predicate. */
610 /* Skip verify of get_thread_local_address, has predicate. */
611 /* Skip verify of frame_args_skip, invalid_p == 0 */
612 /* Skip verify of unwind_pc, invalid_p == 0 */
613 /* Skip verify of unwind_sp, invalid_p == 0 */
614 /* Skip verify of frame_num_args, has predicate. */
615 /* Skip verify of frame_align, has predicate. */
616 /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
617 /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
618 /* Skip verify of addr_bits_remove, invalid_p == 0 */
619 /* Skip verify of significant_addr_bit, invalid_p == 0 */
620 /* Skip verify of software_single_step, has predicate. */
621 /* Skip verify of single_step_through_delay, has predicate. */
622 /* Skip verify of print_insn, invalid_p == 0 */
623 /* Skip verify of skip_trampoline_code, invalid_p == 0 */
624 /* Skip verify of skip_solib_resolver, invalid_p == 0 */
625 /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
626 /* Skip verify of in_indirect_branch_thunk, invalid_p == 0 */
627 /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
628 /* Skip verify of elf_make_msymbol_special, has predicate. */
629 /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
630 /* Skip verify of make_symbol_special, invalid_p == 0 */
631 /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */
632 /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */
633 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
634 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
635 /* Skip verify of address_class_type_flags, has predicate. */
636 /* Skip verify of address_class_type_flags_to_name, has predicate. */
637 /* Skip verify of execute_dwarf_cfa_vendor_op, invalid_p == 0 */
638 /* Skip verify of address_class_name_to_type_flags, has predicate. */
639 /* Skip verify of register_reggroup_p, invalid_p == 0 */
640 /* Skip verify of fetch_pointer_argument, has predicate. */
641 /* Skip verify of iterate_over_regset_sections, has predicate. */
642 /* Skip verify of make_corefile_notes, has predicate. */
643 /* Skip verify of find_memory_regions, has predicate. */
644 /* Skip verify of core_xfer_shared_libraries, has predicate. */
645 /* Skip verify of core_xfer_shared_libraries_aix, has predicate. */
646 /* Skip verify of core_pid_to_str, has predicate. */
647 /* Skip verify of core_thread_name, has predicate. */
648 /* Skip verify of core_xfer_siginfo, has predicate. */
649 /* Skip verify of gcore_bfd_target, has predicate. */
650 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
651 /* Skip verify of vbit_in_delta, invalid_p == 0 */
652 /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */
653 /* Skip verify of max_insn_length, has predicate. */
654 /* Skip verify of displaced_step_copy_insn, has predicate. */
655 /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */
656 /* Skip verify of displaced_step_fixup, has predicate. */
657 if ((! gdbarch
->displaced_step_prepare
) != (! gdbarch
->displaced_step_copy_insn
))
658 log
.puts ("\n\tdisplaced_step_prepare");
659 if ((! gdbarch
->displaced_step_finish
) != (! gdbarch
->displaced_step_copy_insn
))
660 log
.puts ("\n\tdisplaced_step_finish");
661 /* Skip verify of relocate_instruction, has predicate. */
662 /* Skip verify of overlay_update, has predicate. */
663 /* Skip verify of core_read_description, has predicate. */
664 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
665 /* Skip verify of process_record, has predicate. */
666 /* Skip verify of process_record_signal, has predicate. */
667 /* Skip verify of gdb_signal_from_target, has predicate. */
668 /* Skip verify of gdb_signal_to_target, has predicate. */
669 /* Skip verify of get_siginfo_type, has predicate. */
670 /* Skip verify of record_special_symbol, has predicate. */
671 /* Skip verify of get_syscall_number, has predicate. */
672 /* Skip verify of xml_syscall_file, invalid_p == 0 */
673 /* Skip verify of syscalls_info, invalid_p == 0 */
674 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
675 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
676 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
677 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
678 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
679 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
680 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
681 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
682 /* Skip verify of stap_is_single_operand, has predicate. */
683 /* Skip verify of stap_parse_special_token, has predicate. */
684 /* Skip verify of stap_adjust_register, has predicate. */
685 /* Skip verify of dtrace_parse_probe_argument, has predicate. */
686 /* Skip verify of dtrace_probe_is_enabled, has predicate. */
687 /* Skip verify of dtrace_enable_probe, has predicate. */
688 /* Skip verify of dtrace_disable_probe, has predicate. */
689 /* Skip verify of has_global_solist, invalid_p == 0 */
690 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
691 /* Skip verify of has_shared_address_space, invalid_p == 0 */
692 /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */
693 /* Skip verify of guess_tracepoint_registers, invalid_p == 0 */
694 /* Skip verify of auto_charset, invalid_p == 0 */
695 /* Skip verify of auto_wide_charset, invalid_p == 0 */
696 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
697 /* Skip verify of gen_return_address, invalid_p == 0 */
698 /* Skip verify of info_proc, has predicate. */
699 /* Skip verify of core_info_proc, has predicate. */
700 /* Skip verify of iterate_over_objfiles_in_search_order, invalid_p == 0 */
701 /* Skip verify of ravenscar_ops, invalid_p == 0 */
702 /* Skip verify of insn_is_call, invalid_p == 0 */
703 /* Skip verify of insn_is_ret, invalid_p == 0 */
704 /* Skip verify of insn_is_jump, invalid_p == 0 */
705 /* Skip verify of program_breakpoint_here_p, invalid_p == 0 */
706 /* Skip verify of auxv_parse, has predicate. */
707 /* Skip verify of print_auxv_entry, invalid_p == 0 */
708 /* Skip verify of vsyscall_range, invalid_p == 0 */
709 /* Skip verify of infcall_mmap, invalid_p == 0 */
710 /* Skip verify of infcall_munmap, invalid_p == 0 */
711 /* Skip verify of gcc_target_options, invalid_p == 0 */
712 /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
713 /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
714 /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
715 /* Skip verify of disassembler_options, invalid_p == 0 */
716 /* Skip verify of valid_disassembler_options, invalid_p == 0 */
717 /* Skip verify of type_align, invalid_p == 0 */
718 /* Skip verify of get_pc_address_flags, invalid_p == 0 */
720 internal_error (__FILE__
, __LINE__
,
721 _("verify_gdbarch: the following are invalid ...%s"),
726 /* Print out the details of the current architecture. */
729 gdbarch_dump (struct gdbarch
*gdbarch
, struct ui_file
*file
)
731 const char *gdb_nm_file
= "<not-defined>";
733 #if defined (GDB_NM_FILE)
734 gdb_nm_file
= GDB_NM_FILE
;
736 fprintf_unfiltered (file
,
737 "gdbarch_dump: GDB_NM_FILE = %s\n",
739 fprintf_unfiltered (file
,
740 "gdbarch_dump: addr_bit = %s\n",
741 plongest (gdbarch
->addr_bit
));
742 fprintf_unfiltered (file
,
743 "gdbarch_dump: addr_bits_remove = <%s>\n",
744 host_address_to_string (gdbarch
->addr_bits_remove
));
745 fprintf_unfiltered (file
,
746 "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
747 gdbarch_address_class_name_to_type_flags_p (gdbarch
));
748 fprintf_unfiltered (file
,
749 "gdbarch_dump: address_class_name_to_type_flags = <%s>\n",
750 host_address_to_string (gdbarch
->address_class_name_to_type_flags
));
751 fprintf_unfiltered (file
,
752 "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
753 gdbarch_address_class_type_flags_p (gdbarch
));
754 fprintf_unfiltered (file
,
755 "gdbarch_dump: address_class_type_flags = <%s>\n",
756 host_address_to_string (gdbarch
->address_class_type_flags
));
757 fprintf_unfiltered (file
,
758 "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
759 gdbarch_address_class_type_flags_to_name_p (gdbarch
));
760 fprintf_unfiltered (file
,
761 "gdbarch_dump: address_class_type_flags_to_name = <%s>\n",
762 host_address_to_string (gdbarch
->address_class_type_flags_to_name
));
763 fprintf_unfiltered (file
,
764 "gdbarch_dump: address_to_pointer = <%s>\n",
765 host_address_to_string (gdbarch
->address_to_pointer
));
766 fprintf_unfiltered (file
,
767 "gdbarch_dump: addressable_memory_unit_size = <%s>\n",
768 host_address_to_string (gdbarch
->addressable_memory_unit_size
));
769 fprintf_unfiltered (file
,
770 "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
771 gdbarch_adjust_breakpoint_address_p (gdbarch
));
772 fprintf_unfiltered (file
,
773 "gdbarch_dump: adjust_breakpoint_address = <%s>\n",
774 host_address_to_string (gdbarch
->adjust_breakpoint_address
));
775 fprintf_unfiltered (file
,
776 "gdbarch_dump: adjust_dwarf2_addr = <%s>\n",
777 host_address_to_string (gdbarch
->adjust_dwarf2_addr
));
778 fprintf_unfiltered (file
,
779 "gdbarch_dump: adjust_dwarf2_line = <%s>\n",
780 host_address_to_string (gdbarch
->adjust_dwarf2_line
));
781 fprintf_unfiltered (file
,
782 "gdbarch_dump: auto_charset = <%s>\n",
783 host_address_to_string (gdbarch
->auto_charset
));
784 fprintf_unfiltered (file
,
785 "gdbarch_dump: auto_wide_charset = <%s>\n",
786 host_address_to_string (gdbarch
->auto_wide_charset
));
787 fprintf_unfiltered (file
,
788 "gdbarch_dump: gdbarch_auxv_parse_p() = %d\n",
789 gdbarch_auxv_parse_p (gdbarch
));
790 fprintf_unfiltered (file
,
791 "gdbarch_dump: auxv_parse = <%s>\n",
792 host_address_to_string (gdbarch
->auxv_parse
));
793 fprintf_unfiltered (file
,
794 "gdbarch_dump: gdbarch_ax_pseudo_register_collect_p() = %d\n",
795 gdbarch_ax_pseudo_register_collect_p (gdbarch
));
796 fprintf_unfiltered (file
,
797 "gdbarch_dump: ax_pseudo_register_collect = <%s>\n",
798 host_address_to_string (gdbarch
->ax_pseudo_register_collect
));
799 fprintf_unfiltered (file
,
800 "gdbarch_dump: gdbarch_ax_pseudo_register_push_stack_p() = %d\n",
801 gdbarch_ax_pseudo_register_push_stack_p (gdbarch
));
802 fprintf_unfiltered (file
,
803 "gdbarch_dump: ax_pseudo_register_push_stack = <%s>\n",
804 host_address_to_string (gdbarch
->ax_pseudo_register_push_stack
));
805 fprintf_unfiltered (file
,
806 "gdbarch_dump: believe_pcc_promotion = %s\n",
807 plongest (gdbarch
->believe_pcc_promotion
));
808 fprintf_unfiltered (file
,
809 "gdbarch_dump: bfd_arch_info = %s\n",
810 gdbarch_bfd_arch_info (gdbarch
)->printable_name
);
811 fprintf_unfiltered (file
,
812 "gdbarch_dump: breakpoint_from_pc = <%s>\n",
813 host_address_to_string (gdbarch
->breakpoint_from_pc
));
814 fprintf_unfiltered (file
,
815 "gdbarch_dump: breakpoint_kind_from_current_state = <%s>\n",
816 host_address_to_string (gdbarch
->breakpoint_kind_from_current_state
));
817 fprintf_unfiltered (file
,
818 "gdbarch_dump: breakpoint_kind_from_pc = <%s>\n",
819 host_address_to_string (gdbarch
->breakpoint_kind_from_pc
));
820 fprintf_unfiltered (file
,
821 "gdbarch_dump: byte_order = %s\n",
822 plongest (gdbarch
->byte_order
));
823 fprintf_unfiltered (file
,
824 "gdbarch_dump: byte_order_for_code = %s\n",
825 plongest (gdbarch
->byte_order_for_code
));
826 fprintf_unfiltered (file
,
827 "gdbarch_dump: call_dummy_location = %s\n",
828 plongest (gdbarch
->call_dummy_location
));
829 fprintf_unfiltered (file
,
830 "gdbarch_dump: cannot_fetch_register = <%s>\n",
831 host_address_to_string (gdbarch
->cannot_fetch_register
));
832 fprintf_unfiltered (file
,
833 "gdbarch_dump: cannot_step_breakpoint = %s\n",
834 plongest (gdbarch
->cannot_step_breakpoint
));
835 fprintf_unfiltered (file
,
836 "gdbarch_dump: cannot_store_register = <%s>\n",
837 host_address_to_string (gdbarch
->cannot_store_register
));
838 fprintf_unfiltered (file
,
839 "gdbarch_dump: char_signed = %s\n",
840 plongest (gdbarch
->char_signed
));
841 fprintf_unfiltered (file
,
842 "gdbarch_dump: code_of_frame_writable = <%s>\n",
843 host_address_to_string (gdbarch
->code_of_frame_writable
));
844 fprintf_unfiltered (file
,
845 "gdbarch_dump: coff_make_msymbol_special = <%s>\n",
846 host_address_to_string (gdbarch
->coff_make_msymbol_special
));
847 fprintf_unfiltered (file
,
848 "gdbarch_dump: convert_from_func_ptr_addr = <%s>\n",
849 host_address_to_string (gdbarch
->convert_from_func_ptr_addr
));
850 fprintf_unfiltered (file
,
851 "gdbarch_dump: convert_register_p = <%s>\n",
852 host_address_to_string (gdbarch
->convert_register_p
));
853 fprintf_unfiltered (file
,
854 "gdbarch_dump: gdbarch_core_info_proc_p() = %d\n",
855 gdbarch_core_info_proc_p (gdbarch
));
856 fprintf_unfiltered (file
,
857 "gdbarch_dump: core_info_proc = <%s>\n",
858 host_address_to_string (gdbarch
->core_info_proc
));
859 fprintf_unfiltered (file
,
860 "gdbarch_dump: gdbarch_core_pid_to_str_p() = %d\n",
861 gdbarch_core_pid_to_str_p (gdbarch
));
862 fprintf_unfiltered (file
,
863 "gdbarch_dump: core_pid_to_str = <%s>\n",
864 host_address_to_string (gdbarch
->core_pid_to_str
));
865 fprintf_unfiltered (file
,
866 "gdbarch_dump: gdbarch_core_read_description_p() = %d\n",
867 gdbarch_core_read_description_p (gdbarch
));
868 fprintf_unfiltered (file
,
869 "gdbarch_dump: core_read_description = <%s>\n",
870 host_address_to_string (gdbarch
->core_read_description
));
871 fprintf_unfiltered (file
,
872 "gdbarch_dump: gdbarch_core_thread_name_p() = %d\n",
873 gdbarch_core_thread_name_p (gdbarch
));
874 fprintf_unfiltered (file
,
875 "gdbarch_dump: core_thread_name = <%s>\n",
876 host_address_to_string (gdbarch
->core_thread_name
));
877 fprintf_unfiltered (file
,
878 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
879 gdbarch_core_xfer_shared_libraries_p (gdbarch
));
880 fprintf_unfiltered (file
,
881 "gdbarch_dump: core_xfer_shared_libraries = <%s>\n",
882 host_address_to_string (gdbarch
->core_xfer_shared_libraries
));
883 fprintf_unfiltered (file
,
884 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_aix_p() = %d\n",
885 gdbarch_core_xfer_shared_libraries_aix_p (gdbarch
));
886 fprintf_unfiltered (file
,
887 "gdbarch_dump: core_xfer_shared_libraries_aix = <%s>\n",
888 host_address_to_string (gdbarch
->core_xfer_shared_libraries_aix
));
889 fprintf_unfiltered (file
,
890 "gdbarch_dump: gdbarch_core_xfer_siginfo_p() = %d\n",
891 gdbarch_core_xfer_siginfo_p (gdbarch
));
892 fprintf_unfiltered (file
,
893 "gdbarch_dump: core_xfer_siginfo = <%s>\n",
894 host_address_to_string (gdbarch
->core_xfer_siginfo
));
895 fprintf_unfiltered (file
,
896 "gdbarch_dump: decr_pc_after_break = %s\n",
897 core_addr_to_string_nz (gdbarch
->decr_pc_after_break
));
898 fprintf_unfiltered (file
,
899 "gdbarch_dump: deprecated_fp_regnum = %s\n",
900 plongest (gdbarch
->deprecated_fp_regnum
));
901 fprintf_unfiltered (file
,
902 "gdbarch_dump: deprecated_function_start_offset = %s\n",
903 core_addr_to_string_nz (gdbarch
->deprecated_function_start_offset
));
904 fprintf_unfiltered (file
,
905 "gdbarch_dump: disassembler_options = %s\n",
906 pstring_ptr (gdbarch
->disassembler_options
));
907 fprintf_unfiltered (file
,
908 "gdbarch_dump: disassembler_options_implicit = %s\n",
909 pstring (gdbarch
->disassembler_options_implicit
));
910 fprintf_unfiltered (file
,
911 "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
912 gdbarch_displaced_step_copy_insn_p (gdbarch
));
913 fprintf_unfiltered (file
,
914 "gdbarch_dump: displaced_step_copy_insn = <%s>\n",
915 host_address_to_string (gdbarch
->displaced_step_copy_insn
));
916 fprintf_unfiltered (file
,
917 "gdbarch_dump: displaced_step_finish = <%s>\n",
918 host_address_to_string (gdbarch
->displaced_step_finish
));
919 fprintf_unfiltered (file
,
920 "gdbarch_dump: gdbarch_displaced_step_fixup_p() = %d\n",
921 gdbarch_displaced_step_fixup_p (gdbarch
));
922 fprintf_unfiltered (file
,
923 "gdbarch_dump: displaced_step_fixup = <%s>\n",
924 host_address_to_string (gdbarch
->displaced_step_fixup
));
925 fprintf_unfiltered (file
,
926 "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n",
927 host_address_to_string (gdbarch
->displaced_step_hw_singlestep
));
928 fprintf_unfiltered (file
,
929 "gdbarch_dump: displaced_step_prepare = <%s>\n",
930 host_address_to_string (gdbarch
->displaced_step_prepare
));
931 fprintf_unfiltered (file
,
932 "gdbarch_dump: double_bit = %s\n",
933 plongest (gdbarch
->double_bit
));
934 fprintf_unfiltered (file
,
935 "gdbarch_dump: double_format = %s\n",
936 pformat (gdbarch
->double_format
));
937 fprintf_unfiltered (file
,
938 "gdbarch_dump: gdbarch_dtrace_disable_probe_p() = %d\n",
939 gdbarch_dtrace_disable_probe_p (gdbarch
));
940 fprintf_unfiltered (file
,
941 "gdbarch_dump: dtrace_disable_probe = <%s>\n",
942 host_address_to_string (gdbarch
->dtrace_disable_probe
));
943 fprintf_unfiltered (file
,
944 "gdbarch_dump: gdbarch_dtrace_enable_probe_p() = %d\n",
945 gdbarch_dtrace_enable_probe_p (gdbarch
));
946 fprintf_unfiltered (file
,
947 "gdbarch_dump: dtrace_enable_probe = <%s>\n",
948 host_address_to_string (gdbarch
->dtrace_enable_probe
));
949 fprintf_unfiltered (file
,
950 "gdbarch_dump: gdbarch_dtrace_parse_probe_argument_p() = %d\n",
951 gdbarch_dtrace_parse_probe_argument_p (gdbarch
));
952 fprintf_unfiltered (file
,
953 "gdbarch_dump: dtrace_parse_probe_argument = <%s>\n",
954 host_address_to_string (gdbarch
->dtrace_parse_probe_argument
));
955 fprintf_unfiltered (file
,
956 "gdbarch_dump: gdbarch_dtrace_probe_is_enabled_p() = %d\n",
957 gdbarch_dtrace_probe_is_enabled_p (gdbarch
));
958 fprintf_unfiltered (file
,
959 "gdbarch_dump: dtrace_probe_is_enabled = <%s>\n",
960 host_address_to_string (gdbarch
->dtrace_probe_is_enabled
));
961 fprintf_unfiltered (file
,
962 "gdbarch_dump: dummy_id = <%s>\n",
963 host_address_to_string (gdbarch
->dummy_id
));
964 fprintf_unfiltered (file
,
965 "gdbarch_dump: dwarf2_addr_size = %s\n",
966 plongest (gdbarch
->dwarf2_addr_size
));
967 fprintf_unfiltered (file
,
968 "gdbarch_dump: dwarf2_reg_to_regnum = <%s>\n",
969 host_address_to_string (gdbarch
->dwarf2_reg_to_regnum
));
970 fprintf_unfiltered (file
,
971 "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n",
972 host_address_to_string (gdbarch
->ecoff_reg_to_regnum
));
973 fprintf_unfiltered (file
,
974 "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n",
975 gdbarch_elf_make_msymbol_special_p (gdbarch
));
976 fprintf_unfiltered (file
,
977 "gdbarch_dump: elf_make_msymbol_special = <%s>\n",
978 host_address_to_string (gdbarch
->elf_make_msymbol_special
));
979 fprintf_unfiltered (file
,
980 "gdbarch_dump: execute_dwarf_cfa_vendor_op = <%s>\n",
981 host_address_to_string (gdbarch
->execute_dwarf_cfa_vendor_op
));
982 fprintf_unfiltered (file
,
983 "gdbarch_dump: fast_tracepoint_valid_at = <%s>\n",
984 host_address_to_string (gdbarch
->fast_tracepoint_valid_at
));
985 fprintf_unfiltered (file
,
986 "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
987 gdbarch_fetch_pointer_argument_p (gdbarch
));
988 fprintf_unfiltered (file
,
989 "gdbarch_dump: fetch_pointer_argument = <%s>\n",
990 host_address_to_string (gdbarch
->fetch_pointer_argument
));
991 fprintf_unfiltered (file
,
992 "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
993 gdbarch_fetch_tls_load_module_address_p (gdbarch
));
994 fprintf_unfiltered (file
,
995 "gdbarch_dump: fetch_tls_load_module_address = <%s>\n",
996 host_address_to_string (gdbarch
->fetch_tls_load_module_address
));
997 fprintf_unfiltered (file
,
998 "gdbarch_dump: gdbarch_find_memory_regions_p() = %d\n",
999 gdbarch_find_memory_regions_p (gdbarch
));
1000 fprintf_unfiltered (file
,
1001 "gdbarch_dump: find_memory_regions = <%s>\n",
1002 host_address_to_string (gdbarch
->find_memory_regions
));
1003 fprintf_unfiltered (file
,
1004 "gdbarch_dump: float_bit = %s\n",
1005 plongest (gdbarch
->float_bit
));
1006 fprintf_unfiltered (file
,
1007 "gdbarch_dump: float_format = %s\n",
1008 pformat (gdbarch
->float_format
));
1009 fprintf_unfiltered (file
,
1010 "gdbarch_dump: floatformat_for_type = <%s>\n",
1011 host_address_to_string (gdbarch
->floatformat_for_type
));
1012 fprintf_unfiltered (file
,
1013 "gdbarch_dump: fp0_regnum = %s\n",
1014 plongest (gdbarch
->fp0_regnum
));
1015 fprintf_unfiltered (file
,
1016 "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
1017 gdbarch_frame_align_p (gdbarch
));
1018 fprintf_unfiltered (file
,
1019 "gdbarch_dump: frame_align = <%s>\n",
1020 host_address_to_string (gdbarch
->frame_align
));
1021 fprintf_unfiltered (file
,
1022 "gdbarch_dump: frame_args_skip = %s\n",
1023 core_addr_to_string_nz (gdbarch
->frame_args_skip
));
1024 fprintf_unfiltered (file
,
1025 "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
1026 gdbarch_frame_num_args_p (gdbarch
));
1027 fprintf_unfiltered (file
,
1028 "gdbarch_dump: frame_num_args = <%s>\n",
1029 host_address_to_string (gdbarch
->frame_num_args
));
1030 fprintf_unfiltered (file
,
1031 "gdbarch_dump: frame_red_zone_size = %s\n",
1032 plongest (gdbarch
->frame_red_zone_size
));
1033 fprintf_unfiltered (file
,
1034 "gdbarch_dump: gcc_target_options = <%s>\n",
1035 host_address_to_string (gdbarch
->gcc_target_options
));
1036 fprintf_unfiltered (file
,
1037 "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n",
1038 gdbarch_gcore_bfd_target_p (gdbarch
));
1039 fprintf_unfiltered (file
,
1040 "gdbarch_dump: gcore_bfd_target = %s\n",
1041 pstring (gdbarch
->gcore_bfd_target
));
1042 fprintf_unfiltered (file
,
1043 "gdbarch_dump: gdbarch_gdb_signal_from_target_p() = %d\n",
1044 gdbarch_gdb_signal_from_target_p (gdbarch
));
1045 fprintf_unfiltered (file
,
1046 "gdbarch_dump: gdb_signal_from_target = <%s>\n",
1047 host_address_to_string (gdbarch
->gdb_signal_from_target
));
1048 fprintf_unfiltered (file
,
1049 "gdbarch_dump: gdbarch_gdb_signal_to_target_p() = %d\n",
1050 gdbarch_gdb_signal_to_target_p (gdbarch
));
1051 fprintf_unfiltered (file
,
1052 "gdbarch_dump: gdb_signal_to_target = <%s>\n",
1053 host_address_to_string (gdbarch
->gdb_signal_to_target
));
1054 fprintf_unfiltered (file
,
1055 "gdbarch_dump: gen_return_address = <%s>\n",
1056 host_address_to_string (gdbarch
->gen_return_address
));
1057 fprintf_unfiltered (file
,
1058 "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
1059 gdbarch_get_longjmp_target_p (gdbarch
));
1060 fprintf_unfiltered (file
,
1061 "gdbarch_dump: get_longjmp_target = <%s>\n",
1062 host_address_to_string (gdbarch
->get_longjmp_target
));
1063 fprintf_unfiltered (file
,
1064 "gdbarch_dump: get_pc_address_flags = <%s>\n",
1065 host_address_to_string (gdbarch
->get_pc_address_flags
));
1066 fprintf_unfiltered (file
,
1067 "gdbarch_dump: gdbarch_get_siginfo_type_p() = %d\n",
1068 gdbarch_get_siginfo_type_p (gdbarch
));
1069 fprintf_unfiltered (file
,
1070 "gdbarch_dump: get_siginfo_type = <%s>\n",
1071 host_address_to_string (gdbarch
->get_siginfo_type
));
1072 fprintf_unfiltered (file
,
1073 "gdbarch_dump: gdbarch_get_syscall_number_p() = %d\n",
1074 gdbarch_get_syscall_number_p (gdbarch
));
1075 fprintf_unfiltered (file
,
1076 "gdbarch_dump: get_syscall_number = <%s>\n",
1077 host_address_to_string (gdbarch
->get_syscall_number
));
1078 fprintf_unfiltered (file
,
1079 "gdbarch_dump: gdbarch_get_thread_local_address_p() = %d\n",
1080 gdbarch_get_thread_local_address_p (gdbarch
));
1081 fprintf_unfiltered (file
,
1082 "gdbarch_dump: get_thread_local_address = <%s>\n",
1083 host_address_to_string (gdbarch
->get_thread_local_address
));
1084 fprintf_unfiltered (file
,
1085 "gdbarch_dump: gnu_triplet_regexp = <%s>\n",
1086 host_address_to_string (gdbarch
->gnu_triplet_regexp
));
1087 fprintf_unfiltered (file
,
1088 "gdbarch_dump: guess_tracepoint_registers = <%s>\n",
1089 host_address_to_string (gdbarch
->guess_tracepoint_registers
));
1090 fprintf_unfiltered (file
,
1091 "gdbarch_dump: half_bit = %s\n",
1092 plongest (gdbarch
->half_bit
));
1093 fprintf_unfiltered (file
,
1094 "gdbarch_dump: half_format = %s\n",
1095 pformat (gdbarch
->half_format
));
1096 fprintf_unfiltered (file
,
1097 "gdbarch_dump: gdbarch_handle_segmentation_fault_p() = %d\n",
1098 gdbarch_handle_segmentation_fault_p (gdbarch
));
1099 fprintf_unfiltered (file
,
1100 "gdbarch_dump: handle_segmentation_fault = <%s>\n",
1101 host_address_to_string (gdbarch
->handle_segmentation_fault
));
1102 fprintf_unfiltered (file
,
1103 "gdbarch_dump: has_dos_based_file_system = %s\n",
1104 plongest (gdbarch
->has_dos_based_file_system
));
1105 fprintf_unfiltered (file
,
1106 "gdbarch_dump: has_global_breakpoints = %s\n",
1107 plongest (gdbarch
->has_global_breakpoints
));
1108 fprintf_unfiltered (file
,
1109 "gdbarch_dump: has_global_solist = %s\n",
1110 plongest (gdbarch
->has_global_solist
));
1111 fprintf_unfiltered (file
,
1112 "gdbarch_dump: has_shared_address_space = <%s>\n",
1113 host_address_to_string (gdbarch
->has_shared_address_space
));
1114 fprintf_unfiltered (file
,
1115 "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
1116 plongest (gdbarch
->have_nonsteppable_watchpoint
));
1117 fprintf_unfiltered (file
,
1118 "gdbarch_dump: in_indirect_branch_thunk = <%s>\n",
1119 host_address_to_string (gdbarch
->in_indirect_branch_thunk
));
1120 fprintf_unfiltered (file
,
1121 "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
1122 host_address_to_string (gdbarch
->in_solib_return_trampoline
));
1123 fprintf_unfiltered (file
,
1124 "gdbarch_dump: infcall_mmap = <%s>\n",
1125 host_address_to_string (gdbarch
->infcall_mmap
));
1126 fprintf_unfiltered (file
,
1127 "gdbarch_dump: infcall_munmap = <%s>\n",
1128 host_address_to_string (gdbarch
->infcall_munmap
));
1129 fprintf_unfiltered (file
,
1130 "gdbarch_dump: gdbarch_info_proc_p() = %d\n",
1131 gdbarch_info_proc_p (gdbarch
));
1132 fprintf_unfiltered (file
,
1133 "gdbarch_dump: info_proc = <%s>\n",
1134 host_address_to_string (gdbarch
->info_proc
));
1135 fprintf_unfiltered (file
,
1136 "gdbarch_dump: inner_than = <%s>\n",
1137 host_address_to_string (gdbarch
->inner_than
));
1138 fprintf_unfiltered (file
,
1139 "gdbarch_dump: insn_is_call = <%s>\n",
1140 host_address_to_string (gdbarch
->insn_is_call
));
1141 fprintf_unfiltered (file
,
1142 "gdbarch_dump: insn_is_jump = <%s>\n",
1143 host_address_to_string (gdbarch
->insn_is_jump
));
1144 fprintf_unfiltered (file
,
1145 "gdbarch_dump: insn_is_ret = <%s>\n",
1146 host_address_to_string (gdbarch
->insn_is_ret
));
1147 fprintf_unfiltered (file
,
1148 "gdbarch_dump: int_bit = %s\n",
1149 plongest (gdbarch
->int_bit
));
1150 fprintf_unfiltered (file
,
1151 "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
1152 gdbarch_integer_to_address_p (gdbarch
));
1153 fprintf_unfiltered (file
,
1154 "gdbarch_dump: integer_to_address = <%s>\n",
1155 host_address_to_string (gdbarch
->integer_to_address
));
1156 fprintf_unfiltered (file
,
1157 "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n",
1158 host_address_to_string (gdbarch
->iterate_over_objfiles_in_search_order
));
1159 fprintf_unfiltered (file
,
1160 "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n",
1161 gdbarch_iterate_over_regset_sections_p (gdbarch
));
1162 fprintf_unfiltered (file
,
1163 "gdbarch_dump: iterate_over_regset_sections = <%s>\n",
1164 host_address_to_string (gdbarch
->iterate_over_regset_sections
));
1165 fprintf_unfiltered (file
,
1166 "gdbarch_dump: long_bit = %s\n",
1167 plongest (gdbarch
->long_bit
));
1168 fprintf_unfiltered (file
,
1169 "gdbarch_dump: long_double_bit = %s\n",
1170 plongest (gdbarch
->long_double_bit
));
1171 fprintf_unfiltered (file
,
1172 "gdbarch_dump: long_double_format = %s\n",
1173 pformat (gdbarch
->long_double_format
));
1174 fprintf_unfiltered (file
,
1175 "gdbarch_dump: long_long_bit = %s\n",
1176 plongest (gdbarch
->long_long_bit
));
1177 fprintf_unfiltered (file
,
1178 "gdbarch_dump: gdbarch_make_corefile_notes_p() = %d\n",
1179 gdbarch_make_corefile_notes_p (gdbarch
));
1180 fprintf_unfiltered (file
,
1181 "gdbarch_dump: make_corefile_notes = <%s>\n",
1182 host_address_to_string (gdbarch
->make_corefile_notes
));
1183 fprintf_unfiltered (file
,
1184 "gdbarch_dump: make_symbol_special = <%s>\n",
1185 host_address_to_string (gdbarch
->make_symbol_special
));
1186 fprintf_unfiltered (file
,
1187 "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
1188 gdbarch_max_insn_length_p (gdbarch
));
1189 fprintf_unfiltered (file
,
1190 "gdbarch_dump: max_insn_length = %s\n",
1191 plongest (gdbarch
->max_insn_length
));
1192 fprintf_unfiltered (file
,
1193 "gdbarch_dump: memory_insert_breakpoint = <%s>\n",
1194 host_address_to_string (gdbarch
->memory_insert_breakpoint
));
1195 fprintf_unfiltered (file
,
1196 "gdbarch_dump: memory_remove_breakpoint = <%s>\n",
1197 host_address_to_string (gdbarch
->memory_remove_breakpoint
));
1198 fprintf_unfiltered (file
,
1199 "gdbarch_dump: num_pseudo_regs = %s\n",
1200 plongest (gdbarch
->num_pseudo_regs
));
1201 fprintf_unfiltered (file
,
1202 "gdbarch_dump: num_regs = %s\n",
1203 plongest (gdbarch
->num_regs
));
1204 fprintf_unfiltered (file
,
1205 "gdbarch_dump: osabi = %s\n",
1206 plongest (gdbarch
->osabi
));
1207 fprintf_unfiltered (file
,
1208 "gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
1209 gdbarch_overlay_update_p (gdbarch
));
1210 fprintf_unfiltered (file
,
1211 "gdbarch_dump: overlay_update = <%s>\n",
1212 host_address_to_string (gdbarch
->overlay_update
));
1213 fprintf_unfiltered (file
,
1214 "gdbarch_dump: pc_regnum = %s\n",
1215 plongest (gdbarch
->pc_regnum
));
1216 fprintf_unfiltered (file
,
1217 "gdbarch_dump: pointer_to_address = <%s>\n",
1218 host_address_to_string (gdbarch
->pointer_to_address
));
1219 fprintf_unfiltered (file
,
1220 "gdbarch_dump: print_auxv_entry = <%s>\n",
1221 host_address_to_string (gdbarch
->print_auxv_entry
));
1222 fprintf_unfiltered (file
,
1223 "gdbarch_dump: print_float_info = <%s>\n",
1224 host_address_to_string (gdbarch
->print_float_info
));
1225 fprintf_unfiltered (file
,
1226 "gdbarch_dump: print_insn = <%s>\n",
1227 host_address_to_string (gdbarch
->print_insn
));
1228 fprintf_unfiltered (file
,
1229 "gdbarch_dump: print_registers_info = <%s>\n",
1230 host_address_to_string (gdbarch
->print_registers_info
));
1231 fprintf_unfiltered (file
,
1232 "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
1233 gdbarch_print_vector_info_p (gdbarch
));
1234 fprintf_unfiltered (file
,
1235 "gdbarch_dump: print_vector_info = <%s>\n",
1236 host_address_to_string (gdbarch
->print_vector_info
));
1237 fprintf_unfiltered (file
,
1238 "gdbarch_dump: gdbarch_process_record_p() = %d\n",
1239 gdbarch_process_record_p (gdbarch
));
1240 fprintf_unfiltered (file
,
1241 "gdbarch_dump: process_record = <%s>\n",
1242 host_address_to_string (gdbarch
->process_record
));
1243 fprintf_unfiltered (file
,
1244 "gdbarch_dump: gdbarch_process_record_signal_p() = %d\n",
1245 gdbarch_process_record_signal_p (gdbarch
));
1246 fprintf_unfiltered (file
,
1247 "gdbarch_dump: process_record_signal = <%s>\n",
1248 host_address_to_string (gdbarch
->process_record_signal
));
1249 fprintf_unfiltered (file
,
1250 "gdbarch_dump: program_breakpoint_here_p = <%s>\n",
1251 host_address_to_string (gdbarch
->program_breakpoint_here_p
));
1252 fprintf_unfiltered (file
,
1253 "gdbarch_dump: ps_regnum = %s\n",
1254 plongest (gdbarch
->ps_regnum
));
1255 fprintf_unfiltered (file
,
1256 "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
1257 gdbarch_pseudo_register_read_p (gdbarch
));
1258 fprintf_unfiltered (file
,
1259 "gdbarch_dump: pseudo_register_read = <%s>\n",
1260 host_address_to_string (gdbarch
->pseudo_register_read
));
1261 fprintf_unfiltered (file
,
1262 "gdbarch_dump: gdbarch_pseudo_register_read_value_p() = %d\n",
1263 gdbarch_pseudo_register_read_value_p (gdbarch
));
1264 fprintf_unfiltered (file
,
1265 "gdbarch_dump: pseudo_register_read_value = <%s>\n",
1266 host_address_to_string (gdbarch
->pseudo_register_read_value
));
1267 fprintf_unfiltered (file
,
1268 "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
1269 gdbarch_pseudo_register_write_p (gdbarch
));
1270 fprintf_unfiltered (file
,
1271 "gdbarch_dump: pseudo_register_write = <%s>\n",
1272 host_address_to_string (gdbarch
->pseudo_register_write
));
1273 fprintf_unfiltered (file
,
1274 "gdbarch_dump: ptr_bit = %s\n",
1275 plongest (gdbarch
->ptr_bit
));
1276 fprintf_unfiltered (file
,
1277 "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
1278 gdbarch_push_dummy_call_p (gdbarch
));
1279 fprintf_unfiltered (file
,
1280 "gdbarch_dump: push_dummy_call = <%s>\n",
1281 host_address_to_string (gdbarch
->push_dummy_call
));
1282 fprintf_unfiltered (file
,
1283 "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
1284 gdbarch_push_dummy_code_p (gdbarch
));
1285 fprintf_unfiltered (file
,
1286 "gdbarch_dump: push_dummy_code = <%s>\n",
1287 host_address_to_string (gdbarch
->push_dummy_code
));
1288 fprintf_unfiltered (file
,
1289 "gdbarch_dump: ravenscar_ops = %s\n",
1290 host_address_to_string (gdbarch
->ravenscar_ops
));
1291 fprintf_unfiltered (file
,
1292 "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
1293 gdbarch_read_pc_p (gdbarch
));
1294 fprintf_unfiltered (file
,
1295 "gdbarch_dump: read_pc = <%s>\n",
1296 host_address_to_string (gdbarch
->read_pc
));
1297 fprintf_unfiltered (file
,
1298 "gdbarch_dump: gdbarch_record_special_symbol_p() = %d\n",
1299 gdbarch_record_special_symbol_p (gdbarch
));
1300 fprintf_unfiltered (file
,
1301 "gdbarch_dump: record_special_symbol = <%s>\n",
1302 host_address_to_string (gdbarch
->record_special_symbol
));
1303 fprintf_unfiltered (file
,
1304 "gdbarch_dump: register_name = <%s>\n",
1305 host_address_to_string (gdbarch
->register_name
));
1306 fprintf_unfiltered (file
,
1307 "gdbarch_dump: register_reggroup_p = <%s>\n",
1308 host_address_to_string (gdbarch
->register_reggroup_p
));
1309 fprintf_unfiltered (file
,
1310 "gdbarch_dump: register_sim_regno = <%s>\n",
1311 host_address_to_string (gdbarch
->register_sim_regno
));
1312 fprintf_unfiltered (file
,
1313 "gdbarch_dump: register_to_value = <%s>\n",
1314 host_address_to_string (gdbarch
->register_to_value
));
1315 fprintf_unfiltered (file
,
1316 "gdbarch_dump: gdbarch_register_type_p() = %d\n",
1317 gdbarch_register_type_p (gdbarch
));
1318 fprintf_unfiltered (file
,
1319 "gdbarch_dump: register_type = <%s>\n",
1320 host_address_to_string (gdbarch
->register_type
));
1321 fprintf_unfiltered (file
,
1322 "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n",
1323 gdbarch_relocate_instruction_p (gdbarch
));
1324 fprintf_unfiltered (file
,
1325 "gdbarch_dump: relocate_instruction = <%s>\n",
1326 host_address_to_string (gdbarch
->relocate_instruction
));
1327 fprintf_unfiltered (file
,
1328 "gdbarch_dump: remote_register_number = <%s>\n",
1329 host_address_to_string (gdbarch
->remote_register_number
));
1330 fprintf_unfiltered (file
,
1331 "gdbarch_dump: return_in_first_hidden_param_p = <%s>\n",
1332 host_address_to_string (gdbarch
->return_in_first_hidden_param_p
));
1333 fprintf_unfiltered (file
,
1334 "gdbarch_dump: gdbarch_return_value_p() = %d\n",
1335 gdbarch_return_value_p (gdbarch
));
1336 fprintf_unfiltered (file
,
1337 "gdbarch_dump: return_value = <%s>\n",
1338 host_address_to_string (gdbarch
->return_value
));
1339 fprintf_unfiltered (file
,
1340 "gdbarch_dump: sdb_reg_to_regnum = <%s>\n",
1341 host_address_to_string (gdbarch
->sdb_reg_to_regnum
));
1342 fprintf_unfiltered (file
,
1343 "gdbarch_dump: short_bit = %s\n",
1344 plongest (gdbarch
->short_bit
));
1345 fprintf_unfiltered (file
,
1346 "gdbarch_dump: significant_addr_bit = %s\n",
1347 plongest (gdbarch
->significant_addr_bit
));
1348 fprintf_unfiltered (file
,
1349 "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
1350 gdbarch_single_step_through_delay_p (gdbarch
));
1351 fprintf_unfiltered (file
,
1352 "gdbarch_dump: single_step_through_delay = <%s>\n",
1353 host_address_to_string (gdbarch
->single_step_through_delay
));
1354 fprintf_unfiltered (file
,
1355 "gdbarch_dump: gdbarch_skip_entrypoint_p() = %d\n",
1356 gdbarch_skip_entrypoint_p (gdbarch
));
1357 fprintf_unfiltered (file
,
1358 "gdbarch_dump: skip_entrypoint = <%s>\n",
1359 host_address_to_string (gdbarch
->skip_entrypoint
));
1360 fprintf_unfiltered (file
,
1361 "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n",
1362 gdbarch_skip_main_prologue_p (gdbarch
));
1363 fprintf_unfiltered (file
,
1364 "gdbarch_dump: skip_main_prologue = <%s>\n",
1365 host_address_to_string (gdbarch
->skip_main_prologue
));
1366 fprintf_unfiltered (file
,
1367 "gdbarch_dump: skip_permanent_breakpoint = <%s>\n",
1368 host_address_to_string (gdbarch
->skip_permanent_breakpoint
));
1369 fprintf_unfiltered (file
,
1370 "gdbarch_dump: skip_prologue = <%s>\n",
1371 host_address_to_string (gdbarch
->skip_prologue
));
1372 fprintf_unfiltered (file
,
1373 "gdbarch_dump: skip_solib_resolver = <%s>\n",
1374 host_address_to_string (gdbarch
->skip_solib_resolver
));
1375 fprintf_unfiltered (file
,
1376 "gdbarch_dump: skip_trampoline_code = <%s>\n",
1377 host_address_to_string (gdbarch
->skip_trampoline_code
));
1378 fprintf_unfiltered (file
,
1379 "gdbarch_dump: gdbarch_software_single_step_p() = %d\n",
1380 gdbarch_software_single_step_p (gdbarch
));
1381 fprintf_unfiltered (file
,
1382 "gdbarch_dump: software_single_step = <%s>\n",
1383 host_address_to_string (gdbarch
->software_single_step
));
1384 fprintf_unfiltered (file
,
1385 "gdbarch_dump: sofun_address_maybe_missing = %s\n",
1386 plongest (gdbarch
->sofun_address_maybe_missing
));
1387 fprintf_unfiltered (file
,
1388 "gdbarch_dump: solib_symbols_extension = %s\n",
1389 pstring (gdbarch
->solib_symbols_extension
));
1390 fprintf_unfiltered (file
,
1391 "gdbarch_dump: sp_regnum = %s\n",
1392 plongest (gdbarch
->sp_regnum
));
1393 fprintf_unfiltered (file
,
1394 "gdbarch_dump: stab_reg_to_regnum = <%s>\n",
1395 host_address_to_string (gdbarch
->stab_reg_to_regnum
));
1396 fprintf_unfiltered (file
,
1397 "gdbarch_dump: stabs_argument_has_addr = <%s>\n",
1398 host_address_to_string (gdbarch
->stabs_argument_has_addr
));
1399 fprintf_unfiltered (file
,
1400 "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
1401 host_address_to_string (gdbarch
->stack_frame_destroyed_p
));
1402 fprintf_unfiltered (file
,
1403 "gdbarch_dump: gdbarch_stap_adjust_register_p() = %d\n",
1404 gdbarch_stap_adjust_register_p (gdbarch
));
1405 fprintf_unfiltered (file
,
1406 "gdbarch_dump: stap_adjust_register = <%s>\n",
1407 host_address_to_string (gdbarch
->stap_adjust_register
));
1408 fprintf_unfiltered (file
,
1409 "gdbarch_dump: stap_gdb_register_prefix = %s\n",
1410 pstring (gdbarch
->stap_gdb_register_prefix
));
1411 fprintf_unfiltered (file
,
1412 "gdbarch_dump: stap_gdb_register_suffix = %s\n",
1413 pstring (gdbarch
->stap_gdb_register_suffix
));
1414 fprintf_unfiltered (file
,
1415 "gdbarch_dump: stap_integer_prefixes = %s\n",
1416 pstring_list (gdbarch
->stap_integer_prefixes
));
1417 fprintf_unfiltered (file
,
1418 "gdbarch_dump: stap_integer_suffixes = %s\n",
1419 pstring_list (gdbarch
->stap_integer_suffixes
));
1420 fprintf_unfiltered (file
,
1421 "gdbarch_dump: gdbarch_stap_is_single_operand_p() = %d\n",
1422 gdbarch_stap_is_single_operand_p (gdbarch
));
1423 fprintf_unfiltered (file
,
1424 "gdbarch_dump: stap_is_single_operand = <%s>\n",
1425 host_address_to_string (gdbarch
->stap_is_single_operand
));
1426 fprintf_unfiltered (file
,
1427 "gdbarch_dump: gdbarch_stap_parse_special_token_p() = %d\n",
1428 gdbarch_stap_parse_special_token_p (gdbarch
));
1429 fprintf_unfiltered (file
,
1430 "gdbarch_dump: stap_parse_special_token = <%s>\n",
1431 host_address_to_string (gdbarch
->stap_parse_special_token
));
1432 fprintf_unfiltered (file
,
1433 "gdbarch_dump: stap_register_indirection_prefixes = %s\n",
1434 pstring_list (gdbarch
->stap_register_indirection_prefixes
));
1435 fprintf_unfiltered (file
,
1436 "gdbarch_dump: stap_register_indirection_suffixes = %s\n",
1437 pstring_list (gdbarch
->stap_register_indirection_suffixes
));
1438 fprintf_unfiltered (file
,
1439 "gdbarch_dump: stap_register_prefixes = %s\n",
1440 pstring_list (gdbarch
->stap_register_prefixes
));
1441 fprintf_unfiltered (file
,
1442 "gdbarch_dump: stap_register_suffixes = %s\n",
1443 pstring_list (gdbarch
->stap_register_suffixes
));
1444 fprintf_unfiltered (file
,
1445 "gdbarch_dump: sw_breakpoint_from_kind = <%s>\n",
1446 host_address_to_string (gdbarch
->sw_breakpoint_from_kind
));
1447 fprintf_unfiltered (file
,
1448 "gdbarch_dump: syscalls_info = %s\n",
1449 host_address_to_string (gdbarch
->syscalls_info
));
1450 fprintf_unfiltered (file
,
1451 "gdbarch_dump: target_desc = %s\n",
1452 host_address_to_string (gdbarch
->target_desc
));
1453 fprintf_unfiltered (file
,
1454 "gdbarch_dump: type_align = <%s>\n",
1455 host_address_to_string (gdbarch
->type_align
));
1456 fprintf_unfiltered (file
,
1457 "gdbarch_dump: unwind_pc = <%s>\n",
1458 host_address_to_string (gdbarch
->unwind_pc
));
1459 fprintf_unfiltered (file
,
1460 "gdbarch_dump: unwind_sp = <%s>\n",
1461 host_address_to_string (gdbarch
->unwind_sp
));
1462 fprintf_unfiltered (file
,
1463 "gdbarch_dump: valid_disassembler_options = %s\n",
1464 host_address_to_string (gdbarch
->valid_disassembler_options
));
1465 fprintf_unfiltered (file
,
1466 "gdbarch_dump: value_from_register = <%s>\n",
1467 host_address_to_string (gdbarch
->value_from_register
));
1468 fprintf_unfiltered (file
,
1469 "gdbarch_dump: value_to_register = <%s>\n",
1470 host_address_to_string (gdbarch
->value_to_register
));
1471 fprintf_unfiltered (file
,
1472 "gdbarch_dump: vbit_in_delta = %s\n",
1473 plongest (gdbarch
->vbit_in_delta
));
1474 fprintf_unfiltered (file
,
1475 "gdbarch_dump: virtual_frame_pointer = <%s>\n",
1476 host_address_to_string (gdbarch
->virtual_frame_pointer
));
1477 fprintf_unfiltered (file
,
1478 "gdbarch_dump: vsyscall_range = <%s>\n",
1479 host_address_to_string (gdbarch
->vsyscall_range
));
1480 fprintf_unfiltered (file
,
1481 "gdbarch_dump: vtable_function_descriptors = %s\n",
1482 plongest (gdbarch
->vtable_function_descriptors
));
1483 fprintf_unfiltered (file
,
1484 "gdbarch_dump: wchar_bit = %s\n",
1485 plongest (gdbarch
->wchar_bit
));
1486 fprintf_unfiltered (file
,
1487 "gdbarch_dump: wchar_signed = %s\n",
1488 plongest (gdbarch
->wchar_signed
));
1489 fprintf_unfiltered (file
,
1490 "gdbarch_dump: gdbarch_write_pc_p() = %d\n",
1491 gdbarch_write_pc_p (gdbarch
));
1492 fprintf_unfiltered (file
,
1493 "gdbarch_dump: write_pc = <%s>\n",
1494 host_address_to_string (gdbarch
->write_pc
));
1495 fprintf_unfiltered (file
,
1496 "gdbarch_dump: xml_syscall_file = %s\n",
1497 pstring (gdbarch
->xml_syscall_file
));
1498 if (gdbarch
->dump_tdep
!= NULL
)
1499 gdbarch
->dump_tdep (gdbarch
, file
);
1502 struct gdbarch_tdep
*
1503 gdbarch_tdep (struct gdbarch
*gdbarch
)
1505 if (gdbarch_debug
>= 2)
1506 fprintf_unfiltered (gdb_stdlog
, "gdbarch_tdep called\n");
1507 return gdbarch
->tdep
;
1511 const struct bfd_arch_info
*
1512 gdbarch_bfd_arch_info (struct gdbarch
*gdbarch
)
1514 gdb_assert (gdbarch
!= NULL
);
1515 if (gdbarch_debug
>= 2)
1516 fprintf_unfiltered (gdb_stdlog
, "gdbarch_bfd_arch_info called\n");
1517 return gdbarch
->bfd_arch_info
;
1521 gdbarch_byte_order (struct gdbarch
*gdbarch
)
1523 gdb_assert (gdbarch
!= NULL
);
1524 if (gdbarch_debug
>= 2)
1525 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order called\n");
1526 return gdbarch
->byte_order
;
1530 gdbarch_byte_order_for_code (struct gdbarch
*gdbarch
)
1532 gdb_assert (gdbarch
!= NULL
);
1533 if (gdbarch_debug
>= 2)
1534 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order_for_code called\n");
1535 return gdbarch
->byte_order_for_code
;
1539 gdbarch_osabi (struct gdbarch
*gdbarch
)
1541 gdb_assert (gdbarch
!= NULL
);
1542 if (gdbarch_debug
>= 2)
1543 fprintf_unfiltered (gdb_stdlog
, "gdbarch_osabi called\n");
1544 return gdbarch
->osabi
;
1547 const struct target_desc
*
1548 gdbarch_target_desc (struct gdbarch
*gdbarch
)
1550 gdb_assert (gdbarch
!= NULL
);
1551 if (gdbarch_debug
>= 2)
1552 fprintf_unfiltered (gdb_stdlog
, "gdbarch_target_desc called\n");
1553 return gdbarch
->target_desc
;
1557 gdbarch_short_bit (struct gdbarch
*gdbarch
)
1559 gdb_assert (gdbarch
!= NULL
);
1560 /* Skip verify of short_bit, invalid_p == 0 */
1561 if (gdbarch_debug
>= 2)
1562 fprintf_unfiltered (gdb_stdlog
, "gdbarch_short_bit called\n");
1563 return gdbarch
->short_bit
;
1567 set_gdbarch_short_bit (struct gdbarch
*gdbarch
,
1570 gdbarch
->short_bit
= short_bit
;
1574 gdbarch_int_bit (struct gdbarch
*gdbarch
)
1576 gdb_assert (gdbarch
!= NULL
);
1577 /* Skip verify of int_bit, invalid_p == 0 */
1578 if (gdbarch_debug
>= 2)
1579 fprintf_unfiltered (gdb_stdlog
, "gdbarch_int_bit called\n");
1580 return gdbarch
->int_bit
;
1584 set_gdbarch_int_bit (struct gdbarch
*gdbarch
,
1587 gdbarch
->int_bit
= int_bit
;
1591 gdbarch_long_bit (struct gdbarch
*gdbarch
)
1593 gdb_assert (gdbarch
!= NULL
);
1594 /* Skip verify of long_bit, invalid_p == 0 */
1595 if (gdbarch_debug
>= 2)
1596 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_bit called\n");
1597 return gdbarch
->long_bit
;
1601 set_gdbarch_long_bit (struct gdbarch
*gdbarch
,
1604 gdbarch
->long_bit
= long_bit
;
1608 gdbarch_long_long_bit (struct gdbarch
*gdbarch
)
1610 gdb_assert (gdbarch
!= NULL
);
1611 /* Skip verify of long_long_bit, invalid_p == 0 */
1612 if (gdbarch_debug
>= 2)
1613 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_long_bit called\n");
1614 return gdbarch
->long_long_bit
;
1618 set_gdbarch_long_long_bit (struct gdbarch
*gdbarch
,
1621 gdbarch
->long_long_bit
= long_long_bit
;
1625 gdbarch_half_bit (struct gdbarch
*gdbarch
)
1627 gdb_assert (gdbarch
!= NULL
);
1628 /* Skip verify of half_bit, invalid_p == 0 */
1629 if (gdbarch_debug
>= 2)
1630 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_bit called\n");
1631 return gdbarch
->half_bit
;
1635 set_gdbarch_half_bit (struct gdbarch
*gdbarch
,
1638 gdbarch
->half_bit
= half_bit
;
1641 const struct floatformat
**
1642 gdbarch_half_format (struct gdbarch
*gdbarch
)
1644 gdb_assert (gdbarch
!= NULL
);
1645 if (gdbarch_debug
>= 2)
1646 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_format called\n");
1647 return gdbarch
->half_format
;
1651 set_gdbarch_half_format (struct gdbarch
*gdbarch
,
1652 const struct floatformat
** half_format
)
1654 gdbarch
->half_format
= half_format
;
1658 gdbarch_float_bit (struct gdbarch
*gdbarch
)
1660 gdb_assert (gdbarch
!= NULL
);
1661 /* Skip verify of float_bit, invalid_p == 0 */
1662 if (gdbarch_debug
>= 2)
1663 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_bit called\n");
1664 return gdbarch
->float_bit
;
1668 set_gdbarch_float_bit (struct gdbarch
*gdbarch
,
1671 gdbarch
->float_bit
= float_bit
;
1674 const struct floatformat
**
1675 gdbarch_float_format (struct gdbarch
*gdbarch
)
1677 gdb_assert (gdbarch
!= NULL
);
1678 if (gdbarch_debug
>= 2)
1679 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_format called\n");
1680 return gdbarch
->float_format
;
1684 set_gdbarch_float_format (struct gdbarch
*gdbarch
,
1685 const struct floatformat
** float_format
)
1687 gdbarch
->float_format
= float_format
;
1691 gdbarch_double_bit (struct gdbarch
*gdbarch
)
1693 gdb_assert (gdbarch
!= NULL
);
1694 /* Skip verify of double_bit, invalid_p == 0 */
1695 if (gdbarch_debug
>= 2)
1696 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_bit called\n");
1697 return gdbarch
->double_bit
;
1701 set_gdbarch_double_bit (struct gdbarch
*gdbarch
,
1704 gdbarch
->double_bit
= double_bit
;
1707 const struct floatformat
**
1708 gdbarch_double_format (struct gdbarch
*gdbarch
)
1710 gdb_assert (gdbarch
!= NULL
);
1711 if (gdbarch_debug
>= 2)
1712 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_format called\n");
1713 return gdbarch
->double_format
;
1717 set_gdbarch_double_format (struct gdbarch
*gdbarch
,
1718 const struct floatformat
** double_format
)
1720 gdbarch
->double_format
= double_format
;
1724 gdbarch_long_double_bit (struct gdbarch
*gdbarch
)
1726 gdb_assert (gdbarch
!= NULL
);
1727 /* Skip verify of long_double_bit, invalid_p == 0 */
1728 if (gdbarch_debug
>= 2)
1729 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_bit called\n");
1730 return gdbarch
->long_double_bit
;
1734 set_gdbarch_long_double_bit (struct gdbarch
*gdbarch
,
1735 int long_double_bit
)
1737 gdbarch
->long_double_bit
= long_double_bit
;
1740 const struct floatformat
**
1741 gdbarch_long_double_format (struct gdbarch
*gdbarch
)
1743 gdb_assert (gdbarch
!= NULL
);
1744 if (gdbarch_debug
>= 2)
1745 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_format called\n");
1746 return gdbarch
->long_double_format
;
1750 set_gdbarch_long_double_format (struct gdbarch
*gdbarch
,
1751 const struct floatformat
** long_double_format
)
1753 gdbarch
->long_double_format
= long_double_format
;
1757 gdbarch_wchar_bit (struct gdbarch
*gdbarch
)
1759 gdb_assert (gdbarch
!= NULL
);
1760 /* Skip verify of wchar_bit, invalid_p == 0 */
1761 if (gdbarch_debug
>= 2)
1762 fprintf_unfiltered (gdb_stdlog
, "gdbarch_wchar_bit called\n");
1763 return gdbarch
->wchar_bit
;
1767 set_gdbarch_wchar_bit (struct gdbarch
*gdbarch
,
1770 gdbarch
->wchar_bit
= wchar_bit
;
1774 gdbarch_wchar_signed (struct gdbarch
*gdbarch
)
1776 gdb_assert (gdbarch
!= NULL
);
1777 /* Check variable changed from pre-default. */
1778 gdb_assert (gdbarch
->wchar_signed
!= -1);
1779 if (gdbarch_debug
>= 2)
1780 fprintf_unfiltered (gdb_stdlog
, "gdbarch_wchar_signed called\n");
1781 return gdbarch
->wchar_signed
;
1785 set_gdbarch_wchar_signed (struct gdbarch
*gdbarch
,
1788 gdbarch
->wchar_signed
= wchar_signed
;
1791 const struct floatformat
**
1792 gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
, const char *name
, int length
)
1794 gdb_assert (gdbarch
!= NULL
);
1795 gdb_assert (gdbarch
->floatformat_for_type
!= NULL
);
1796 if (gdbarch_debug
>= 2)
1797 fprintf_unfiltered (gdb_stdlog
, "gdbarch_floatformat_for_type called\n");
1798 return gdbarch
->floatformat_for_type (gdbarch
, name
, length
);
1802 set_gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
,
1803 gdbarch_floatformat_for_type_ftype floatformat_for_type
)
1805 gdbarch
->floatformat_for_type
= floatformat_for_type
;
1809 gdbarch_ptr_bit (struct gdbarch
*gdbarch
)
1811 gdb_assert (gdbarch
!= NULL
);
1812 /* Skip verify of ptr_bit, invalid_p == 0 */
1813 if (gdbarch_debug
>= 2)
1814 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ptr_bit called\n");
1815 return gdbarch
->ptr_bit
;
1819 set_gdbarch_ptr_bit (struct gdbarch
*gdbarch
,
1822 gdbarch
->ptr_bit
= ptr_bit
;
1826 gdbarch_addr_bit (struct gdbarch
*gdbarch
)
1828 gdb_assert (gdbarch
!= NULL
);
1829 /* Check variable changed from pre-default. */
1830 gdb_assert (gdbarch
->addr_bit
!= 0);
1831 if (gdbarch_debug
>= 2)
1832 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bit called\n");
1833 return gdbarch
->addr_bit
;
1837 set_gdbarch_addr_bit (struct gdbarch
*gdbarch
,
1840 gdbarch
->addr_bit
= addr_bit
;
1844 gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
)
1846 gdb_assert (gdbarch
!= NULL
);
1847 /* Check variable changed from pre-default. */
1848 gdb_assert (gdbarch
->dwarf2_addr_size
!= 0);
1849 if (gdbarch_debug
>= 2)
1850 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_addr_size called\n");
1851 return gdbarch
->dwarf2_addr_size
;
1855 set_gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
,
1856 int dwarf2_addr_size
)
1858 gdbarch
->dwarf2_addr_size
= dwarf2_addr_size
;
1862 gdbarch_char_signed (struct gdbarch
*gdbarch
)
1864 gdb_assert (gdbarch
!= NULL
);
1865 /* Check variable changed from pre-default. */
1866 gdb_assert (gdbarch
->char_signed
!= -1);
1867 if (gdbarch_debug
>= 2)
1868 fprintf_unfiltered (gdb_stdlog
, "gdbarch_char_signed called\n");
1869 return gdbarch
->char_signed
;
1873 set_gdbarch_char_signed (struct gdbarch
*gdbarch
,
1876 gdbarch
->char_signed
= char_signed
;
1880 gdbarch_read_pc_p (struct gdbarch
*gdbarch
)
1882 gdb_assert (gdbarch
!= NULL
);
1883 return gdbarch
->read_pc
!= NULL
;
1887 gdbarch_read_pc (struct gdbarch
*gdbarch
, readable_regcache
*regcache
)
1889 gdb_assert (gdbarch
!= NULL
);
1890 gdb_assert (gdbarch
->read_pc
!= NULL
);
1891 if (gdbarch_debug
>= 2)
1892 fprintf_unfiltered (gdb_stdlog
, "gdbarch_read_pc called\n");
1893 return gdbarch
->read_pc (regcache
);
1897 set_gdbarch_read_pc (struct gdbarch
*gdbarch
,
1898 gdbarch_read_pc_ftype read_pc
)
1900 gdbarch
->read_pc
= read_pc
;
1904 gdbarch_write_pc_p (struct gdbarch
*gdbarch
)
1906 gdb_assert (gdbarch
!= NULL
);
1907 return gdbarch
->write_pc
!= NULL
;
1911 gdbarch_write_pc (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR val
)
1913 gdb_assert (gdbarch
!= NULL
);
1914 gdb_assert (gdbarch
->write_pc
!= NULL
);
1915 if (gdbarch_debug
>= 2)
1916 fprintf_unfiltered (gdb_stdlog
, "gdbarch_write_pc called\n");
1917 gdbarch
->write_pc (regcache
, val
);
1921 set_gdbarch_write_pc (struct gdbarch
*gdbarch
,
1922 gdbarch_write_pc_ftype write_pc
)
1924 gdbarch
->write_pc
= write_pc
;
1928 gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
, CORE_ADDR pc
, int *frame_regnum
, LONGEST
*frame_offset
)
1930 gdb_assert (gdbarch
!= NULL
);
1931 gdb_assert (gdbarch
->virtual_frame_pointer
!= NULL
);
1932 if (gdbarch_debug
>= 2)
1933 fprintf_unfiltered (gdb_stdlog
, "gdbarch_virtual_frame_pointer called\n");
1934 gdbarch
->virtual_frame_pointer (gdbarch
, pc
, frame_regnum
, frame_offset
);
1938 set_gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
,
1939 gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer
)
1941 gdbarch
->virtual_frame_pointer
= virtual_frame_pointer
;
1945 gdbarch_pseudo_register_read_p (struct gdbarch
*gdbarch
)
1947 gdb_assert (gdbarch
!= NULL
);
1948 return gdbarch
->pseudo_register_read
!= NULL
;
1951 enum register_status
1952 gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
, readable_regcache
*regcache
, int cookednum
, gdb_byte
*buf
)
1954 gdb_assert (gdbarch
!= NULL
);
1955 gdb_assert (gdbarch
->pseudo_register_read
!= NULL
);
1956 if (gdbarch_debug
>= 2)
1957 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read called\n");
1958 return gdbarch
->pseudo_register_read (gdbarch
, regcache
, cookednum
, buf
);
1962 set_gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
,
1963 gdbarch_pseudo_register_read_ftype pseudo_register_read
)
1965 gdbarch
->pseudo_register_read
= pseudo_register_read
;
1969 gdbarch_pseudo_register_read_value_p (struct gdbarch
*gdbarch
)
1971 gdb_assert (gdbarch
!= NULL
);
1972 return gdbarch
->pseudo_register_read_value
!= NULL
;
1976 gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
, readable_regcache
*regcache
, int cookednum
)
1978 gdb_assert (gdbarch
!= NULL
);
1979 gdb_assert (gdbarch
->pseudo_register_read_value
!= NULL
);
1980 if (gdbarch_debug
>= 2)
1981 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read_value called\n");
1982 return gdbarch
->pseudo_register_read_value (gdbarch
, regcache
, cookednum
);
1986 set_gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
,
1987 gdbarch_pseudo_register_read_value_ftype pseudo_register_read_value
)
1989 gdbarch
->pseudo_register_read_value
= pseudo_register_read_value
;
1993 gdbarch_pseudo_register_write_p (struct gdbarch
*gdbarch
)
1995 gdb_assert (gdbarch
!= NULL
);
1996 return gdbarch
->pseudo_register_write
!= NULL
;
2000 gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
, struct regcache
*regcache
, int cookednum
, const gdb_byte
*buf
)
2002 gdb_assert (gdbarch
!= NULL
);
2003 gdb_assert (gdbarch
->pseudo_register_write
!= NULL
);
2004 if (gdbarch_debug
>= 2)
2005 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_write called\n");
2006 gdbarch
->pseudo_register_write (gdbarch
, regcache
, cookednum
, buf
);
2010 set_gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
,
2011 gdbarch_pseudo_register_write_ftype pseudo_register_write
)
2013 gdbarch
->pseudo_register_write
= pseudo_register_write
;
2017 gdbarch_num_regs (struct gdbarch
*gdbarch
)
2019 gdb_assert (gdbarch
!= NULL
);
2020 /* Check variable changed from pre-default. */
2021 gdb_assert (gdbarch
->num_regs
!= -1);
2022 if (gdbarch_debug
>= 2)
2023 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_regs called\n");
2024 return gdbarch
->num_regs
;
2028 set_gdbarch_num_regs (struct gdbarch
*gdbarch
,
2031 gdbarch
->num_regs
= num_regs
;
2035 gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
)
2037 gdb_assert (gdbarch
!= NULL
);
2038 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
2039 if (gdbarch_debug
>= 2)
2040 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_pseudo_regs called\n");
2041 return gdbarch
->num_pseudo_regs
;
2045 set_gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
,
2046 int num_pseudo_regs
)
2048 gdbarch
->num_pseudo_regs
= num_pseudo_regs
;
2052 gdbarch_ax_pseudo_register_collect_p (struct gdbarch
*gdbarch
)
2054 gdb_assert (gdbarch
!= NULL
);
2055 return gdbarch
->ax_pseudo_register_collect
!= NULL
;
2059 gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2061 gdb_assert (gdbarch
!= NULL
);
2062 gdb_assert (gdbarch
->ax_pseudo_register_collect
!= NULL
);
2063 if (gdbarch_debug
>= 2)
2064 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_collect called\n");
2065 return gdbarch
->ax_pseudo_register_collect (gdbarch
, ax
, reg
);
2069 set_gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
,
2070 gdbarch_ax_pseudo_register_collect_ftype ax_pseudo_register_collect
)
2072 gdbarch
->ax_pseudo_register_collect
= ax_pseudo_register_collect
;
2076 gdbarch_ax_pseudo_register_push_stack_p (struct gdbarch
*gdbarch
)
2078 gdb_assert (gdbarch
!= NULL
);
2079 return gdbarch
->ax_pseudo_register_push_stack
!= NULL
;
2083 gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2085 gdb_assert (gdbarch
!= NULL
);
2086 gdb_assert (gdbarch
->ax_pseudo_register_push_stack
!= NULL
);
2087 if (gdbarch_debug
>= 2)
2088 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_push_stack called\n");
2089 return gdbarch
->ax_pseudo_register_push_stack (gdbarch
, ax
, reg
);
2093 set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
,
2094 gdbarch_ax_pseudo_register_push_stack_ftype ax_pseudo_register_push_stack
)
2096 gdbarch
->ax_pseudo_register_push_stack
= ax_pseudo_register_push_stack
;
2100 gdbarch_handle_segmentation_fault_p (struct gdbarch
*gdbarch
)
2102 gdb_assert (gdbarch
!= NULL
);
2103 return gdbarch
->handle_segmentation_fault
!= NULL
;
2107 gdbarch_handle_segmentation_fault (struct gdbarch
*gdbarch
, struct ui_out
*uiout
)
2109 gdb_assert (gdbarch
!= NULL
);
2110 gdb_assert (gdbarch
->handle_segmentation_fault
!= NULL
);
2111 if (gdbarch_debug
>= 2)
2112 fprintf_unfiltered (gdb_stdlog
, "gdbarch_handle_segmentation_fault called\n");
2113 gdbarch
->handle_segmentation_fault (gdbarch
, uiout
);
2117 set_gdbarch_handle_segmentation_fault (struct gdbarch
*gdbarch
,
2118 gdbarch_handle_segmentation_fault_ftype handle_segmentation_fault
)
2120 gdbarch
->handle_segmentation_fault
= handle_segmentation_fault
;
2124 gdbarch_sp_regnum (struct gdbarch
*gdbarch
)
2126 gdb_assert (gdbarch
!= NULL
);
2127 /* Skip verify of sp_regnum, invalid_p == 0 */
2128 if (gdbarch_debug
>= 2)
2129 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sp_regnum called\n");
2130 return gdbarch
->sp_regnum
;
2134 set_gdbarch_sp_regnum (struct gdbarch
*gdbarch
,
2137 gdbarch
->sp_regnum
= sp_regnum
;
2141 gdbarch_pc_regnum (struct gdbarch
*gdbarch
)
2143 gdb_assert (gdbarch
!= NULL
);
2144 /* Skip verify of pc_regnum, invalid_p == 0 */
2145 if (gdbarch_debug
>= 2)
2146 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pc_regnum called\n");
2147 return gdbarch
->pc_regnum
;
2151 set_gdbarch_pc_regnum (struct gdbarch
*gdbarch
,
2154 gdbarch
->pc_regnum
= pc_regnum
;
2158 gdbarch_ps_regnum (struct gdbarch
*gdbarch
)
2160 gdb_assert (gdbarch
!= NULL
);
2161 /* Skip verify of ps_regnum, invalid_p == 0 */
2162 if (gdbarch_debug
>= 2)
2163 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ps_regnum called\n");
2164 return gdbarch
->ps_regnum
;
2168 set_gdbarch_ps_regnum (struct gdbarch
*gdbarch
,
2171 gdbarch
->ps_regnum
= ps_regnum
;
2175 gdbarch_fp0_regnum (struct gdbarch
*gdbarch
)
2177 gdb_assert (gdbarch
!= NULL
);
2178 /* Skip verify of fp0_regnum, invalid_p == 0 */
2179 if (gdbarch_debug
>= 2)
2180 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fp0_regnum called\n");
2181 return gdbarch
->fp0_regnum
;
2185 set_gdbarch_fp0_regnum (struct gdbarch
*gdbarch
,
2188 gdbarch
->fp0_regnum
= fp0_regnum
;
2192 gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
, int stab_regnr
)
2194 gdb_assert (gdbarch
!= NULL
);
2195 gdb_assert (gdbarch
->stab_reg_to_regnum
!= NULL
);
2196 if (gdbarch_debug
>= 2)
2197 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stab_reg_to_regnum called\n");
2198 return gdbarch
->stab_reg_to_regnum (gdbarch
, stab_regnr
);
2202 set_gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
,
2203 gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum
)
2205 gdbarch
->stab_reg_to_regnum
= stab_reg_to_regnum
;
2209 gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
, int ecoff_regnr
)
2211 gdb_assert (gdbarch
!= NULL
);
2212 gdb_assert (gdbarch
->ecoff_reg_to_regnum
!= NULL
);
2213 if (gdbarch_debug
>= 2)
2214 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ecoff_reg_to_regnum called\n");
2215 return gdbarch
->ecoff_reg_to_regnum (gdbarch
, ecoff_regnr
);
2219 set_gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
,
2220 gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum
)
2222 gdbarch
->ecoff_reg_to_regnum
= ecoff_reg_to_regnum
;
2226 gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
, int sdb_regnr
)
2228 gdb_assert (gdbarch
!= NULL
);
2229 gdb_assert (gdbarch
->sdb_reg_to_regnum
!= NULL
);
2230 if (gdbarch_debug
>= 2)
2231 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sdb_reg_to_regnum called\n");
2232 return gdbarch
->sdb_reg_to_regnum (gdbarch
, sdb_regnr
);
2236 set_gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
,
2237 gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum
)
2239 gdbarch
->sdb_reg_to_regnum
= sdb_reg_to_regnum
;
2243 gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
, int dwarf2_regnr
)
2245 gdb_assert (gdbarch
!= NULL
);
2246 gdb_assert (gdbarch
->dwarf2_reg_to_regnum
!= NULL
);
2247 if (gdbarch_debug
>= 2)
2248 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_reg_to_regnum called\n");
2249 return gdbarch
->dwarf2_reg_to_regnum (gdbarch
, dwarf2_regnr
);
2253 set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
,
2254 gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum
)
2256 gdbarch
->dwarf2_reg_to_regnum
= dwarf2_reg_to_regnum
;
2260 gdbarch_register_name (struct gdbarch
*gdbarch
, int regnr
)
2262 gdb_assert (gdbarch
!= NULL
);
2263 gdb_assert (gdbarch
->register_name
!= NULL
);
2264 if (gdbarch_debug
>= 2)
2265 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_name called\n");
2266 return gdbarch
->register_name (gdbarch
, regnr
);
2270 set_gdbarch_register_name (struct gdbarch
*gdbarch
,
2271 gdbarch_register_name_ftype register_name
)
2273 gdbarch
->register_name
= register_name
;
2277 gdbarch_register_type_p (struct gdbarch
*gdbarch
)
2279 gdb_assert (gdbarch
!= NULL
);
2280 return gdbarch
->register_type
!= NULL
;
2284 gdbarch_register_type (struct gdbarch
*gdbarch
, int reg_nr
)
2286 gdb_assert (gdbarch
!= NULL
);
2287 gdb_assert (gdbarch
->register_type
!= NULL
);
2288 if (gdbarch_debug
>= 2)
2289 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_type called\n");
2290 return gdbarch
->register_type (gdbarch
, reg_nr
);
2294 set_gdbarch_register_type (struct gdbarch
*gdbarch
,
2295 gdbarch_register_type_ftype register_type
)
2297 gdbarch
->register_type
= register_type
;
2301 gdbarch_dummy_id (struct gdbarch
*gdbarch
, struct frame_info
*this_frame
)
2303 gdb_assert (gdbarch
!= NULL
);
2304 gdb_assert (gdbarch
->dummy_id
!= NULL
);
2305 if (gdbarch_debug
>= 2)
2306 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dummy_id called\n");
2307 return gdbarch
->dummy_id (gdbarch
, this_frame
);
2311 set_gdbarch_dummy_id (struct gdbarch
*gdbarch
,
2312 gdbarch_dummy_id_ftype dummy_id
)
2314 gdbarch
->dummy_id
= dummy_id
;
2318 gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
)
2320 gdb_assert (gdbarch
!= NULL
);
2321 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
2322 if (gdbarch_debug
>= 2)
2323 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_fp_regnum called\n");
2324 return gdbarch
->deprecated_fp_regnum
;
2328 set_gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
,
2329 int deprecated_fp_regnum
)
2331 gdbarch
->deprecated_fp_regnum
= deprecated_fp_regnum
;
2335 gdbarch_push_dummy_call_p (struct gdbarch
*gdbarch
)
2337 gdb_assert (gdbarch
!= NULL
);
2338 return gdbarch
->push_dummy_call
!= NULL
;
2342 gdbarch_push_dummy_call (struct gdbarch
*gdbarch
, struct value
*function
, struct regcache
*regcache
, CORE_ADDR bp_addr
, int nargs
, struct value
**args
, CORE_ADDR sp
, function_call_return_method return_method
, CORE_ADDR struct_addr
)
2344 gdb_assert (gdbarch
!= NULL
);
2345 gdb_assert (gdbarch
->push_dummy_call
!= NULL
);
2346 if (gdbarch_debug
>= 2)
2347 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_call called\n");
2348 return gdbarch
->push_dummy_call (gdbarch
, function
, regcache
, bp_addr
, nargs
, args
, sp
, return_method
, struct_addr
);
2352 set_gdbarch_push_dummy_call (struct gdbarch
*gdbarch
,
2353 gdbarch_push_dummy_call_ftype push_dummy_call
)
2355 gdbarch
->push_dummy_call
= push_dummy_call
;
2359 gdbarch_call_dummy_location (struct gdbarch
*gdbarch
)
2361 gdb_assert (gdbarch
!= NULL
);
2362 /* Skip verify of call_dummy_location, invalid_p == 0 */
2363 if (gdbarch_debug
>= 2)
2364 fprintf_unfiltered (gdb_stdlog
, "gdbarch_call_dummy_location called\n");
2365 return gdbarch
->call_dummy_location
;
2369 set_gdbarch_call_dummy_location (struct gdbarch
*gdbarch
,
2370 int call_dummy_location
)
2372 gdbarch
->call_dummy_location
= call_dummy_location
;
2376 gdbarch_push_dummy_code_p (struct gdbarch
*gdbarch
)
2378 gdb_assert (gdbarch
!= NULL
);
2379 return gdbarch
->push_dummy_code
!= NULL
;
2383 gdbarch_push_dummy_code (struct gdbarch
*gdbarch
, CORE_ADDR sp
, CORE_ADDR funaddr
, struct value
**args
, int nargs
, struct type
*value_type
, CORE_ADDR
*real_pc
, CORE_ADDR
*bp_addr
, struct regcache
*regcache
)
2385 gdb_assert (gdbarch
!= NULL
);
2386 gdb_assert (gdbarch
->push_dummy_code
!= NULL
);
2387 if (gdbarch_debug
>= 2)
2388 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_code called\n");
2389 return gdbarch
->push_dummy_code (gdbarch
, sp
, funaddr
, args
, nargs
, value_type
, real_pc
, bp_addr
, regcache
);
2393 set_gdbarch_push_dummy_code (struct gdbarch
*gdbarch
,
2394 gdbarch_push_dummy_code_ftype push_dummy_code
)
2396 gdbarch
->push_dummy_code
= push_dummy_code
;
2400 gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
2402 gdb_assert (gdbarch
!= NULL
);
2403 gdb_assert (gdbarch
->code_of_frame_writable
!= NULL
);
2404 if (gdbarch_debug
>= 2)
2405 fprintf_unfiltered (gdb_stdlog
, "gdbarch_code_of_frame_writable called\n");
2406 return gdbarch
->code_of_frame_writable (gdbarch
, frame
);
2410 set_gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
,
2411 gdbarch_code_of_frame_writable_ftype code_of_frame_writable
)
2413 gdbarch
->code_of_frame_writable
= code_of_frame_writable
;
2417 gdbarch_print_registers_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, int regnum
, int all
)
2419 gdb_assert (gdbarch
!= NULL
);
2420 gdb_assert (gdbarch
->print_registers_info
!= NULL
);
2421 if (gdbarch_debug
>= 2)
2422 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_registers_info called\n");
2423 gdbarch
->print_registers_info (gdbarch
, file
, frame
, regnum
, all
);
2427 set_gdbarch_print_registers_info (struct gdbarch
*gdbarch
,
2428 gdbarch_print_registers_info_ftype print_registers_info
)
2430 gdbarch
->print_registers_info
= print_registers_info
;
2434 gdbarch_print_float_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2436 gdb_assert (gdbarch
!= NULL
);
2437 gdb_assert (gdbarch
->print_float_info
!= NULL
);
2438 if (gdbarch_debug
>= 2)
2439 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_float_info called\n");
2440 gdbarch
->print_float_info (gdbarch
, file
, frame
, args
);
2444 set_gdbarch_print_float_info (struct gdbarch
*gdbarch
,
2445 gdbarch_print_float_info_ftype print_float_info
)
2447 gdbarch
->print_float_info
= print_float_info
;
2451 gdbarch_print_vector_info_p (struct gdbarch
*gdbarch
)
2453 gdb_assert (gdbarch
!= NULL
);
2454 return gdbarch
->print_vector_info
!= NULL
;
2458 gdbarch_print_vector_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2460 gdb_assert (gdbarch
!= NULL
);
2461 gdb_assert (gdbarch
->print_vector_info
!= NULL
);
2462 if (gdbarch_debug
>= 2)
2463 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_vector_info called\n");
2464 gdbarch
->print_vector_info (gdbarch
, file
, frame
, args
);
2468 set_gdbarch_print_vector_info (struct gdbarch
*gdbarch
,
2469 gdbarch_print_vector_info_ftype print_vector_info
)
2471 gdbarch
->print_vector_info
= print_vector_info
;
2475 gdbarch_register_sim_regno (struct gdbarch
*gdbarch
, int reg_nr
)
2477 gdb_assert (gdbarch
!= NULL
);
2478 gdb_assert (gdbarch
->register_sim_regno
!= NULL
);
2479 if (gdbarch_debug
>= 2)
2480 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_sim_regno called\n");
2481 return gdbarch
->register_sim_regno (gdbarch
, reg_nr
);
2485 set_gdbarch_register_sim_regno (struct gdbarch
*gdbarch
,
2486 gdbarch_register_sim_regno_ftype register_sim_regno
)
2488 gdbarch
->register_sim_regno
= register_sim_regno
;
2492 gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
, int regnum
)
2494 gdb_assert (gdbarch
!= NULL
);
2495 gdb_assert (gdbarch
->cannot_fetch_register
!= NULL
);
2496 if (gdbarch_debug
>= 2)
2497 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_fetch_register called\n");
2498 return gdbarch
->cannot_fetch_register (gdbarch
, regnum
);
2502 set_gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
,
2503 gdbarch_cannot_fetch_register_ftype cannot_fetch_register
)
2505 gdbarch
->cannot_fetch_register
= cannot_fetch_register
;
2509 gdbarch_cannot_store_register (struct gdbarch
*gdbarch
, int regnum
)
2511 gdb_assert (gdbarch
!= NULL
);
2512 gdb_assert (gdbarch
->cannot_store_register
!= NULL
);
2513 if (gdbarch_debug
>= 2)
2514 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_store_register called\n");
2515 return gdbarch
->cannot_store_register (gdbarch
, regnum
);
2519 set_gdbarch_cannot_store_register (struct gdbarch
*gdbarch
,
2520 gdbarch_cannot_store_register_ftype cannot_store_register
)
2522 gdbarch
->cannot_store_register
= cannot_store_register
;
2526 gdbarch_get_longjmp_target_p (struct gdbarch
*gdbarch
)
2528 gdb_assert (gdbarch
!= NULL
);
2529 return gdbarch
->get_longjmp_target
!= NULL
;
2533 gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR
*pc
)
2535 gdb_assert (gdbarch
!= NULL
);
2536 gdb_assert (gdbarch
->get_longjmp_target
!= NULL
);
2537 if (gdbarch_debug
>= 2)
2538 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_longjmp_target called\n");
2539 return gdbarch
->get_longjmp_target (frame
, pc
);
2543 set_gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
,
2544 gdbarch_get_longjmp_target_ftype get_longjmp_target
)
2546 gdbarch
->get_longjmp_target
= get_longjmp_target
;
2550 gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
)
2552 gdb_assert (gdbarch
!= NULL
);
2553 if (gdbarch_debug
>= 2)
2554 fprintf_unfiltered (gdb_stdlog
, "gdbarch_believe_pcc_promotion called\n");
2555 return gdbarch
->believe_pcc_promotion
;
2559 set_gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
,
2560 int believe_pcc_promotion
)
2562 gdbarch
->believe_pcc_promotion
= believe_pcc_promotion
;
2566 gdbarch_convert_register_p (struct gdbarch
*gdbarch
, int regnum
, struct type
*type
)
2568 gdb_assert (gdbarch
!= NULL
);
2569 gdb_assert (gdbarch
->convert_register_p
!= NULL
);
2570 if (gdbarch_debug
>= 2)
2571 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_register_p called\n");
2572 return gdbarch
->convert_register_p (gdbarch
, regnum
, type
);
2576 set_gdbarch_convert_register_p (struct gdbarch
*gdbarch
,
2577 gdbarch_convert_register_p_ftype convert_register_p
)
2579 gdbarch
->convert_register_p
= convert_register_p
;
2583 gdbarch_register_to_value (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, gdb_byte
*buf
, int *optimizedp
, int *unavailablep
)
2585 gdb_assert (gdbarch
!= NULL
);
2586 gdb_assert (gdbarch
->register_to_value
!= NULL
);
2587 if (gdbarch_debug
>= 2)
2588 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_to_value called\n");
2589 return gdbarch
->register_to_value (frame
, regnum
, type
, buf
, optimizedp
, unavailablep
);
2593 set_gdbarch_register_to_value (struct gdbarch
*gdbarch
,
2594 gdbarch_register_to_value_ftype register_to_value
)
2596 gdbarch
->register_to_value
= register_to_value
;
2600 gdbarch_value_to_register (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, const gdb_byte
*buf
)
2602 gdb_assert (gdbarch
!= NULL
);
2603 gdb_assert (gdbarch
->value_to_register
!= NULL
);
2604 if (gdbarch_debug
>= 2)
2605 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_to_register called\n");
2606 gdbarch
->value_to_register (frame
, regnum
, type
, buf
);
2610 set_gdbarch_value_to_register (struct gdbarch
*gdbarch
,
2611 gdbarch_value_to_register_ftype value_to_register
)
2613 gdbarch
->value_to_register
= value_to_register
;
2617 gdbarch_value_from_register (struct gdbarch
*gdbarch
, struct type
*type
, int regnum
, struct frame_id frame_id
)
2619 gdb_assert (gdbarch
!= NULL
);
2620 gdb_assert (gdbarch
->value_from_register
!= NULL
);
2621 if (gdbarch_debug
>= 2)
2622 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_from_register called\n");
2623 return gdbarch
->value_from_register (gdbarch
, type
, regnum
, frame_id
);
2627 set_gdbarch_value_from_register (struct gdbarch
*gdbarch
,
2628 gdbarch_value_from_register_ftype value_from_register
)
2630 gdbarch
->value_from_register
= value_from_register
;
2634 gdbarch_pointer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2636 gdb_assert (gdbarch
!= NULL
);
2637 gdb_assert (gdbarch
->pointer_to_address
!= NULL
);
2638 if (gdbarch_debug
>= 2)
2639 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pointer_to_address called\n");
2640 return gdbarch
->pointer_to_address (gdbarch
, type
, buf
);
2644 set_gdbarch_pointer_to_address (struct gdbarch
*gdbarch
,
2645 gdbarch_pointer_to_address_ftype pointer_to_address
)
2647 gdbarch
->pointer_to_address
= pointer_to_address
;
2651 gdbarch_address_to_pointer (struct gdbarch
*gdbarch
, struct type
*type
, gdb_byte
*buf
, CORE_ADDR addr
)
2653 gdb_assert (gdbarch
!= NULL
);
2654 gdb_assert (gdbarch
->address_to_pointer
!= NULL
);
2655 if (gdbarch_debug
>= 2)
2656 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_to_pointer called\n");
2657 gdbarch
->address_to_pointer (gdbarch
, type
, buf
, addr
);
2661 set_gdbarch_address_to_pointer (struct gdbarch
*gdbarch
,
2662 gdbarch_address_to_pointer_ftype address_to_pointer
)
2664 gdbarch
->address_to_pointer
= address_to_pointer
;
2668 gdbarch_integer_to_address_p (struct gdbarch
*gdbarch
)
2670 gdb_assert (gdbarch
!= NULL
);
2671 return gdbarch
->integer_to_address
!= NULL
;
2675 gdbarch_integer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2677 gdb_assert (gdbarch
!= NULL
);
2678 gdb_assert (gdbarch
->integer_to_address
!= NULL
);
2679 if (gdbarch_debug
>= 2)
2680 fprintf_unfiltered (gdb_stdlog
, "gdbarch_integer_to_address called\n");
2681 return gdbarch
->integer_to_address (gdbarch
, type
, buf
);
2685 set_gdbarch_integer_to_address (struct gdbarch
*gdbarch
,
2686 gdbarch_integer_to_address_ftype integer_to_address
)
2688 gdbarch
->integer_to_address
= integer_to_address
;
2692 gdbarch_return_value_p (struct gdbarch
*gdbarch
)
2694 gdb_assert (gdbarch
!= NULL
);
2695 return gdbarch
->return_value
!= NULL
;
2698 enum return_value_convention
2699 gdbarch_return_value (struct gdbarch
*gdbarch
, struct value
*function
, struct type
*valtype
, struct regcache
*regcache
, gdb_byte
*readbuf
, const gdb_byte
*writebuf
)
2701 gdb_assert (gdbarch
!= NULL
);
2702 gdb_assert (gdbarch
->return_value
!= NULL
);
2703 if (gdbarch_debug
>= 2)
2704 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_value called\n");
2705 return gdbarch
->return_value (gdbarch
, function
, valtype
, regcache
, readbuf
, writebuf
);
2709 set_gdbarch_return_value (struct gdbarch
*gdbarch
,
2710 gdbarch_return_value_ftype return_value
)
2712 gdbarch
->return_value
= return_value
;
2716 gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
, struct type
*type
)
2718 gdb_assert (gdbarch
!= NULL
);
2719 gdb_assert (gdbarch
->return_in_first_hidden_param_p
!= NULL
);
2720 if (gdbarch_debug
>= 2)
2721 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_in_first_hidden_param_p called\n");
2722 return gdbarch
->return_in_first_hidden_param_p (gdbarch
, type
);
2726 set_gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
,
2727 gdbarch_return_in_first_hidden_param_p_ftype return_in_first_hidden_param_p
)
2729 gdbarch
->return_in_first_hidden_param_p
= return_in_first_hidden_param_p
;
2733 gdbarch_skip_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2735 gdb_assert (gdbarch
!= NULL
);
2736 gdb_assert (gdbarch
->skip_prologue
!= NULL
);
2737 if (gdbarch_debug
>= 2)
2738 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_prologue called\n");
2739 return gdbarch
->skip_prologue (gdbarch
, ip
);
2743 set_gdbarch_skip_prologue (struct gdbarch
*gdbarch
,
2744 gdbarch_skip_prologue_ftype skip_prologue
)
2746 gdbarch
->skip_prologue
= skip_prologue
;
2750 gdbarch_skip_main_prologue_p (struct gdbarch
*gdbarch
)
2752 gdb_assert (gdbarch
!= NULL
);
2753 return gdbarch
->skip_main_prologue
!= NULL
;
2757 gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2759 gdb_assert (gdbarch
!= NULL
);
2760 gdb_assert (gdbarch
->skip_main_prologue
!= NULL
);
2761 if (gdbarch_debug
>= 2)
2762 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_main_prologue called\n");
2763 return gdbarch
->skip_main_prologue (gdbarch
, ip
);
2767 set_gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
,
2768 gdbarch_skip_main_prologue_ftype skip_main_prologue
)
2770 gdbarch
->skip_main_prologue
= skip_main_prologue
;
2774 gdbarch_skip_entrypoint_p (struct gdbarch
*gdbarch
)
2776 gdb_assert (gdbarch
!= NULL
);
2777 return gdbarch
->skip_entrypoint
!= NULL
;
2781 gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2783 gdb_assert (gdbarch
!= NULL
);
2784 gdb_assert (gdbarch
->skip_entrypoint
!= NULL
);
2785 if (gdbarch_debug
>= 2)
2786 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_entrypoint called\n");
2787 return gdbarch
->skip_entrypoint (gdbarch
, ip
);
2791 set_gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
,
2792 gdbarch_skip_entrypoint_ftype skip_entrypoint
)
2794 gdbarch
->skip_entrypoint
= skip_entrypoint
;
2798 gdbarch_inner_than (struct gdbarch
*gdbarch
, CORE_ADDR lhs
, CORE_ADDR rhs
)
2800 gdb_assert (gdbarch
!= NULL
);
2801 gdb_assert (gdbarch
->inner_than
!= NULL
);
2802 if (gdbarch_debug
>= 2)
2803 fprintf_unfiltered (gdb_stdlog
, "gdbarch_inner_than called\n");
2804 return gdbarch
->inner_than (lhs
, rhs
);
2808 set_gdbarch_inner_than (struct gdbarch
*gdbarch
,
2809 gdbarch_inner_than_ftype inner_than
)
2811 gdbarch
->inner_than
= inner_than
;
2815 gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
, int *lenptr
)
2817 gdb_assert (gdbarch
!= NULL
);
2818 gdb_assert (gdbarch
->breakpoint_from_pc
!= NULL
);
2819 if (gdbarch_debug
>= 2)
2820 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_from_pc called\n");
2821 return gdbarch
->breakpoint_from_pc (gdbarch
, pcptr
, lenptr
);
2825 set_gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
,
2826 gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc
)
2828 gdbarch
->breakpoint_from_pc
= breakpoint_from_pc
;
2832 gdbarch_breakpoint_kind_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
)
2834 gdb_assert (gdbarch
!= NULL
);
2835 gdb_assert (gdbarch
->breakpoint_kind_from_pc
!= NULL
);
2836 if (gdbarch_debug
>= 2)
2837 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_kind_from_pc called\n");
2838 return gdbarch
->breakpoint_kind_from_pc (gdbarch
, pcptr
);
2842 set_gdbarch_breakpoint_kind_from_pc (struct gdbarch
*gdbarch
,
2843 gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc
)
2845 gdbarch
->breakpoint_kind_from_pc
= breakpoint_kind_from_pc
;
2849 gdbarch_sw_breakpoint_from_kind (struct gdbarch
*gdbarch
, int kind
, int *size
)
2851 gdb_assert (gdbarch
!= NULL
);
2852 gdb_assert (gdbarch
->sw_breakpoint_from_kind
!= NULL
);
2853 if (gdbarch_debug
>= 2)
2854 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sw_breakpoint_from_kind called\n");
2855 return gdbarch
->sw_breakpoint_from_kind (gdbarch
, kind
, size
);
2859 set_gdbarch_sw_breakpoint_from_kind (struct gdbarch
*gdbarch
,
2860 gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind
)
2862 gdbarch
->sw_breakpoint_from_kind
= sw_breakpoint_from_kind
;
2866 gdbarch_breakpoint_kind_from_current_state (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR
*pcptr
)
2868 gdb_assert (gdbarch
!= NULL
);
2869 gdb_assert (gdbarch
->breakpoint_kind_from_current_state
!= NULL
);
2870 if (gdbarch_debug
>= 2)
2871 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_kind_from_current_state called\n");
2872 return gdbarch
->breakpoint_kind_from_current_state (gdbarch
, regcache
, pcptr
);
2876 set_gdbarch_breakpoint_kind_from_current_state (struct gdbarch
*gdbarch
,
2877 gdbarch_breakpoint_kind_from_current_state_ftype breakpoint_kind_from_current_state
)
2879 gdbarch
->breakpoint_kind_from_current_state
= breakpoint_kind_from_current_state
;
2883 gdbarch_adjust_breakpoint_address_p (struct gdbarch
*gdbarch
)
2885 gdb_assert (gdbarch
!= NULL
);
2886 return gdbarch
->adjust_breakpoint_address
!= NULL
;
2890 gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
, CORE_ADDR bpaddr
)
2892 gdb_assert (gdbarch
!= NULL
);
2893 gdb_assert (gdbarch
->adjust_breakpoint_address
!= NULL
);
2894 if (gdbarch_debug
>= 2)
2895 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_breakpoint_address called\n");
2896 return gdbarch
->adjust_breakpoint_address (gdbarch
, bpaddr
);
2900 set_gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
,
2901 gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address
)
2903 gdbarch
->adjust_breakpoint_address
= adjust_breakpoint_address
;
2907 gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2909 gdb_assert (gdbarch
!= NULL
);
2910 gdb_assert (gdbarch
->memory_insert_breakpoint
!= NULL
);
2911 if (gdbarch_debug
>= 2)
2912 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_insert_breakpoint called\n");
2913 return gdbarch
->memory_insert_breakpoint (gdbarch
, bp_tgt
);
2917 set_gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
,
2918 gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint
)
2920 gdbarch
->memory_insert_breakpoint
= memory_insert_breakpoint
;
2924 gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2926 gdb_assert (gdbarch
!= NULL
);
2927 gdb_assert (gdbarch
->memory_remove_breakpoint
!= NULL
);
2928 if (gdbarch_debug
>= 2)
2929 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_remove_breakpoint called\n");
2930 return gdbarch
->memory_remove_breakpoint (gdbarch
, bp_tgt
);
2934 set_gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
,
2935 gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint
)
2937 gdbarch
->memory_remove_breakpoint
= memory_remove_breakpoint
;
2941 gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
)
2943 gdb_assert (gdbarch
!= NULL
);
2944 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
2945 if (gdbarch_debug
>= 2)
2946 fprintf_unfiltered (gdb_stdlog
, "gdbarch_decr_pc_after_break called\n");
2947 return gdbarch
->decr_pc_after_break
;
2951 set_gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
,
2952 CORE_ADDR decr_pc_after_break
)
2954 gdbarch
->decr_pc_after_break
= decr_pc_after_break
;
2958 gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
)
2960 gdb_assert (gdbarch
!= NULL
);
2961 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
2962 if (gdbarch_debug
>= 2)
2963 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_function_start_offset called\n");
2964 return gdbarch
->deprecated_function_start_offset
;
2968 set_gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
,
2969 CORE_ADDR deprecated_function_start_offset
)
2971 gdbarch
->deprecated_function_start_offset
= deprecated_function_start_offset
;
2975 gdbarch_remote_register_number (struct gdbarch
*gdbarch
, int regno
)
2977 gdb_assert (gdbarch
!= NULL
);
2978 gdb_assert (gdbarch
->remote_register_number
!= NULL
);
2979 if (gdbarch_debug
>= 2)
2980 fprintf_unfiltered (gdb_stdlog
, "gdbarch_remote_register_number called\n");
2981 return gdbarch
->remote_register_number (gdbarch
, regno
);
2985 set_gdbarch_remote_register_number (struct gdbarch
*gdbarch
,
2986 gdbarch_remote_register_number_ftype remote_register_number
)
2988 gdbarch
->remote_register_number
= remote_register_number
;
2992 gdbarch_fetch_tls_load_module_address_p (struct gdbarch
*gdbarch
)
2994 gdb_assert (gdbarch
!= NULL
);
2995 return gdbarch
->fetch_tls_load_module_address
!= NULL
;
2999 gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
, struct objfile
*objfile
)
3001 gdb_assert (gdbarch
!= NULL
);
3002 gdb_assert (gdbarch
->fetch_tls_load_module_address
!= NULL
);
3003 if (gdbarch_debug
>= 2)
3004 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_tls_load_module_address called\n");
3005 return gdbarch
->fetch_tls_load_module_address (objfile
);
3009 set_gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
,
3010 gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address
)
3012 gdbarch
->fetch_tls_load_module_address
= fetch_tls_load_module_address
;
3016 gdbarch_get_thread_local_address_p (struct gdbarch
*gdbarch
)
3018 gdb_assert (gdbarch
!= NULL
);
3019 return gdbarch
->get_thread_local_address
!= NULL
;
3023 gdbarch_get_thread_local_address (struct gdbarch
*gdbarch
, ptid_t ptid
, CORE_ADDR lm_addr
, CORE_ADDR offset
)
3025 gdb_assert (gdbarch
!= NULL
);
3026 gdb_assert (gdbarch
->get_thread_local_address
!= NULL
);
3027 if (gdbarch_debug
>= 2)
3028 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_thread_local_address called\n");
3029 return gdbarch
->get_thread_local_address (gdbarch
, ptid
, lm_addr
, offset
);
3033 set_gdbarch_get_thread_local_address (struct gdbarch
*gdbarch
,
3034 gdbarch_get_thread_local_address_ftype get_thread_local_address
)
3036 gdbarch
->get_thread_local_address
= get_thread_local_address
;
3040 gdbarch_frame_args_skip (struct gdbarch
*gdbarch
)
3042 gdb_assert (gdbarch
!= NULL
);
3043 /* Skip verify of frame_args_skip, invalid_p == 0 */
3044 if (gdbarch_debug
>= 2)
3045 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_args_skip called\n");
3046 return gdbarch
->frame_args_skip
;
3050 set_gdbarch_frame_args_skip (struct gdbarch
*gdbarch
,
3051 CORE_ADDR frame_args_skip
)
3053 gdbarch
->frame_args_skip
= frame_args_skip
;
3057 gdbarch_unwind_pc (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
3059 gdb_assert (gdbarch
!= NULL
);
3060 gdb_assert (gdbarch
->unwind_pc
!= NULL
);
3061 if (gdbarch_debug
>= 2)
3062 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_pc called\n");
3063 return gdbarch
->unwind_pc (gdbarch
, next_frame
);
3067 set_gdbarch_unwind_pc (struct gdbarch
*gdbarch
,
3068 gdbarch_unwind_pc_ftype unwind_pc
)
3070 gdbarch
->unwind_pc
= unwind_pc
;
3074 gdbarch_unwind_sp (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
3076 gdb_assert (gdbarch
!= NULL
);
3077 gdb_assert (gdbarch
->unwind_sp
!= NULL
);
3078 if (gdbarch_debug
>= 2)
3079 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_sp called\n");
3080 return gdbarch
->unwind_sp (gdbarch
, next_frame
);
3084 set_gdbarch_unwind_sp (struct gdbarch
*gdbarch
,
3085 gdbarch_unwind_sp_ftype unwind_sp
)
3087 gdbarch
->unwind_sp
= unwind_sp
;
3091 gdbarch_frame_num_args_p (struct gdbarch
*gdbarch
)
3093 gdb_assert (gdbarch
!= NULL
);
3094 return gdbarch
->frame_num_args
!= NULL
;
3098 gdbarch_frame_num_args (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3100 gdb_assert (gdbarch
!= NULL
);
3101 gdb_assert (gdbarch
->frame_num_args
!= NULL
);
3102 if (gdbarch_debug
>= 2)
3103 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_num_args called\n");
3104 return gdbarch
->frame_num_args (frame
);
3108 set_gdbarch_frame_num_args (struct gdbarch
*gdbarch
,
3109 gdbarch_frame_num_args_ftype frame_num_args
)
3111 gdbarch
->frame_num_args
= frame_num_args
;
3115 gdbarch_frame_align_p (struct gdbarch
*gdbarch
)
3117 gdb_assert (gdbarch
!= NULL
);
3118 return gdbarch
->frame_align
!= NULL
;
3122 gdbarch_frame_align (struct gdbarch
*gdbarch
, CORE_ADDR address
)
3124 gdb_assert (gdbarch
!= NULL
);
3125 gdb_assert (gdbarch
->frame_align
!= NULL
);
3126 if (gdbarch_debug
>= 2)
3127 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_align called\n");
3128 return gdbarch
->frame_align (gdbarch
, address
);
3132 set_gdbarch_frame_align (struct gdbarch
*gdbarch
,
3133 gdbarch_frame_align_ftype frame_align
)
3135 gdbarch
->frame_align
= frame_align
;
3139 gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
, struct type
*type
)
3141 gdb_assert (gdbarch
!= NULL
);
3142 gdb_assert (gdbarch
->stabs_argument_has_addr
!= NULL
);
3143 if (gdbarch_debug
>= 2)
3144 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stabs_argument_has_addr called\n");
3145 return gdbarch
->stabs_argument_has_addr (gdbarch
, type
);
3149 set_gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
,
3150 gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr
)
3152 gdbarch
->stabs_argument_has_addr
= stabs_argument_has_addr
;
3156 gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
)
3158 gdb_assert (gdbarch
!= NULL
);
3159 if (gdbarch_debug
>= 2)
3160 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_red_zone_size called\n");
3161 return gdbarch
->frame_red_zone_size
;
3165 set_gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
,
3166 int frame_red_zone_size
)
3168 gdbarch
->frame_red_zone_size
= frame_red_zone_size
;
3172 gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
, CORE_ADDR addr
, struct target_ops
*targ
)
3174 gdb_assert (gdbarch
!= NULL
);
3175 gdb_assert (gdbarch
->convert_from_func_ptr_addr
!= NULL
);
3176 if (gdbarch_debug
>= 2)
3177 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_from_func_ptr_addr called\n");
3178 return gdbarch
->convert_from_func_ptr_addr (gdbarch
, addr
, targ
);
3182 set_gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
,
3183 gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr
)
3185 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr
;
3189 gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3191 gdb_assert (gdbarch
!= NULL
);
3192 gdb_assert (gdbarch
->addr_bits_remove
!= NULL
);
3193 if (gdbarch_debug
>= 2)
3194 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bits_remove called\n");
3195 return gdbarch
->addr_bits_remove (gdbarch
, addr
);
3199 set_gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
,
3200 gdbarch_addr_bits_remove_ftype addr_bits_remove
)
3202 gdbarch
->addr_bits_remove
= addr_bits_remove
;
3206 gdbarch_significant_addr_bit (struct gdbarch
*gdbarch
)
3208 gdb_assert (gdbarch
!= NULL
);
3209 /* Skip verify of significant_addr_bit, invalid_p == 0 */
3210 if (gdbarch_debug
>= 2)
3211 fprintf_unfiltered (gdb_stdlog
, "gdbarch_significant_addr_bit called\n");
3212 return gdbarch
->significant_addr_bit
;
3216 set_gdbarch_significant_addr_bit (struct gdbarch
*gdbarch
,
3217 int significant_addr_bit
)
3219 gdbarch
->significant_addr_bit
= significant_addr_bit
;
3223 gdbarch_software_single_step_p (struct gdbarch
*gdbarch
)
3225 gdb_assert (gdbarch
!= NULL
);
3226 return gdbarch
->software_single_step
!= NULL
;
3229 std::vector
<CORE_ADDR
>
3230 gdbarch_software_single_step (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
3232 gdb_assert (gdbarch
!= NULL
);
3233 gdb_assert (gdbarch
->software_single_step
!= NULL
);
3234 if (gdbarch_debug
>= 2)
3235 fprintf_unfiltered (gdb_stdlog
, "gdbarch_software_single_step called\n");
3236 return gdbarch
->software_single_step (regcache
);
3240 set_gdbarch_software_single_step (struct gdbarch
*gdbarch
,
3241 gdbarch_software_single_step_ftype software_single_step
)
3243 gdbarch
->software_single_step
= software_single_step
;
3247 gdbarch_single_step_through_delay_p (struct gdbarch
*gdbarch
)
3249 gdb_assert (gdbarch
!= NULL
);
3250 return gdbarch
->single_step_through_delay
!= NULL
;
3254 gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3256 gdb_assert (gdbarch
!= NULL
);
3257 gdb_assert (gdbarch
->single_step_through_delay
!= NULL
);
3258 if (gdbarch_debug
>= 2)
3259 fprintf_unfiltered (gdb_stdlog
, "gdbarch_single_step_through_delay called\n");
3260 return gdbarch
->single_step_through_delay (gdbarch
, frame
);
3264 set_gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
,
3265 gdbarch_single_step_through_delay_ftype single_step_through_delay
)
3267 gdbarch
->single_step_through_delay
= single_step_through_delay
;
3271 gdbarch_print_insn (struct gdbarch
*gdbarch
, bfd_vma vma
, struct disassemble_info
*info
)
3273 gdb_assert (gdbarch
!= NULL
);
3274 gdb_assert (gdbarch
->print_insn
!= NULL
);
3275 if (gdbarch_debug
>= 2)
3276 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_insn called\n");
3277 return gdbarch
->print_insn (vma
, info
);
3281 set_gdbarch_print_insn (struct gdbarch
*gdbarch
,
3282 gdbarch_print_insn_ftype print_insn
)
3284 gdbarch
->print_insn
= print_insn
;
3288 gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR pc
)
3290 gdb_assert (gdbarch
!= NULL
);
3291 gdb_assert (gdbarch
->skip_trampoline_code
!= NULL
);
3292 if (gdbarch_debug
>= 2)
3293 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_trampoline_code called\n");
3294 return gdbarch
->skip_trampoline_code (frame
, pc
);
3298 set_gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
,
3299 gdbarch_skip_trampoline_code_ftype skip_trampoline_code
)
3301 gdbarch
->skip_trampoline_code
= skip_trampoline_code
;
3305 gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3307 gdb_assert (gdbarch
!= NULL
);
3308 gdb_assert (gdbarch
->skip_solib_resolver
!= NULL
);
3309 if (gdbarch_debug
>= 2)
3310 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_solib_resolver called\n");
3311 return gdbarch
->skip_solib_resolver (gdbarch
, pc
);
3315 set_gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
,
3316 gdbarch_skip_solib_resolver_ftype skip_solib_resolver
)
3318 gdbarch
->skip_solib_resolver
= skip_solib_resolver
;
3322 gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
, CORE_ADDR pc
, const char *name
)
3324 gdb_assert (gdbarch
!= NULL
);
3325 gdb_assert (gdbarch
->in_solib_return_trampoline
!= NULL
);
3326 if (gdbarch_debug
>= 2)
3327 fprintf_unfiltered (gdb_stdlog
, "gdbarch_in_solib_return_trampoline called\n");
3328 return gdbarch
->in_solib_return_trampoline (gdbarch
, pc
, name
);
3332 set_gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
,
3333 gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline
)
3335 gdbarch
->in_solib_return_trampoline
= in_solib_return_trampoline
;
3339 gdbarch_in_indirect_branch_thunk (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3341 gdb_assert (gdbarch
!= NULL
);
3342 gdb_assert (gdbarch
->in_indirect_branch_thunk
!= NULL
);
3343 if (gdbarch_debug
>= 2)
3344 fprintf_unfiltered (gdb_stdlog
, "gdbarch_in_indirect_branch_thunk called\n");
3345 return gdbarch
->in_indirect_branch_thunk (gdbarch
, pc
);
3349 set_gdbarch_in_indirect_branch_thunk (struct gdbarch
*gdbarch
,
3350 gdbarch_in_indirect_branch_thunk_ftype in_indirect_branch_thunk
)
3352 gdbarch
->in_indirect_branch_thunk
= in_indirect_branch_thunk
;
3356 gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3358 gdb_assert (gdbarch
!= NULL
);
3359 gdb_assert (gdbarch
->stack_frame_destroyed_p
!= NULL
);
3360 if (gdbarch_debug
>= 2)
3361 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stack_frame_destroyed_p called\n");
3362 return gdbarch
->stack_frame_destroyed_p (gdbarch
, addr
);
3366 set_gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
,
3367 gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p
)
3369 gdbarch
->stack_frame_destroyed_p
= stack_frame_destroyed_p
;
3373 gdbarch_elf_make_msymbol_special_p (struct gdbarch
*gdbarch
)
3375 gdb_assert (gdbarch
!= NULL
);
3376 return gdbarch
->elf_make_msymbol_special
!= NULL
;
3380 gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
, asymbol
*sym
, struct minimal_symbol
*msym
)
3382 gdb_assert (gdbarch
!= NULL
);
3383 gdb_assert (gdbarch
->elf_make_msymbol_special
!= NULL
);
3384 if (gdbarch_debug
>= 2)
3385 fprintf_unfiltered (gdb_stdlog
, "gdbarch_elf_make_msymbol_special called\n");
3386 gdbarch
->elf_make_msymbol_special (sym
, msym
);
3390 set_gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
,
3391 gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special
)
3393 gdbarch
->elf_make_msymbol_special
= elf_make_msymbol_special
;
3397 gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
, int val
, struct minimal_symbol
*msym
)
3399 gdb_assert (gdbarch
!= NULL
);
3400 gdb_assert (gdbarch
->coff_make_msymbol_special
!= NULL
);
3401 if (gdbarch_debug
>= 2)
3402 fprintf_unfiltered (gdb_stdlog
, "gdbarch_coff_make_msymbol_special called\n");
3403 gdbarch
->coff_make_msymbol_special (val
, msym
);
3407 set_gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
,
3408 gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special
)
3410 gdbarch
->coff_make_msymbol_special
= coff_make_msymbol_special
;
3414 gdbarch_make_symbol_special (struct gdbarch
*gdbarch
, struct symbol
*sym
, struct objfile
*objfile
)
3416 gdb_assert (gdbarch
!= NULL
);
3417 gdb_assert (gdbarch
->make_symbol_special
!= NULL
);
3418 if (gdbarch_debug
>= 2)
3419 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_symbol_special called\n");
3420 gdbarch
->make_symbol_special (sym
, objfile
);
3424 set_gdbarch_make_symbol_special (struct gdbarch
*gdbarch
,
3425 gdbarch_make_symbol_special_ftype make_symbol_special
)
3427 gdbarch
->make_symbol_special
= make_symbol_special
;
3431 gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3433 gdb_assert (gdbarch
!= NULL
);
3434 gdb_assert (gdbarch
->adjust_dwarf2_addr
!= NULL
);
3435 if (gdbarch_debug
>= 2)
3436 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_addr called\n");
3437 return gdbarch
->adjust_dwarf2_addr (pc
);
3441 set_gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
,
3442 gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr
)
3444 gdbarch
->adjust_dwarf2_addr
= adjust_dwarf2_addr
;
3448 gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
, CORE_ADDR addr
, int rel
)
3450 gdb_assert (gdbarch
!= NULL
);
3451 gdb_assert (gdbarch
->adjust_dwarf2_line
!= NULL
);
3452 if (gdbarch_debug
>= 2)
3453 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_line called\n");
3454 return gdbarch
->adjust_dwarf2_line (addr
, rel
);
3458 set_gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
,
3459 gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line
)
3461 gdbarch
->adjust_dwarf2_line
= adjust_dwarf2_line
;
3465 gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
)
3467 gdb_assert (gdbarch
!= NULL
);
3468 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
3469 if (gdbarch_debug
>= 2)
3470 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_step_breakpoint called\n");
3471 return gdbarch
->cannot_step_breakpoint
;
3475 set_gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
,
3476 int cannot_step_breakpoint
)
3478 gdbarch
->cannot_step_breakpoint
= cannot_step_breakpoint
;
3482 gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
)
3484 gdb_assert (gdbarch
!= NULL
);
3485 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
3486 if (gdbarch_debug
>= 2)
3487 fprintf_unfiltered (gdb_stdlog
, "gdbarch_have_nonsteppable_watchpoint called\n");
3488 return gdbarch
->have_nonsteppable_watchpoint
;
3492 set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
,
3493 int have_nonsteppable_watchpoint
)
3495 gdbarch
->have_nonsteppable_watchpoint
= have_nonsteppable_watchpoint
;
3499 gdbarch_address_class_type_flags_p (struct gdbarch
*gdbarch
)
3501 gdb_assert (gdbarch
!= NULL
);
3502 return gdbarch
->address_class_type_flags
!= NULL
;
3506 gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
, int byte_size
, int dwarf2_addr_class
)
3508 gdb_assert (gdbarch
!= NULL
);
3509 gdb_assert (gdbarch
->address_class_type_flags
!= NULL
);
3510 if (gdbarch_debug
>= 2)
3511 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags called\n");
3512 return gdbarch
->address_class_type_flags (byte_size
, dwarf2_addr_class
);
3516 set_gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
,
3517 gdbarch_address_class_type_flags_ftype address_class_type_flags
)
3519 gdbarch
->address_class_type_flags
= address_class_type_flags
;
3523 gdbarch_address_class_type_flags_to_name_p (struct gdbarch
*gdbarch
)
3525 gdb_assert (gdbarch
!= NULL
);
3526 return gdbarch
->address_class_type_flags_to_name
!= NULL
;
3530 gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
, int type_flags
)
3532 gdb_assert (gdbarch
!= NULL
);
3533 gdb_assert (gdbarch
->address_class_type_flags_to_name
!= NULL
);
3534 if (gdbarch_debug
>= 2)
3535 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags_to_name called\n");
3536 return gdbarch
->address_class_type_flags_to_name (gdbarch
, type_flags
);
3540 set_gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
,
3541 gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name
)
3543 gdbarch
->address_class_type_flags_to_name
= address_class_type_flags_to_name
;
3547 gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch
*gdbarch
, gdb_byte op
, struct dwarf2_frame_state
*fs
)
3549 gdb_assert (gdbarch
!= NULL
);
3550 gdb_assert (gdbarch
->execute_dwarf_cfa_vendor_op
!= NULL
);
3551 if (gdbarch_debug
>= 2)
3552 fprintf_unfiltered (gdb_stdlog
, "gdbarch_execute_dwarf_cfa_vendor_op called\n");
3553 return gdbarch
->execute_dwarf_cfa_vendor_op (gdbarch
, op
, fs
);
3557 set_gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch
*gdbarch
,
3558 gdbarch_execute_dwarf_cfa_vendor_op_ftype execute_dwarf_cfa_vendor_op
)
3560 gdbarch
->execute_dwarf_cfa_vendor_op
= execute_dwarf_cfa_vendor_op
;
3564 gdbarch_address_class_name_to_type_flags_p (struct gdbarch
*gdbarch
)
3566 gdb_assert (gdbarch
!= NULL
);
3567 return gdbarch
->address_class_name_to_type_flags
!= NULL
;
3571 gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
, const char *name
, int *type_flags_ptr
)
3573 gdb_assert (gdbarch
!= NULL
);
3574 gdb_assert (gdbarch
->address_class_name_to_type_flags
!= NULL
);
3575 if (gdbarch_debug
>= 2)
3576 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_name_to_type_flags called\n");
3577 return gdbarch
->address_class_name_to_type_flags (gdbarch
, name
, type_flags_ptr
);
3581 set_gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
,
3582 gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags
)
3584 gdbarch
->address_class_name_to_type_flags
= address_class_name_to_type_flags
;
3588 gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
, int regnum
, struct reggroup
*reggroup
)
3590 gdb_assert (gdbarch
!= NULL
);
3591 gdb_assert (gdbarch
->register_reggroup_p
!= NULL
);
3592 if (gdbarch_debug
>= 2)
3593 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_reggroup_p called\n");
3594 return gdbarch
->register_reggroup_p (gdbarch
, regnum
, reggroup
);
3598 set_gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
,
3599 gdbarch_register_reggroup_p_ftype register_reggroup_p
)
3601 gdbarch
->register_reggroup_p
= register_reggroup_p
;
3605 gdbarch_fetch_pointer_argument_p (struct gdbarch
*gdbarch
)
3607 gdb_assert (gdbarch
!= NULL
);
3608 return gdbarch
->fetch_pointer_argument
!= NULL
;
3612 gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int argi
, struct type
*type
)
3614 gdb_assert (gdbarch
!= NULL
);
3615 gdb_assert (gdbarch
->fetch_pointer_argument
!= NULL
);
3616 if (gdbarch_debug
>= 2)
3617 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_pointer_argument called\n");
3618 return gdbarch
->fetch_pointer_argument (frame
, argi
, type
);
3622 set_gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
,
3623 gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument
)
3625 gdbarch
->fetch_pointer_argument
= fetch_pointer_argument
;
3629 gdbarch_iterate_over_regset_sections_p (struct gdbarch
*gdbarch
)
3631 gdb_assert (gdbarch
!= NULL
);
3632 return gdbarch
->iterate_over_regset_sections
!= NULL
;
3636 gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
, iterate_over_regset_sections_cb
*cb
, void *cb_data
, const struct regcache
*regcache
)
3638 gdb_assert (gdbarch
!= NULL
);
3639 gdb_assert (gdbarch
->iterate_over_regset_sections
!= NULL
);
3640 if (gdbarch_debug
>= 2)
3641 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_regset_sections called\n");
3642 gdbarch
->iterate_over_regset_sections (gdbarch
, cb
, cb_data
, regcache
);
3646 set_gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
,
3647 gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections
)
3649 gdbarch
->iterate_over_regset_sections
= iterate_over_regset_sections
;
3653 gdbarch_make_corefile_notes_p (struct gdbarch
*gdbarch
)
3655 gdb_assert (gdbarch
!= NULL
);
3656 return gdbarch
->make_corefile_notes
!= NULL
;
3660 gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
, bfd
*obfd
, int *note_size
)
3662 gdb_assert (gdbarch
!= NULL
);
3663 gdb_assert (gdbarch
->make_corefile_notes
!= NULL
);
3664 if (gdbarch_debug
>= 2)
3665 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_corefile_notes called\n");
3666 return gdbarch
->make_corefile_notes (gdbarch
, obfd
, note_size
);
3670 set_gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
,
3671 gdbarch_make_corefile_notes_ftype make_corefile_notes
)
3673 gdbarch
->make_corefile_notes
= make_corefile_notes
;
3677 gdbarch_find_memory_regions_p (struct gdbarch
*gdbarch
)
3679 gdb_assert (gdbarch
!= NULL
);
3680 return gdbarch
->find_memory_regions
!= NULL
;
3684 gdbarch_find_memory_regions (struct gdbarch
*gdbarch
, find_memory_region_ftype func
, void *data
)
3686 gdb_assert (gdbarch
!= NULL
);
3687 gdb_assert (gdbarch
->find_memory_regions
!= NULL
);
3688 if (gdbarch_debug
>= 2)
3689 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_memory_regions called\n");
3690 return gdbarch
->find_memory_regions (gdbarch
, func
, data
);
3694 set_gdbarch_find_memory_regions (struct gdbarch
*gdbarch
,
3695 gdbarch_find_memory_regions_ftype find_memory_regions
)
3697 gdbarch
->find_memory_regions
= find_memory_regions
;
3701 gdbarch_core_xfer_shared_libraries_p (struct gdbarch
*gdbarch
)
3703 gdb_assert (gdbarch
!= NULL
);
3704 return gdbarch
->core_xfer_shared_libraries
!= NULL
;
3708 gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3710 gdb_assert (gdbarch
!= NULL
);
3711 gdb_assert (gdbarch
->core_xfer_shared_libraries
!= NULL
);
3712 if (gdbarch_debug
>= 2)
3713 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries called\n");
3714 return gdbarch
->core_xfer_shared_libraries (gdbarch
, readbuf
, offset
, len
);
3718 set_gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
,
3719 gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries
)
3721 gdbarch
->core_xfer_shared_libraries
= core_xfer_shared_libraries
;
3725 gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch
*gdbarch
)
3727 gdb_assert (gdbarch
!= NULL
);
3728 return gdbarch
->core_xfer_shared_libraries_aix
!= NULL
;
3732 gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3734 gdb_assert (gdbarch
!= NULL
);
3735 gdb_assert (gdbarch
->core_xfer_shared_libraries_aix
!= NULL
);
3736 if (gdbarch_debug
>= 2)
3737 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries_aix called\n");
3738 return gdbarch
->core_xfer_shared_libraries_aix (gdbarch
, readbuf
, offset
, len
);
3742 set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
,
3743 gdbarch_core_xfer_shared_libraries_aix_ftype core_xfer_shared_libraries_aix
)
3745 gdbarch
->core_xfer_shared_libraries_aix
= core_xfer_shared_libraries_aix
;
3749 gdbarch_core_pid_to_str_p (struct gdbarch
*gdbarch
)
3751 gdb_assert (gdbarch
!= NULL
);
3752 return gdbarch
->core_pid_to_str
!= NULL
;
3756 gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
, ptid_t ptid
)
3758 gdb_assert (gdbarch
!= NULL
);
3759 gdb_assert (gdbarch
->core_pid_to_str
!= NULL
);
3760 if (gdbarch_debug
>= 2)
3761 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_pid_to_str called\n");
3762 return gdbarch
->core_pid_to_str (gdbarch
, ptid
);
3766 set_gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
,
3767 gdbarch_core_pid_to_str_ftype core_pid_to_str
)
3769 gdbarch
->core_pid_to_str
= core_pid_to_str
;
3773 gdbarch_core_thread_name_p (struct gdbarch
*gdbarch
)
3775 gdb_assert (gdbarch
!= NULL
);
3776 return gdbarch
->core_thread_name
!= NULL
;
3780 gdbarch_core_thread_name (struct gdbarch
*gdbarch
, struct thread_info
*thr
)
3782 gdb_assert (gdbarch
!= NULL
);
3783 gdb_assert (gdbarch
->core_thread_name
!= NULL
);
3784 if (gdbarch_debug
>= 2)
3785 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_thread_name called\n");
3786 return gdbarch
->core_thread_name (gdbarch
, thr
);
3790 set_gdbarch_core_thread_name (struct gdbarch
*gdbarch
,
3791 gdbarch_core_thread_name_ftype core_thread_name
)
3793 gdbarch
->core_thread_name
= core_thread_name
;
3797 gdbarch_core_xfer_siginfo_p (struct gdbarch
*gdbarch
)
3799 gdb_assert (gdbarch
!= NULL
);
3800 return gdbarch
->core_xfer_siginfo
!= NULL
;
3804 gdbarch_core_xfer_siginfo (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3806 gdb_assert (gdbarch
!= NULL
);
3807 gdb_assert (gdbarch
->core_xfer_siginfo
!= NULL
);
3808 if (gdbarch_debug
>= 2)
3809 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_siginfo called\n");
3810 return gdbarch
->core_xfer_siginfo (gdbarch
, readbuf
, offset
, len
);
3814 set_gdbarch_core_xfer_siginfo (struct gdbarch
*gdbarch
,
3815 gdbarch_core_xfer_siginfo_ftype core_xfer_siginfo
)
3817 gdbarch
->core_xfer_siginfo
= core_xfer_siginfo
;
3821 gdbarch_gcore_bfd_target_p (struct gdbarch
*gdbarch
)
3823 gdb_assert (gdbarch
!= NULL
);
3824 return gdbarch
->gcore_bfd_target
!= 0;
3828 gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
)
3830 gdb_assert (gdbarch
!= NULL
);
3831 /* Check variable changed from pre-default. */
3832 gdb_assert (gdbarch
->gcore_bfd_target
!= 0);
3833 if (gdbarch_debug
>= 2)
3834 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcore_bfd_target called\n");
3835 return gdbarch
->gcore_bfd_target
;
3839 set_gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
,
3840 const char * gcore_bfd_target
)
3842 gdbarch
->gcore_bfd_target
= gcore_bfd_target
;
3846 gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
)
3848 gdb_assert (gdbarch
!= NULL
);
3849 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
3850 if (gdbarch_debug
>= 2)
3851 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vtable_function_descriptors called\n");
3852 return gdbarch
->vtable_function_descriptors
;
3856 set_gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
,
3857 int vtable_function_descriptors
)
3859 gdbarch
->vtable_function_descriptors
= vtable_function_descriptors
;
3863 gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
)
3865 gdb_assert (gdbarch
!= NULL
);
3866 /* Skip verify of vbit_in_delta, invalid_p == 0 */
3867 if (gdbarch_debug
>= 2)
3868 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vbit_in_delta called\n");
3869 return gdbarch
->vbit_in_delta
;
3873 set_gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
,
3876 gdbarch
->vbit_in_delta
= vbit_in_delta
;
3880 gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
3882 gdb_assert (gdbarch
!= NULL
);
3883 gdb_assert (gdbarch
->skip_permanent_breakpoint
!= NULL
);
3884 if (gdbarch_debug
>= 2)
3885 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_permanent_breakpoint called\n");
3886 gdbarch
->skip_permanent_breakpoint (regcache
);
3890 set_gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
,
3891 gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint
)
3893 gdbarch
->skip_permanent_breakpoint
= skip_permanent_breakpoint
;
3897 gdbarch_max_insn_length_p (struct gdbarch
*gdbarch
)
3899 gdb_assert (gdbarch
!= NULL
);
3900 return gdbarch
->max_insn_length
!= 0;
3904 gdbarch_max_insn_length (struct gdbarch
*gdbarch
)
3906 gdb_assert (gdbarch
!= NULL
);
3907 /* Check variable changed from pre-default. */
3908 gdb_assert (gdbarch
->max_insn_length
!= 0);
3909 if (gdbarch_debug
>= 2)
3910 fprintf_unfiltered (gdb_stdlog
, "gdbarch_max_insn_length called\n");
3911 return gdbarch
->max_insn_length
;
3915 set_gdbarch_max_insn_length (struct gdbarch
*gdbarch
,
3916 ULONGEST max_insn_length
)
3918 gdbarch
->max_insn_length
= max_insn_length
;
3922 gdbarch_displaced_step_copy_insn_p (struct gdbarch
*gdbarch
)
3924 gdb_assert (gdbarch
!= NULL
);
3925 return gdbarch
->displaced_step_copy_insn
!= NULL
;
3928 displaced_step_copy_insn_closure_up
3929 gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3931 gdb_assert (gdbarch
!= NULL
);
3932 gdb_assert (gdbarch
->displaced_step_copy_insn
!= NULL
);
3933 if (gdbarch_debug
>= 2)
3934 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_copy_insn called\n");
3935 return gdbarch
->displaced_step_copy_insn (gdbarch
, from
, to
, regs
);
3939 set_gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
,
3940 gdbarch_displaced_step_copy_insn_ftype displaced_step_copy_insn
)
3942 gdbarch
->displaced_step_copy_insn
= displaced_step_copy_insn
;
3946 gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
, struct displaced_step_copy_insn_closure
*closure
)
3948 gdb_assert (gdbarch
!= NULL
);
3949 gdb_assert (gdbarch
->displaced_step_hw_singlestep
!= NULL
);
3950 if (gdbarch_debug
>= 2)
3951 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_hw_singlestep called\n");
3952 return gdbarch
->displaced_step_hw_singlestep (gdbarch
, closure
);
3956 set_gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
,
3957 gdbarch_displaced_step_hw_singlestep_ftype displaced_step_hw_singlestep
)
3959 gdbarch
->displaced_step_hw_singlestep
= displaced_step_hw_singlestep
;
3963 gdbarch_displaced_step_fixup_p (struct gdbarch
*gdbarch
)
3965 gdb_assert (gdbarch
!= NULL
);
3966 return gdbarch
->displaced_step_fixup
!= NULL
;
3970 gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
, struct displaced_step_copy_insn_closure
*closure
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3972 gdb_assert (gdbarch
!= NULL
);
3973 gdb_assert (gdbarch
->displaced_step_fixup
!= NULL
);
3974 /* Do not check predicate: gdbarch->displaced_step_fixup != NULL, allow call. */
3975 if (gdbarch_debug
>= 2)
3976 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_fixup called\n");
3977 gdbarch
->displaced_step_fixup (gdbarch
, closure
, from
, to
, regs
);
3981 set_gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
,
3982 gdbarch_displaced_step_fixup_ftype displaced_step_fixup
)
3984 gdbarch
->displaced_step_fixup
= displaced_step_fixup
;
3987 displaced_step_prepare_status
3988 gdbarch_displaced_step_prepare (struct gdbarch
*gdbarch
, thread_info
*thread
)
3990 gdb_assert (gdbarch
!= NULL
);
3991 gdb_assert (gdbarch
->displaced_step_prepare
!= NULL
);
3992 if (gdbarch_debug
>= 2)
3993 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_prepare called\n");
3994 return gdbarch
->displaced_step_prepare (gdbarch
, thread
);
3998 set_gdbarch_displaced_step_prepare (struct gdbarch
*gdbarch
,
3999 gdbarch_displaced_step_prepare_ftype displaced_step_prepare
)
4001 gdbarch
->displaced_step_prepare
= displaced_step_prepare
;
4004 displaced_step_finish_status
4005 gdbarch_displaced_step_finish (struct gdbarch
*gdbarch
, thread_info
*thread
, gdb_signal sig
)
4007 gdb_assert (gdbarch
!= NULL
);
4008 gdb_assert (gdbarch
->displaced_step_finish
!= NULL
);
4009 if (gdbarch_debug
>= 2)
4010 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_finish called\n");
4011 return gdbarch
->displaced_step_finish (gdbarch
, thread
, sig
);
4015 set_gdbarch_displaced_step_finish (struct gdbarch
*gdbarch
,
4016 gdbarch_displaced_step_finish_ftype displaced_step_finish
)
4018 gdbarch
->displaced_step_finish
= displaced_step_finish
;
4022 gdbarch_relocate_instruction_p (struct gdbarch
*gdbarch
)
4024 gdb_assert (gdbarch
!= NULL
);
4025 return gdbarch
->relocate_instruction
!= NULL
;
4029 gdbarch_relocate_instruction (struct gdbarch
*gdbarch
, CORE_ADDR
*to
, CORE_ADDR from
)
4031 gdb_assert (gdbarch
!= NULL
);
4032 gdb_assert (gdbarch
->relocate_instruction
!= NULL
);
4033 /* Do not check predicate: gdbarch->relocate_instruction != NULL, allow call. */
4034 if (gdbarch_debug
>= 2)
4035 fprintf_unfiltered (gdb_stdlog
, "gdbarch_relocate_instruction called\n");
4036 gdbarch
->relocate_instruction (gdbarch
, to
, from
);
4040 set_gdbarch_relocate_instruction (struct gdbarch
*gdbarch
,
4041 gdbarch_relocate_instruction_ftype relocate_instruction
)
4043 gdbarch
->relocate_instruction
= relocate_instruction
;
4047 gdbarch_overlay_update_p (struct gdbarch
*gdbarch
)
4049 gdb_assert (gdbarch
!= NULL
);
4050 return gdbarch
->overlay_update
!= NULL
;
4054 gdbarch_overlay_update (struct gdbarch
*gdbarch
, struct obj_section
*osect
)
4056 gdb_assert (gdbarch
!= NULL
);
4057 gdb_assert (gdbarch
->overlay_update
!= NULL
);
4058 if (gdbarch_debug
>= 2)
4059 fprintf_unfiltered (gdb_stdlog
, "gdbarch_overlay_update called\n");
4060 gdbarch
->overlay_update (osect
);
4064 set_gdbarch_overlay_update (struct gdbarch
*gdbarch
,
4065 gdbarch_overlay_update_ftype overlay_update
)
4067 gdbarch
->overlay_update
= overlay_update
;
4071 gdbarch_core_read_description_p (struct gdbarch
*gdbarch
)
4073 gdb_assert (gdbarch
!= NULL
);
4074 return gdbarch
->core_read_description
!= NULL
;
4077 const struct target_desc
*
4078 gdbarch_core_read_description (struct gdbarch
*gdbarch
, struct target_ops
*target
, bfd
*abfd
)
4080 gdb_assert (gdbarch
!= NULL
);
4081 gdb_assert (gdbarch
->core_read_description
!= NULL
);
4082 if (gdbarch_debug
>= 2)
4083 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_read_description called\n");
4084 return gdbarch
->core_read_description (gdbarch
, target
, abfd
);
4088 set_gdbarch_core_read_description (struct gdbarch
*gdbarch
,
4089 gdbarch_core_read_description_ftype core_read_description
)
4091 gdbarch
->core_read_description
= core_read_description
;
4095 gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
)
4097 gdb_assert (gdbarch
!= NULL
);
4098 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
4099 if (gdbarch_debug
>= 2)
4100 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sofun_address_maybe_missing called\n");
4101 return gdbarch
->sofun_address_maybe_missing
;
4105 set_gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
,
4106 int sofun_address_maybe_missing
)
4108 gdbarch
->sofun_address_maybe_missing
= sofun_address_maybe_missing
;
4112 gdbarch_process_record_p (struct gdbarch
*gdbarch
)
4114 gdb_assert (gdbarch
!= NULL
);
4115 return gdbarch
->process_record
!= NULL
;
4119 gdbarch_process_record (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4121 gdb_assert (gdbarch
!= NULL
);
4122 gdb_assert (gdbarch
->process_record
!= NULL
);
4123 if (gdbarch_debug
>= 2)
4124 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record called\n");
4125 return gdbarch
->process_record (gdbarch
, regcache
, addr
);
4129 set_gdbarch_process_record (struct gdbarch
*gdbarch
,
4130 gdbarch_process_record_ftype process_record
)
4132 gdbarch
->process_record
= process_record
;
4136 gdbarch_process_record_signal_p (struct gdbarch
*gdbarch
)
4138 gdb_assert (gdbarch
!= NULL
);
4139 return gdbarch
->process_record_signal
!= NULL
;
4143 gdbarch_process_record_signal (struct gdbarch
*gdbarch
, struct regcache
*regcache
, enum gdb_signal signal
)
4145 gdb_assert (gdbarch
!= NULL
);
4146 gdb_assert (gdbarch
->process_record_signal
!= NULL
);
4147 if (gdbarch_debug
>= 2)
4148 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record_signal called\n");
4149 return gdbarch
->process_record_signal (gdbarch
, regcache
, signal
);
4153 set_gdbarch_process_record_signal (struct gdbarch
*gdbarch
,
4154 gdbarch_process_record_signal_ftype process_record_signal
)
4156 gdbarch
->process_record_signal
= process_record_signal
;
4160 gdbarch_gdb_signal_from_target_p (struct gdbarch
*gdbarch
)
4162 gdb_assert (gdbarch
!= NULL
);
4163 return gdbarch
->gdb_signal_from_target
!= NULL
;
4167 gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
, int signo
)
4169 gdb_assert (gdbarch
!= NULL
);
4170 gdb_assert (gdbarch
->gdb_signal_from_target
!= NULL
);
4171 if (gdbarch_debug
>= 2)
4172 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_from_target called\n");
4173 return gdbarch
->gdb_signal_from_target (gdbarch
, signo
);
4177 set_gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
,
4178 gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target
)
4180 gdbarch
->gdb_signal_from_target
= gdb_signal_from_target
;
4184 gdbarch_gdb_signal_to_target_p (struct gdbarch
*gdbarch
)
4186 gdb_assert (gdbarch
!= NULL
);
4187 return gdbarch
->gdb_signal_to_target
!= NULL
;
4191 gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
, enum gdb_signal signal
)
4193 gdb_assert (gdbarch
!= NULL
);
4194 gdb_assert (gdbarch
->gdb_signal_to_target
!= NULL
);
4195 if (gdbarch_debug
>= 2)
4196 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_to_target called\n");
4197 return gdbarch
->gdb_signal_to_target (gdbarch
, signal
);
4201 set_gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
,
4202 gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target
)
4204 gdbarch
->gdb_signal_to_target
= gdb_signal_to_target
;
4208 gdbarch_get_siginfo_type_p (struct gdbarch
*gdbarch
)
4210 gdb_assert (gdbarch
!= NULL
);
4211 return gdbarch
->get_siginfo_type
!= NULL
;
4215 gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
)
4217 gdb_assert (gdbarch
!= NULL
);
4218 gdb_assert (gdbarch
->get_siginfo_type
!= NULL
);
4219 if (gdbarch_debug
>= 2)
4220 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_siginfo_type called\n");
4221 return gdbarch
->get_siginfo_type (gdbarch
);
4225 set_gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
,
4226 gdbarch_get_siginfo_type_ftype get_siginfo_type
)
4228 gdbarch
->get_siginfo_type
= get_siginfo_type
;
4232 gdbarch_record_special_symbol_p (struct gdbarch
*gdbarch
)
4234 gdb_assert (gdbarch
!= NULL
);
4235 return gdbarch
->record_special_symbol
!= NULL
;
4239 gdbarch_record_special_symbol (struct gdbarch
*gdbarch
, struct objfile
*objfile
, asymbol
*sym
)
4241 gdb_assert (gdbarch
!= NULL
);
4242 gdb_assert (gdbarch
->record_special_symbol
!= NULL
);
4243 if (gdbarch_debug
>= 2)
4244 fprintf_unfiltered (gdb_stdlog
, "gdbarch_record_special_symbol called\n");
4245 gdbarch
->record_special_symbol (gdbarch
, objfile
, sym
);
4249 set_gdbarch_record_special_symbol (struct gdbarch
*gdbarch
,
4250 gdbarch_record_special_symbol_ftype record_special_symbol
)
4252 gdbarch
->record_special_symbol
= record_special_symbol
;
4256 gdbarch_get_syscall_number_p (struct gdbarch
*gdbarch
)
4258 gdb_assert (gdbarch
!= NULL
);
4259 return gdbarch
->get_syscall_number
!= NULL
;
4263 gdbarch_get_syscall_number (struct gdbarch
*gdbarch
, thread_info
*thread
)
4265 gdb_assert (gdbarch
!= NULL
);
4266 gdb_assert (gdbarch
->get_syscall_number
!= NULL
);
4267 if (gdbarch_debug
>= 2)
4268 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_syscall_number called\n");
4269 return gdbarch
->get_syscall_number (gdbarch
, thread
);
4273 set_gdbarch_get_syscall_number (struct gdbarch
*gdbarch
,
4274 gdbarch_get_syscall_number_ftype get_syscall_number
)
4276 gdbarch
->get_syscall_number
= get_syscall_number
;
4280 gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
)
4282 gdb_assert (gdbarch
!= NULL
);
4283 /* Skip verify of xml_syscall_file, invalid_p == 0 */
4284 if (gdbarch_debug
>= 2)
4285 fprintf_unfiltered (gdb_stdlog
, "gdbarch_xml_syscall_file called\n");
4286 return gdbarch
->xml_syscall_file
;
4290 set_gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
,
4291 const char * xml_syscall_file
)
4293 gdbarch
->xml_syscall_file
= xml_syscall_file
;
4296 struct syscalls_info
*
4297 gdbarch_syscalls_info (struct gdbarch
*gdbarch
)
4299 gdb_assert (gdbarch
!= NULL
);
4300 /* Skip verify of syscalls_info, invalid_p == 0 */
4301 if (gdbarch_debug
>= 2)
4302 fprintf_unfiltered (gdb_stdlog
, "gdbarch_syscalls_info called\n");
4303 return gdbarch
->syscalls_info
;
4307 set_gdbarch_syscalls_info (struct gdbarch
*gdbarch
,
4308 struct syscalls_info
* syscalls_info
)
4310 gdbarch
->syscalls_info
= syscalls_info
;
4314 gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
)
4316 gdb_assert (gdbarch
!= NULL
);
4317 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
4318 if (gdbarch_debug
>= 2)
4319 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_prefixes called\n");
4320 return gdbarch
->stap_integer_prefixes
;
4324 set_gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
,
4325 const char *const * stap_integer_prefixes
)
4327 gdbarch
->stap_integer_prefixes
= stap_integer_prefixes
;
4331 gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
)
4333 gdb_assert (gdbarch
!= NULL
);
4334 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
4335 if (gdbarch_debug
>= 2)
4336 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_suffixes called\n");
4337 return gdbarch
->stap_integer_suffixes
;
4341 set_gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
,
4342 const char *const * stap_integer_suffixes
)
4344 gdbarch
->stap_integer_suffixes
= stap_integer_suffixes
;
4348 gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
)
4350 gdb_assert (gdbarch
!= NULL
);
4351 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
4352 if (gdbarch_debug
>= 2)
4353 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_prefixes called\n");
4354 return gdbarch
->stap_register_prefixes
;
4358 set_gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
,
4359 const char *const * stap_register_prefixes
)
4361 gdbarch
->stap_register_prefixes
= stap_register_prefixes
;
4365 gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
)
4367 gdb_assert (gdbarch
!= NULL
);
4368 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
4369 if (gdbarch_debug
>= 2)
4370 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_suffixes called\n");
4371 return gdbarch
->stap_register_suffixes
;
4375 set_gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
,
4376 const char *const * stap_register_suffixes
)
4378 gdbarch
->stap_register_suffixes
= stap_register_suffixes
;
4382 gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
)
4384 gdb_assert (gdbarch
!= NULL
);
4385 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
4386 if (gdbarch_debug
>= 2)
4387 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_prefixes called\n");
4388 return gdbarch
->stap_register_indirection_prefixes
;
4392 set_gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
,
4393 const char *const * stap_register_indirection_prefixes
)
4395 gdbarch
->stap_register_indirection_prefixes
= stap_register_indirection_prefixes
;
4399 gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
)
4401 gdb_assert (gdbarch
!= NULL
);
4402 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
4403 if (gdbarch_debug
>= 2)
4404 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_suffixes called\n");
4405 return gdbarch
->stap_register_indirection_suffixes
;
4409 set_gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
,
4410 const char *const * stap_register_indirection_suffixes
)
4412 gdbarch
->stap_register_indirection_suffixes
= stap_register_indirection_suffixes
;
4416 gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
)
4418 gdb_assert (gdbarch
!= NULL
);
4419 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
4420 if (gdbarch_debug
>= 2)
4421 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_prefix called\n");
4422 return gdbarch
->stap_gdb_register_prefix
;
4426 set_gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
,
4427 const char * stap_gdb_register_prefix
)
4429 gdbarch
->stap_gdb_register_prefix
= stap_gdb_register_prefix
;
4433 gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
)
4435 gdb_assert (gdbarch
!= NULL
);
4436 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
4437 if (gdbarch_debug
>= 2)
4438 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_suffix called\n");
4439 return gdbarch
->stap_gdb_register_suffix
;
4443 set_gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
,
4444 const char * stap_gdb_register_suffix
)
4446 gdbarch
->stap_gdb_register_suffix
= stap_gdb_register_suffix
;
4450 gdbarch_stap_is_single_operand_p (struct gdbarch
*gdbarch
)
4452 gdb_assert (gdbarch
!= NULL
);
4453 return gdbarch
->stap_is_single_operand
!= NULL
;
4457 gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
, const char *s
)
4459 gdb_assert (gdbarch
!= NULL
);
4460 gdb_assert (gdbarch
->stap_is_single_operand
!= NULL
);
4461 if (gdbarch_debug
>= 2)
4462 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_is_single_operand called\n");
4463 return gdbarch
->stap_is_single_operand (gdbarch
, s
);
4467 set_gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
,
4468 gdbarch_stap_is_single_operand_ftype stap_is_single_operand
)
4470 gdbarch
->stap_is_single_operand
= stap_is_single_operand
;
4474 gdbarch_stap_parse_special_token_p (struct gdbarch
*gdbarch
)
4476 gdb_assert (gdbarch
!= NULL
);
4477 return gdbarch
->stap_parse_special_token
!= NULL
;
4481 gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
, struct stap_parse_info
*p
)
4483 gdb_assert (gdbarch
!= NULL
);
4484 gdb_assert (gdbarch
->stap_parse_special_token
!= NULL
);
4485 if (gdbarch_debug
>= 2)
4486 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_parse_special_token called\n");
4487 return gdbarch
->stap_parse_special_token (gdbarch
, p
);
4491 set_gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
,
4492 gdbarch_stap_parse_special_token_ftype stap_parse_special_token
)
4494 gdbarch
->stap_parse_special_token
= stap_parse_special_token
;
4498 gdbarch_stap_adjust_register_p (struct gdbarch
*gdbarch
)
4500 gdb_assert (gdbarch
!= NULL
);
4501 return gdbarch
->stap_adjust_register
!= NULL
;
4505 gdbarch_stap_adjust_register (struct gdbarch
*gdbarch
, struct stap_parse_info
*p
, const std::string
®name
, int regnum
)
4507 gdb_assert (gdbarch
!= NULL
);
4508 gdb_assert (gdbarch
->stap_adjust_register
!= NULL
);
4509 if (gdbarch_debug
>= 2)
4510 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_adjust_register called\n");
4511 return gdbarch
->stap_adjust_register (gdbarch
, p
, regname
, regnum
);
4515 set_gdbarch_stap_adjust_register (struct gdbarch
*gdbarch
,
4516 gdbarch_stap_adjust_register_ftype stap_adjust_register
)
4518 gdbarch
->stap_adjust_register
= stap_adjust_register
;
4522 gdbarch_dtrace_parse_probe_argument_p (struct gdbarch
*gdbarch
)
4524 gdb_assert (gdbarch
!= NULL
);
4525 return gdbarch
->dtrace_parse_probe_argument
!= NULL
;
4529 gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
, struct expr_builder
*builder
, int narg
)
4531 gdb_assert (gdbarch
!= NULL
);
4532 gdb_assert (gdbarch
->dtrace_parse_probe_argument
!= NULL
);
4533 if (gdbarch_debug
>= 2)
4534 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_parse_probe_argument called\n");
4535 gdbarch
->dtrace_parse_probe_argument (gdbarch
, builder
, narg
);
4539 set_gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
,
4540 gdbarch_dtrace_parse_probe_argument_ftype dtrace_parse_probe_argument
)
4542 gdbarch
->dtrace_parse_probe_argument
= dtrace_parse_probe_argument
;
4546 gdbarch_dtrace_probe_is_enabled_p (struct gdbarch
*gdbarch
)
4548 gdb_assert (gdbarch
!= NULL
);
4549 return gdbarch
->dtrace_probe_is_enabled
!= NULL
;
4553 gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4555 gdb_assert (gdbarch
!= NULL
);
4556 gdb_assert (gdbarch
->dtrace_probe_is_enabled
!= NULL
);
4557 if (gdbarch_debug
>= 2)
4558 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_probe_is_enabled called\n");
4559 return gdbarch
->dtrace_probe_is_enabled (gdbarch
, addr
);
4563 set_gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
,
4564 gdbarch_dtrace_probe_is_enabled_ftype dtrace_probe_is_enabled
)
4566 gdbarch
->dtrace_probe_is_enabled
= dtrace_probe_is_enabled
;
4570 gdbarch_dtrace_enable_probe_p (struct gdbarch
*gdbarch
)
4572 gdb_assert (gdbarch
!= NULL
);
4573 return gdbarch
->dtrace_enable_probe
!= NULL
;
4577 gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4579 gdb_assert (gdbarch
!= NULL
);
4580 gdb_assert (gdbarch
->dtrace_enable_probe
!= NULL
);
4581 if (gdbarch_debug
>= 2)
4582 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_enable_probe called\n");
4583 gdbarch
->dtrace_enable_probe (gdbarch
, addr
);
4587 set_gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
,
4588 gdbarch_dtrace_enable_probe_ftype dtrace_enable_probe
)
4590 gdbarch
->dtrace_enable_probe
= dtrace_enable_probe
;
4594 gdbarch_dtrace_disable_probe_p (struct gdbarch
*gdbarch
)
4596 gdb_assert (gdbarch
!= NULL
);
4597 return gdbarch
->dtrace_disable_probe
!= NULL
;
4601 gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4603 gdb_assert (gdbarch
!= NULL
);
4604 gdb_assert (gdbarch
->dtrace_disable_probe
!= NULL
);
4605 if (gdbarch_debug
>= 2)
4606 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_disable_probe called\n");
4607 gdbarch
->dtrace_disable_probe (gdbarch
, addr
);
4611 set_gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
,
4612 gdbarch_dtrace_disable_probe_ftype dtrace_disable_probe
)
4614 gdbarch
->dtrace_disable_probe
= dtrace_disable_probe
;
4618 gdbarch_has_global_solist (struct gdbarch
*gdbarch
)
4620 gdb_assert (gdbarch
!= NULL
);
4621 /* Skip verify of has_global_solist, invalid_p == 0 */
4622 if (gdbarch_debug
>= 2)
4623 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_solist called\n");
4624 return gdbarch
->has_global_solist
;
4628 set_gdbarch_has_global_solist (struct gdbarch
*gdbarch
,
4629 int has_global_solist
)
4631 gdbarch
->has_global_solist
= has_global_solist
;
4635 gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
)
4637 gdb_assert (gdbarch
!= NULL
);
4638 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
4639 if (gdbarch_debug
>= 2)
4640 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_breakpoints called\n");
4641 return gdbarch
->has_global_breakpoints
;
4645 set_gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
,
4646 int has_global_breakpoints
)
4648 gdbarch
->has_global_breakpoints
= has_global_breakpoints
;
4652 gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
)
4654 gdb_assert (gdbarch
!= NULL
);
4655 gdb_assert (gdbarch
->has_shared_address_space
!= NULL
);
4656 if (gdbarch_debug
>= 2)
4657 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_shared_address_space called\n");
4658 return gdbarch
->has_shared_address_space (gdbarch
);
4662 set_gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
,
4663 gdbarch_has_shared_address_space_ftype has_shared_address_space
)
4665 gdbarch
->has_shared_address_space
= has_shared_address_space
;
4669 gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
, CORE_ADDR addr
, std::string
*msg
)
4671 gdb_assert (gdbarch
!= NULL
);
4672 gdb_assert (gdbarch
->fast_tracepoint_valid_at
!= NULL
);
4673 if (gdbarch_debug
>= 2)
4674 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fast_tracepoint_valid_at called\n");
4675 return gdbarch
->fast_tracepoint_valid_at (gdbarch
, addr
, msg
);
4679 set_gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
,
4680 gdbarch_fast_tracepoint_valid_at_ftype fast_tracepoint_valid_at
)
4682 gdbarch
->fast_tracepoint_valid_at
= fast_tracepoint_valid_at
;
4686 gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4688 gdb_assert (gdbarch
!= NULL
);
4689 gdb_assert (gdbarch
->guess_tracepoint_registers
!= NULL
);
4690 if (gdbarch_debug
>= 2)
4691 fprintf_unfiltered (gdb_stdlog
, "gdbarch_guess_tracepoint_registers called\n");
4692 gdbarch
->guess_tracepoint_registers (gdbarch
, regcache
, addr
);
4696 set_gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
,
4697 gdbarch_guess_tracepoint_registers_ftype guess_tracepoint_registers
)
4699 gdbarch
->guess_tracepoint_registers
= guess_tracepoint_registers
;
4703 gdbarch_auto_charset (struct gdbarch
*gdbarch
)
4705 gdb_assert (gdbarch
!= NULL
);
4706 gdb_assert (gdbarch
->auto_charset
!= NULL
);
4707 if (gdbarch_debug
>= 2)
4708 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_charset called\n");
4709 return gdbarch
->auto_charset ();
4713 set_gdbarch_auto_charset (struct gdbarch
*gdbarch
,
4714 gdbarch_auto_charset_ftype auto_charset
)
4716 gdbarch
->auto_charset
= auto_charset
;
4720 gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
)
4722 gdb_assert (gdbarch
!= NULL
);
4723 gdb_assert (gdbarch
->auto_wide_charset
!= NULL
);
4724 if (gdbarch_debug
>= 2)
4725 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_wide_charset called\n");
4726 return gdbarch
->auto_wide_charset ();
4730 set_gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
,
4731 gdbarch_auto_wide_charset_ftype auto_wide_charset
)
4733 gdbarch
->auto_wide_charset
= auto_wide_charset
;
4737 gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
)
4739 gdb_assert (gdbarch
!= NULL
);
4740 if (gdbarch_debug
>= 2)
4741 fprintf_unfiltered (gdb_stdlog
, "gdbarch_solib_symbols_extension called\n");
4742 return gdbarch
->solib_symbols_extension
;
4746 set_gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
,
4747 const char * solib_symbols_extension
)
4749 gdbarch
->solib_symbols_extension
= solib_symbols_extension
;
4753 gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
)
4755 gdb_assert (gdbarch
!= NULL
);
4756 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
4757 if (gdbarch_debug
>= 2)
4758 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_dos_based_file_system called\n");
4759 return gdbarch
->has_dos_based_file_system
;
4763 set_gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
,
4764 int has_dos_based_file_system
)
4766 gdbarch
->has_dos_based_file_system
= has_dos_based_file_system
;
4770 gdbarch_gen_return_address (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, struct axs_value
*value
, CORE_ADDR scope
)
4772 gdb_assert (gdbarch
!= NULL
);
4773 gdb_assert (gdbarch
->gen_return_address
!= NULL
);
4774 if (gdbarch_debug
>= 2)
4775 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gen_return_address called\n");
4776 gdbarch
->gen_return_address (gdbarch
, ax
, value
, scope
);
4780 set_gdbarch_gen_return_address (struct gdbarch
*gdbarch
,
4781 gdbarch_gen_return_address_ftype gen_return_address
)
4783 gdbarch
->gen_return_address
= gen_return_address
;
4787 gdbarch_info_proc_p (struct gdbarch
*gdbarch
)
4789 gdb_assert (gdbarch
!= NULL
);
4790 return gdbarch
->info_proc
!= NULL
;
4794 gdbarch_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4796 gdb_assert (gdbarch
!= NULL
);
4797 gdb_assert (gdbarch
->info_proc
!= NULL
);
4798 if (gdbarch_debug
>= 2)
4799 fprintf_unfiltered (gdb_stdlog
, "gdbarch_info_proc called\n");
4800 gdbarch
->info_proc (gdbarch
, args
, what
);
4804 set_gdbarch_info_proc (struct gdbarch
*gdbarch
,
4805 gdbarch_info_proc_ftype info_proc
)
4807 gdbarch
->info_proc
= info_proc
;
4811 gdbarch_core_info_proc_p (struct gdbarch
*gdbarch
)
4813 gdb_assert (gdbarch
!= NULL
);
4814 return gdbarch
->core_info_proc
!= NULL
;
4818 gdbarch_core_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4820 gdb_assert (gdbarch
!= NULL
);
4821 gdb_assert (gdbarch
->core_info_proc
!= NULL
);
4822 if (gdbarch_debug
>= 2)
4823 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_info_proc called\n");
4824 gdbarch
->core_info_proc (gdbarch
, args
, what
);
4828 set_gdbarch_core_info_proc (struct gdbarch
*gdbarch
,
4829 gdbarch_core_info_proc_ftype core_info_proc
)
4831 gdbarch
->core_info_proc
= core_info_proc
;
4835 gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch
*gdbarch
, iterate_over_objfiles_in_search_order_cb_ftype
*cb
, void *cb_data
, struct objfile
*current_objfile
)
4837 gdb_assert (gdbarch
!= NULL
);
4838 gdb_assert (gdbarch
->iterate_over_objfiles_in_search_order
!= NULL
);
4839 if (gdbarch_debug
>= 2)
4840 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_objfiles_in_search_order called\n");
4841 gdbarch
->iterate_over_objfiles_in_search_order (gdbarch
, cb
, cb_data
, current_objfile
);
4845 set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch
*gdbarch
,
4846 gdbarch_iterate_over_objfiles_in_search_order_ftype iterate_over_objfiles_in_search_order
)
4848 gdbarch
->iterate_over_objfiles_in_search_order
= iterate_over_objfiles_in_search_order
;
4851 struct ravenscar_arch_ops
*
4852 gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
)
4854 gdb_assert (gdbarch
!= NULL
);
4855 /* Skip verify of ravenscar_ops, invalid_p == 0 */
4856 if (gdbarch_debug
>= 2)
4857 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ravenscar_ops called\n");
4858 return gdbarch
->ravenscar_ops
;
4862 set_gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
,
4863 struct ravenscar_arch_ops
* ravenscar_ops
)
4865 gdbarch
->ravenscar_ops
= ravenscar_ops
;
4869 gdbarch_insn_is_call (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4871 gdb_assert (gdbarch
!= NULL
);
4872 gdb_assert (gdbarch
->insn_is_call
!= NULL
);
4873 if (gdbarch_debug
>= 2)
4874 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_call called\n");
4875 return gdbarch
->insn_is_call (gdbarch
, addr
);
4879 set_gdbarch_insn_is_call (struct gdbarch
*gdbarch
,
4880 gdbarch_insn_is_call_ftype insn_is_call
)
4882 gdbarch
->insn_is_call
= insn_is_call
;
4886 gdbarch_insn_is_ret (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4888 gdb_assert (gdbarch
!= NULL
);
4889 gdb_assert (gdbarch
->insn_is_ret
!= NULL
);
4890 if (gdbarch_debug
>= 2)
4891 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_ret called\n");
4892 return gdbarch
->insn_is_ret (gdbarch
, addr
);
4896 set_gdbarch_insn_is_ret (struct gdbarch
*gdbarch
,
4897 gdbarch_insn_is_ret_ftype insn_is_ret
)
4899 gdbarch
->insn_is_ret
= insn_is_ret
;
4903 gdbarch_insn_is_jump (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4905 gdb_assert (gdbarch
!= NULL
);
4906 gdb_assert (gdbarch
->insn_is_jump
!= NULL
);
4907 if (gdbarch_debug
>= 2)
4908 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_jump called\n");
4909 return gdbarch
->insn_is_jump (gdbarch
, addr
);
4913 set_gdbarch_insn_is_jump (struct gdbarch
*gdbarch
,
4914 gdbarch_insn_is_jump_ftype insn_is_jump
)
4916 gdbarch
->insn_is_jump
= insn_is_jump
;
4920 gdbarch_program_breakpoint_here_p (struct gdbarch
*gdbarch
, CORE_ADDR address
)
4922 gdb_assert (gdbarch
!= NULL
);
4923 gdb_assert (gdbarch
->program_breakpoint_here_p
!= NULL
);
4924 if (gdbarch_debug
>= 2)
4925 fprintf_unfiltered (gdb_stdlog
, "gdbarch_program_breakpoint_here_p called\n");
4926 return gdbarch
->program_breakpoint_here_p (gdbarch
, address
);
4930 set_gdbarch_program_breakpoint_here_p (struct gdbarch
*gdbarch
,
4931 gdbarch_program_breakpoint_here_p_ftype program_breakpoint_here_p
)
4933 gdbarch
->program_breakpoint_here_p
= program_breakpoint_here_p
;
4937 gdbarch_auxv_parse_p (struct gdbarch
*gdbarch
)
4939 gdb_assert (gdbarch
!= NULL
);
4940 return gdbarch
->auxv_parse
!= NULL
;
4944 gdbarch_auxv_parse (struct gdbarch
*gdbarch
, gdb_byte
**readptr
, gdb_byte
*endptr
, CORE_ADDR
*typep
, CORE_ADDR
*valp
)
4946 gdb_assert (gdbarch
!= NULL
);
4947 gdb_assert (gdbarch
->auxv_parse
!= NULL
);
4948 if (gdbarch_debug
>= 2)
4949 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auxv_parse called\n");
4950 return gdbarch
->auxv_parse (gdbarch
, readptr
, endptr
, typep
, valp
);
4954 set_gdbarch_auxv_parse (struct gdbarch
*gdbarch
,
4955 gdbarch_auxv_parse_ftype auxv_parse
)
4957 gdbarch
->auxv_parse
= auxv_parse
;
4961 gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
, struct ui_file
*file
, CORE_ADDR type
, CORE_ADDR val
)
4963 gdb_assert (gdbarch
!= NULL
);
4964 gdb_assert (gdbarch
->print_auxv_entry
!= NULL
);
4965 if (gdbarch_debug
>= 2)
4966 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_auxv_entry called\n");
4967 gdbarch
->print_auxv_entry (gdbarch
, file
, type
, val
);
4971 set_gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
,
4972 gdbarch_print_auxv_entry_ftype print_auxv_entry
)
4974 gdbarch
->print_auxv_entry
= print_auxv_entry
;
4978 gdbarch_vsyscall_range (struct gdbarch
*gdbarch
, struct mem_range
*range
)
4980 gdb_assert (gdbarch
!= NULL
);
4981 gdb_assert (gdbarch
->vsyscall_range
!= NULL
);
4982 if (gdbarch_debug
>= 2)
4983 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vsyscall_range called\n");
4984 return gdbarch
->vsyscall_range (gdbarch
, range
);
4988 set_gdbarch_vsyscall_range (struct gdbarch
*gdbarch
,
4989 gdbarch_vsyscall_range_ftype vsyscall_range
)
4991 gdbarch
->vsyscall_range
= vsyscall_range
;
4995 gdbarch_infcall_mmap (struct gdbarch
*gdbarch
, CORE_ADDR size
, unsigned prot
)
4997 gdb_assert (gdbarch
!= NULL
);
4998 gdb_assert (gdbarch
->infcall_mmap
!= NULL
);
4999 if (gdbarch_debug
>= 2)
5000 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_mmap called\n");
5001 return gdbarch
->infcall_mmap (size
, prot
);
5005 set_gdbarch_infcall_mmap (struct gdbarch
*gdbarch
,
5006 gdbarch_infcall_mmap_ftype infcall_mmap
)
5008 gdbarch
->infcall_mmap
= infcall_mmap
;
5012 gdbarch_infcall_munmap (struct gdbarch
*gdbarch
, CORE_ADDR addr
, CORE_ADDR size
)
5014 gdb_assert (gdbarch
!= NULL
);
5015 gdb_assert (gdbarch
->infcall_munmap
!= NULL
);
5016 if (gdbarch_debug
>= 2)
5017 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_munmap called\n");
5018 gdbarch
->infcall_munmap (addr
, size
);
5022 set_gdbarch_infcall_munmap (struct gdbarch
*gdbarch
,
5023 gdbarch_infcall_munmap_ftype infcall_munmap
)
5025 gdbarch
->infcall_munmap
= infcall_munmap
;
5029 gdbarch_gcc_target_options (struct gdbarch
*gdbarch
)
5031 gdb_assert (gdbarch
!= NULL
);
5032 gdb_assert (gdbarch
->gcc_target_options
!= NULL
);
5033 if (gdbarch_debug
>= 2)
5034 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcc_target_options called\n");
5035 return gdbarch
->gcc_target_options (gdbarch
);
5039 set_gdbarch_gcc_target_options (struct gdbarch
*gdbarch
,
5040 gdbarch_gcc_target_options_ftype gcc_target_options
)
5042 gdbarch
->gcc_target_options
= gcc_target_options
;
5046 gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
)
5048 gdb_assert (gdbarch
!= NULL
);
5049 gdb_assert (gdbarch
->gnu_triplet_regexp
!= NULL
);
5050 if (gdbarch_debug
>= 2)
5051 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gnu_triplet_regexp called\n");
5052 return gdbarch
->gnu_triplet_regexp (gdbarch
);
5056 set_gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
,
5057 gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp
)
5059 gdbarch
->gnu_triplet_regexp
= gnu_triplet_regexp
;
5063 gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
)
5065 gdb_assert (gdbarch
!= NULL
);
5066 gdb_assert (gdbarch
->addressable_memory_unit_size
!= NULL
);
5067 if (gdbarch_debug
>= 2)
5068 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addressable_memory_unit_size called\n");
5069 return gdbarch
->addressable_memory_unit_size (gdbarch
);
5073 set_gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
,
5074 gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size
)
5076 gdbarch
->addressable_memory_unit_size
= addressable_memory_unit_size
;
5080 gdbarch_disassembler_options_implicit (struct gdbarch
*gdbarch
)
5082 gdb_assert (gdbarch
!= NULL
);
5083 /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
5084 if (gdbarch_debug
>= 2)
5085 fprintf_unfiltered (gdb_stdlog
, "gdbarch_disassembler_options_implicit called\n");
5086 return gdbarch
->disassembler_options_implicit
;
5090 set_gdbarch_disassembler_options_implicit (struct gdbarch
*gdbarch
,
5091 const char * disassembler_options_implicit
)
5093 gdbarch
->disassembler_options_implicit
= disassembler_options_implicit
;
5097 gdbarch_disassembler_options (struct gdbarch
*gdbarch
)
5099 gdb_assert (gdbarch
!= NULL
);
5100 /* Skip verify of disassembler_options, invalid_p == 0 */
5101 if (gdbarch_debug
>= 2)
5102 fprintf_unfiltered (gdb_stdlog
, "gdbarch_disassembler_options called\n");
5103 return gdbarch
->disassembler_options
;
5107 set_gdbarch_disassembler_options (struct gdbarch
*gdbarch
,
5108 char ** disassembler_options
)
5110 gdbarch
->disassembler_options
= disassembler_options
;
5113 const disasm_options_and_args_t
*
5114 gdbarch_valid_disassembler_options (struct gdbarch
*gdbarch
)
5116 gdb_assert (gdbarch
!= NULL
);
5117 /* Skip verify of valid_disassembler_options, invalid_p == 0 */
5118 if (gdbarch_debug
>= 2)
5119 fprintf_unfiltered (gdb_stdlog
, "gdbarch_valid_disassembler_options called\n");
5120 return gdbarch
->valid_disassembler_options
;
5124 set_gdbarch_valid_disassembler_options (struct gdbarch
*gdbarch
,
5125 const disasm_options_and_args_t
* valid_disassembler_options
)
5127 gdbarch
->valid_disassembler_options
= valid_disassembler_options
;
5131 gdbarch_type_align (struct gdbarch
*gdbarch
, struct type
*type
)
5133 gdb_assert (gdbarch
!= NULL
);
5134 gdb_assert (gdbarch
->type_align
!= NULL
);
5135 if (gdbarch_debug
>= 2)
5136 fprintf_unfiltered (gdb_stdlog
, "gdbarch_type_align called\n");
5137 return gdbarch
->type_align (gdbarch
, type
);
5141 set_gdbarch_type_align (struct gdbarch
*gdbarch
,
5142 gdbarch_type_align_ftype type_align
)
5144 gdbarch
->type_align
= type_align
;
5148 gdbarch_get_pc_address_flags (struct gdbarch
*gdbarch
, frame_info
*frame
, CORE_ADDR pc
)
5150 gdb_assert (gdbarch
!= NULL
);
5151 gdb_assert (gdbarch
->get_pc_address_flags
!= NULL
);
5152 if (gdbarch_debug
>= 2)
5153 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_pc_address_flags called\n");
5154 return gdbarch
->get_pc_address_flags (frame
, pc
);
5158 set_gdbarch_get_pc_address_flags (struct gdbarch
*gdbarch
,
5159 gdbarch_get_pc_address_flags_ftype get_pc_address_flags
)
5161 gdbarch
->get_pc_address_flags
= get_pc_address_flags
;
5165 /* Keep a registry of per-architecture data-pointers required by GDB
5172 gdbarch_data_pre_init_ftype
*pre_init
;
5173 gdbarch_data_post_init_ftype
*post_init
;
5176 struct gdbarch_data_registration
5178 struct gdbarch_data
*data
;
5179 struct gdbarch_data_registration
*next
;
5182 struct gdbarch_data_registry
5185 struct gdbarch_data_registration
*registrations
;
5188 struct gdbarch_data_registry gdbarch_data_registry
=
5193 static struct gdbarch_data
*
5194 gdbarch_data_register (gdbarch_data_pre_init_ftype
*pre_init
,
5195 gdbarch_data_post_init_ftype
*post_init
)
5197 struct gdbarch_data_registration
**curr
;
5199 /* Append the new registration. */
5200 for (curr
= &gdbarch_data_registry
.registrations
;
5202 curr
= &(*curr
)->next
);
5203 (*curr
) = XNEW (struct gdbarch_data_registration
);
5204 (*curr
)->next
= NULL
;
5205 (*curr
)->data
= XNEW (struct gdbarch_data
);
5206 (*curr
)->data
->index
= gdbarch_data_registry
.nr
++;
5207 (*curr
)->data
->pre_init
= pre_init
;
5208 (*curr
)->data
->post_init
= post_init
;
5209 (*curr
)->data
->init_p
= 1;
5210 return (*curr
)->data
;
5213 struct gdbarch_data
*
5214 gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype
*pre_init
)
5216 return gdbarch_data_register (pre_init
, NULL
);
5219 struct gdbarch_data
*
5220 gdbarch_data_register_post_init (gdbarch_data_post_init_ftype
*post_init
)
5222 return gdbarch_data_register (NULL
, post_init
);
5225 /* Create/delete the gdbarch data vector. */
5228 alloc_gdbarch_data (struct gdbarch
*gdbarch
)
5230 gdb_assert (gdbarch
->data
== NULL
);
5231 gdbarch
->nr_data
= gdbarch_data_registry
.nr
;
5232 gdbarch
->data
= GDBARCH_OBSTACK_CALLOC (gdbarch
, gdbarch
->nr_data
, void *);
5235 /* Return the current value of the specified per-architecture
5239 gdbarch_data (struct gdbarch
*gdbarch
, struct gdbarch_data
*data
)
5241 gdb_assert (data
->index
< gdbarch
->nr_data
);
5242 if (gdbarch
->data
[data
->index
] == NULL
)
5244 /* The data-pointer isn't initialized, call init() to get a
5246 if (data
->pre_init
!= NULL
)
5247 /* Mid architecture creation: pass just the obstack, and not
5248 the entire architecture, as that way it isn't possible for
5249 pre-init code to refer to undefined architecture
5251 gdbarch
->data
[data
->index
] = data
->pre_init (gdbarch
->obstack
);
5252 else if (gdbarch
->initialized_p
5253 && data
->post_init
!= NULL
)
5254 /* Post architecture creation: pass the entire architecture
5255 (as all fields are valid), but be careful to also detect
5256 recursive references. */
5258 gdb_assert (data
->init_p
);
5260 gdbarch
->data
[data
->index
] = data
->post_init (gdbarch
);
5264 internal_error (__FILE__
, __LINE__
,
5265 _("gdbarch post-init data field can only be used "
5266 "after gdbarch is fully initialised"));
5267 gdb_assert (gdbarch
->data
[data
->index
] != NULL
);
5269 return gdbarch
->data
[data
->index
];
5273 /* Keep a registry of the architectures known by GDB. */
5275 struct gdbarch_registration
5277 enum bfd_architecture bfd_architecture
;
5278 gdbarch_init_ftype
*init
;
5279 gdbarch_dump_tdep_ftype
*dump_tdep
;
5280 struct gdbarch_list
*arches
;
5281 struct gdbarch_registration
*next
;
5284 static struct gdbarch_registration
*gdbarch_registry
= NULL
;
5287 append_name (const char ***buf
, int *nr
, const char *name
)
5289 *buf
= XRESIZEVEC (const char *, *buf
, *nr
+ 1);
5295 gdbarch_printable_names (void)
5297 /* Accumulate a list of names based on the registed list of
5300 const char **arches
= NULL
;
5301 struct gdbarch_registration
*rego
;
5303 for (rego
= gdbarch_registry
;
5307 const struct bfd_arch_info
*ap
;
5308 ap
= bfd_lookup_arch (rego
->bfd_architecture
, 0);
5310 internal_error (__FILE__
, __LINE__
,
5311 _("gdbarch_architecture_names: multi-arch unknown"));
5314 append_name (&arches
, &nr_arches
, ap
->printable_name
);
5319 append_name (&arches
, &nr_arches
, NULL
);
5325 gdbarch_register (enum bfd_architecture bfd_architecture
,
5326 gdbarch_init_ftype
*init
,
5327 gdbarch_dump_tdep_ftype
*dump_tdep
)
5329 struct gdbarch_registration
**curr
;
5330 const struct bfd_arch_info
*bfd_arch_info
;
5332 /* Check that BFD recognizes this architecture */
5333 bfd_arch_info
= bfd_lookup_arch (bfd_architecture
, 0);
5334 if (bfd_arch_info
== NULL
)
5336 internal_error (__FILE__
, __LINE__
,
5337 _("gdbarch: Attempt to register "
5338 "unknown architecture (%d)"),
5341 /* Check that we haven't seen this architecture before. */
5342 for (curr
= &gdbarch_registry
;
5344 curr
= &(*curr
)->next
)
5346 if (bfd_architecture
== (*curr
)->bfd_architecture
)
5347 internal_error (__FILE__
, __LINE__
,
5348 _("gdbarch: Duplicate registration "
5349 "of architecture (%s)"),
5350 bfd_arch_info
->printable_name
);
5354 fprintf_unfiltered (gdb_stdlog
, "register_gdbarch_init (%s, %s)\n",
5355 bfd_arch_info
->printable_name
,
5356 host_address_to_string (init
));
5358 (*curr
) = XNEW (struct gdbarch_registration
);
5359 (*curr
)->bfd_architecture
= bfd_architecture
;
5360 (*curr
)->init
= init
;
5361 (*curr
)->dump_tdep
= dump_tdep
;
5362 (*curr
)->arches
= NULL
;
5363 (*curr
)->next
= NULL
;
5367 register_gdbarch_init (enum bfd_architecture bfd_architecture
,
5368 gdbarch_init_ftype
*init
)
5370 gdbarch_register (bfd_architecture
, init
, NULL
);
5374 /* Look for an architecture using gdbarch_info. */
5376 struct gdbarch_list
*
5377 gdbarch_list_lookup_by_info (struct gdbarch_list
*arches
,
5378 const struct gdbarch_info
*info
)
5380 for (; arches
!= NULL
; arches
= arches
->next
)
5382 if (info
->bfd_arch_info
!= arches
->gdbarch
->bfd_arch_info
)
5384 if (info
->byte_order
!= arches
->gdbarch
->byte_order
)
5386 if (info
->osabi
!= arches
->gdbarch
->osabi
)
5388 if (info
->target_desc
!= arches
->gdbarch
->target_desc
)
5396 /* Find an architecture that matches the specified INFO. Create a new
5397 architecture if needed. Return that new architecture. */
5400 gdbarch_find_by_info (struct gdbarch_info info
)
5402 struct gdbarch
*new_gdbarch
;
5403 struct gdbarch_registration
*rego
;
5405 /* Fill in missing parts of the INFO struct using a number of
5406 sources: "set ..."; INFOabfd supplied; and the global
5408 gdbarch_info_fill (&info
);
5410 /* Must have found some sort of architecture. */
5411 gdb_assert (info
.bfd_arch_info
!= NULL
);
5415 fprintf_unfiltered (gdb_stdlog
,
5416 "gdbarch_find_by_info: info.bfd_arch_info %s\n",
5417 (info
.bfd_arch_info
!= NULL
5418 ? info
.bfd_arch_info
->printable_name
5420 fprintf_unfiltered (gdb_stdlog
,
5421 "gdbarch_find_by_info: info.byte_order %d (%s)\n",
5423 (info
.byte_order
== BFD_ENDIAN_BIG
? "big"
5424 : info
.byte_order
== BFD_ENDIAN_LITTLE
? "little"
5426 fprintf_unfiltered (gdb_stdlog
,
5427 "gdbarch_find_by_info: info.osabi %d (%s)\n",
5428 info
.osabi
, gdbarch_osabi_name (info
.osabi
));
5429 fprintf_unfiltered (gdb_stdlog
,
5430 "gdbarch_find_by_info: info.abfd %s\n",
5431 host_address_to_string (info
.abfd
));
5432 fprintf_unfiltered (gdb_stdlog
,
5433 "gdbarch_find_by_info: info.tdep_info %s\n",
5434 host_address_to_string (info
.tdep_info
));
5437 /* Find the tdep code that knows about this architecture. */
5438 for (rego
= gdbarch_registry
;
5441 if (rego
->bfd_architecture
== info
.bfd_arch_info
->arch
)
5446 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5447 "No matching architecture\n");
5451 /* Ask the tdep code for an architecture that matches "info". */
5452 new_gdbarch
= rego
->init (info
, rego
->arches
);
5454 /* Did the tdep code like it? No. Reject the change and revert to
5455 the old architecture. */
5456 if (new_gdbarch
== NULL
)
5459 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5460 "Target rejected architecture\n");
5464 /* Is this a pre-existing architecture (as determined by already
5465 being initialized)? Move it to the front of the architecture
5466 list (keeping the list sorted Most Recently Used). */
5467 if (new_gdbarch
->initialized_p
)
5469 struct gdbarch_list
**list
;
5470 struct gdbarch_list
*self
;
5472 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5473 "Previous architecture %s (%s) selected\n",
5474 host_address_to_string (new_gdbarch
),
5475 new_gdbarch
->bfd_arch_info
->printable_name
);
5476 /* Find the existing arch in the list. */
5477 for (list
= ®o
->arches
;
5478 (*list
) != NULL
&& (*list
)->gdbarch
!= new_gdbarch
;
5479 list
= &(*list
)->next
);
5480 /* It had better be in the list of architectures. */
5481 gdb_assert ((*list
) != NULL
&& (*list
)->gdbarch
== new_gdbarch
);
5484 (*list
) = self
->next
;
5485 /* Insert SELF at the front. */
5486 self
->next
= rego
->arches
;
5487 rego
->arches
= self
;
5492 /* It's a new architecture. */
5494 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5495 "New architecture %s (%s) selected\n",
5496 host_address_to_string (new_gdbarch
),
5497 new_gdbarch
->bfd_arch_info
->printable_name
);
5499 /* Insert the new architecture into the front of the architecture
5500 list (keep the list sorted Most Recently Used). */
5502 struct gdbarch_list
*self
= XNEW (struct gdbarch_list
);
5503 self
->next
= rego
->arches
;
5504 self
->gdbarch
= new_gdbarch
;
5505 rego
->arches
= self
;
5508 /* Check that the newly installed architecture is valid. Plug in
5509 any post init values. */
5510 new_gdbarch
->dump_tdep
= rego
->dump_tdep
;
5511 verify_gdbarch (new_gdbarch
);
5512 new_gdbarch
->initialized_p
= 1;
5515 gdbarch_dump (new_gdbarch
, gdb_stdlog
);
5520 /* Make the specified architecture current. */
5523 set_target_gdbarch (struct gdbarch
*new_gdbarch
)
5525 gdb_assert (new_gdbarch
!= NULL
);
5526 gdb_assert (new_gdbarch
->initialized_p
);
5527 current_inferior ()->gdbarch
= new_gdbarch
;
5528 gdb::observers::architecture_changed
.notify (new_gdbarch
);
5529 registers_changed ();
5532 /* Return the current inferior's arch. */
5535 target_gdbarch (void)
5537 return current_inferior ()->gdbarch
;
5540 void _initialize_gdbarch ();
5542 _initialize_gdbarch ()
5544 add_setshow_zuinteger_cmd ("arch", class_maintenance
, &gdbarch_debug
, _("\
5545 Set architecture debugging."), _("\
5546 Show architecture debugging."), _("\
5547 When non-zero, architecture debugging is enabled."),
5550 &setdebuglist
, &showdebuglist
);