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_report_signal_info_ftype
*report_signal_info
;
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_location_ftype
*displaced_step_location
;
292 gdbarch_relocate_instruction_ftype
*relocate_instruction
;
293 gdbarch_overlay_update_ftype
*overlay_update
;
294 gdbarch_core_read_description_ftype
*core_read_description
;
295 int sofun_address_maybe_missing
;
296 gdbarch_process_record_ftype
*process_record
;
297 gdbarch_process_record_signal_ftype
*process_record_signal
;
298 gdbarch_gdb_signal_from_target_ftype
*gdb_signal_from_target
;
299 gdbarch_gdb_signal_to_target_ftype
*gdb_signal_to_target
;
300 gdbarch_get_siginfo_type_ftype
*get_siginfo_type
;
301 gdbarch_record_special_symbol_ftype
*record_special_symbol
;
302 gdbarch_get_syscall_number_ftype
*get_syscall_number
;
303 const char * xml_syscall_file
;
304 struct syscalls_info
* syscalls_info
;
305 const char *const * stap_integer_prefixes
;
306 const char *const * stap_integer_suffixes
;
307 const char *const * stap_register_prefixes
;
308 const char *const * stap_register_suffixes
;
309 const char *const * stap_register_indirection_prefixes
;
310 const char *const * stap_register_indirection_suffixes
;
311 const char * stap_gdb_register_prefix
;
312 const char * stap_gdb_register_suffix
;
313 gdbarch_stap_is_single_operand_ftype
*stap_is_single_operand
;
314 gdbarch_stap_parse_special_token_ftype
*stap_parse_special_token
;
315 gdbarch_stap_adjust_register_ftype
*stap_adjust_register
;
316 gdbarch_dtrace_parse_probe_argument_ftype
*dtrace_parse_probe_argument
;
317 gdbarch_dtrace_probe_is_enabled_ftype
*dtrace_probe_is_enabled
;
318 gdbarch_dtrace_enable_probe_ftype
*dtrace_enable_probe
;
319 gdbarch_dtrace_disable_probe_ftype
*dtrace_disable_probe
;
320 int has_global_solist
;
321 int has_global_breakpoints
;
322 gdbarch_has_shared_address_space_ftype
*has_shared_address_space
;
323 gdbarch_fast_tracepoint_valid_at_ftype
*fast_tracepoint_valid_at
;
324 gdbarch_guess_tracepoint_registers_ftype
*guess_tracepoint_registers
;
325 gdbarch_auto_charset_ftype
*auto_charset
;
326 gdbarch_auto_wide_charset_ftype
*auto_wide_charset
;
327 const char * solib_symbols_extension
;
328 int has_dos_based_file_system
;
329 gdbarch_gen_return_address_ftype
*gen_return_address
;
330 gdbarch_info_proc_ftype
*info_proc
;
331 gdbarch_core_info_proc_ftype
*core_info_proc
;
332 gdbarch_iterate_over_objfiles_in_search_order_ftype
*iterate_over_objfiles_in_search_order
;
333 struct ravenscar_arch_ops
* ravenscar_ops
;
334 gdbarch_insn_is_call_ftype
*insn_is_call
;
335 gdbarch_insn_is_ret_ftype
*insn_is_ret
;
336 gdbarch_insn_is_jump_ftype
*insn_is_jump
;
337 gdbarch_program_breakpoint_here_p_ftype
*program_breakpoint_here_p
;
338 gdbarch_auxv_parse_ftype
*auxv_parse
;
339 gdbarch_print_auxv_entry_ftype
*print_auxv_entry
;
340 gdbarch_vsyscall_range_ftype
*vsyscall_range
;
341 gdbarch_infcall_mmap_ftype
*infcall_mmap
;
342 gdbarch_infcall_munmap_ftype
*infcall_munmap
;
343 gdbarch_gcc_target_options_ftype
*gcc_target_options
;
344 gdbarch_gnu_triplet_regexp_ftype
*gnu_triplet_regexp
;
345 gdbarch_addressable_memory_unit_size_ftype
*addressable_memory_unit_size
;
346 const char * disassembler_options_implicit
;
347 char ** disassembler_options
;
348 const disasm_options_and_args_t
* valid_disassembler_options
;
349 gdbarch_type_align_ftype
*type_align
;
350 gdbarch_get_pc_address_flags_ftype
*get_pc_address_flags
;
353 /* Create a new ``struct gdbarch'' based on information provided by
354 ``struct gdbarch_info''. */
357 gdbarch_alloc (const struct gdbarch_info
*info
,
358 struct gdbarch_tdep
*tdep
)
360 struct gdbarch
*gdbarch
;
362 /* Create an obstack for allocating all the per-architecture memory,
363 then use that to allocate the architecture vector. */
364 struct obstack
*obstack
= XNEW (struct obstack
);
365 obstack_init (obstack
);
366 gdbarch
= XOBNEW (obstack
, struct gdbarch
);
367 memset (gdbarch
, 0, sizeof (*gdbarch
));
368 gdbarch
->obstack
= obstack
;
370 alloc_gdbarch_data (gdbarch
);
372 gdbarch
->tdep
= tdep
;
374 gdbarch
->bfd_arch_info
= info
->bfd_arch_info
;
375 gdbarch
->byte_order
= info
->byte_order
;
376 gdbarch
->byte_order_for_code
= info
->byte_order_for_code
;
377 gdbarch
->osabi
= info
->osabi
;
378 gdbarch
->target_desc
= info
->target_desc
;
380 /* Force the explicit initialization of these. */
381 gdbarch
->short_bit
= 2*TARGET_CHAR_BIT
;
382 gdbarch
->int_bit
= 4*TARGET_CHAR_BIT
;
383 gdbarch
->long_bit
= 4*TARGET_CHAR_BIT
;
384 gdbarch
->long_long_bit
= 2*gdbarch
->long_bit
;
385 gdbarch
->half_bit
= 2*TARGET_CHAR_BIT
;
386 gdbarch
->float_bit
= 4*TARGET_CHAR_BIT
;
387 gdbarch
->double_bit
= 8*TARGET_CHAR_BIT
;
388 gdbarch
->long_double_bit
= 8*TARGET_CHAR_BIT
;
389 gdbarch
->wchar_bit
= 4*TARGET_CHAR_BIT
;
390 gdbarch
->wchar_signed
= -1;
391 gdbarch
->floatformat_for_type
= default_floatformat_for_type
;
392 gdbarch
->ptr_bit
= gdbarch
->int_bit
;
393 gdbarch
->char_signed
= -1;
394 gdbarch
->virtual_frame_pointer
= legacy_virtual_frame_pointer
;
395 gdbarch
->num_regs
= -1;
396 gdbarch
->sp_regnum
= -1;
397 gdbarch
->pc_regnum
= -1;
398 gdbarch
->ps_regnum
= -1;
399 gdbarch
->fp0_regnum
= -1;
400 gdbarch
->stab_reg_to_regnum
= no_op_reg_to_regnum
;
401 gdbarch
->ecoff_reg_to_regnum
= no_op_reg_to_regnum
;
402 gdbarch
->sdb_reg_to_regnum
= no_op_reg_to_regnum
;
403 gdbarch
->dwarf2_reg_to_regnum
= no_op_reg_to_regnum
;
404 gdbarch
->dummy_id
= default_dummy_id
;
405 gdbarch
->deprecated_fp_regnum
= -1;
406 gdbarch
->call_dummy_location
= AT_ENTRY_POINT
;
407 gdbarch
->code_of_frame_writable
= default_code_of_frame_writable
;
408 gdbarch
->print_registers_info
= default_print_registers_info
;
409 gdbarch
->print_float_info
= default_print_float_info
;
410 gdbarch
->register_sim_regno
= legacy_register_sim_regno
;
411 gdbarch
->cannot_fetch_register
= cannot_register_not
;
412 gdbarch
->cannot_store_register
= cannot_register_not
;
413 gdbarch
->convert_register_p
= generic_convert_register_p
;
414 gdbarch
->value_from_register
= default_value_from_register
;
415 gdbarch
->pointer_to_address
= unsigned_pointer_to_address
;
416 gdbarch
->address_to_pointer
= unsigned_address_to_pointer
;
417 gdbarch
->return_in_first_hidden_param_p
= default_return_in_first_hidden_param_p
;
418 gdbarch
->breakpoint_from_pc
= default_breakpoint_from_pc
;
419 gdbarch
->sw_breakpoint_from_kind
= NULL
;
420 gdbarch
->breakpoint_kind_from_current_state
= default_breakpoint_kind_from_current_state
;
421 gdbarch
->memory_insert_breakpoint
= default_memory_insert_breakpoint
;
422 gdbarch
->memory_remove_breakpoint
= default_memory_remove_breakpoint
;
423 gdbarch
->remote_register_number
= default_remote_register_number
;
424 gdbarch
->unwind_pc
= default_unwind_pc
;
425 gdbarch
->unwind_sp
= default_unwind_sp
;
426 gdbarch
->stabs_argument_has_addr
= default_stabs_argument_has_addr
;
427 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr_identity
;
428 gdbarch
->addr_bits_remove
= core_addr_identity
;
429 gdbarch
->print_insn
= default_print_insn
;
430 gdbarch
->skip_trampoline_code
= generic_skip_trampoline_code
;
431 gdbarch
->skip_solib_resolver
= generic_skip_solib_resolver
;
432 gdbarch
->in_solib_return_trampoline
= generic_in_solib_return_trampoline
;
433 gdbarch
->in_indirect_branch_thunk
= default_in_indirect_branch_thunk
;
434 gdbarch
->stack_frame_destroyed_p
= generic_stack_frame_destroyed_p
;
435 gdbarch
->coff_make_msymbol_special
= default_coff_make_msymbol_special
;
436 gdbarch
->make_symbol_special
= default_make_symbol_special
;
437 gdbarch
->adjust_dwarf2_addr
= default_adjust_dwarf2_addr
;
438 gdbarch
->adjust_dwarf2_line
= default_adjust_dwarf2_line
;
439 gdbarch
->execute_dwarf_cfa_vendor_op
= default_execute_dwarf_cfa_vendor_op
;
440 gdbarch
->register_reggroup_p
= default_register_reggroup_p
;
441 gdbarch
->skip_permanent_breakpoint
= default_skip_permanent_breakpoint
;
442 gdbarch
->displaced_step_hw_singlestep
= default_displaced_step_hw_singlestep
;
443 gdbarch
->displaced_step_fixup
= NULL
;
444 gdbarch
->displaced_step_location
= NULL
;
445 gdbarch
->relocate_instruction
= NULL
;
446 gdbarch
->has_shared_address_space
= default_has_shared_address_space
;
447 gdbarch
->fast_tracepoint_valid_at
= default_fast_tracepoint_valid_at
;
448 gdbarch
->guess_tracepoint_registers
= default_guess_tracepoint_registers
;
449 gdbarch
->auto_charset
= default_auto_charset
;
450 gdbarch
->auto_wide_charset
= default_auto_wide_charset
;
451 gdbarch
->gen_return_address
= default_gen_return_address
;
452 gdbarch
->iterate_over_objfiles_in_search_order
= default_iterate_over_objfiles_in_search_order
;
453 gdbarch
->ravenscar_ops
= NULL
;
454 gdbarch
->insn_is_call
= default_insn_is_call
;
455 gdbarch
->insn_is_ret
= default_insn_is_ret
;
456 gdbarch
->insn_is_jump
= default_insn_is_jump
;
457 gdbarch
->program_breakpoint_here_p
= default_program_breakpoint_here_p
;
458 gdbarch
->print_auxv_entry
= default_print_auxv_entry
;
459 gdbarch
->vsyscall_range
= default_vsyscall_range
;
460 gdbarch
->infcall_mmap
= default_infcall_mmap
;
461 gdbarch
->infcall_munmap
= default_infcall_munmap
;
462 gdbarch
->gcc_target_options
= default_gcc_target_options
;
463 gdbarch
->gnu_triplet_regexp
= default_gnu_triplet_regexp
;
464 gdbarch
->addressable_memory_unit_size
= default_addressable_memory_unit_size
;
465 gdbarch
->type_align
= default_type_align
;
466 gdbarch
->get_pc_address_flags
= default_get_pc_address_flags
;
467 /* gdbarch_alloc() */
474 obstack
*gdbarch_obstack (gdbarch
*arch
)
476 return arch
->obstack
;
482 gdbarch_obstack_strdup (struct gdbarch
*arch
, const char *string
)
484 return obstack_strdup (arch
->obstack
, string
);
488 /* Free a gdbarch struct. This should never happen in normal
489 operation --- once you've created a gdbarch, you keep it around.
490 However, if an architecture's init function encounters an error
491 building the structure, it may need to clean up a partially
492 constructed gdbarch. */
495 gdbarch_free (struct gdbarch
*arch
)
497 struct obstack
*obstack
;
499 gdb_assert (arch
!= NULL
);
500 gdb_assert (!arch
->initialized_p
);
501 obstack
= arch
->obstack
;
502 obstack_free (obstack
, 0); /* Includes the ARCH. */
507 /* Ensure that all values in a GDBARCH are reasonable. */
510 verify_gdbarch (struct gdbarch
*gdbarch
)
515 if (gdbarch
->byte_order
== BFD_ENDIAN_UNKNOWN
)
516 log
.puts ("\n\tbyte-order");
517 if (gdbarch
->bfd_arch_info
== NULL
)
518 log
.puts ("\n\tbfd_arch_info");
519 /* Check those that need to be defined for the given multi-arch level. */
520 /* Skip verify of short_bit, invalid_p == 0 */
521 /* Skip verify of int_bit, invalid_p == 0 */
522 /* Skip verify of long_bit, invalid_p == 0 */
523 /* Skip verify of long_long_bit, invalid_p == 0 */
524 /* Skip verify of half_bit, invalid_p == 0 */
525 if (gdbarch
->half_format
== 0)
526 gdbarch
->half_format
= floatformats_ieee_half
;
527 /* Skip verify of float_bit, invalid_p == 0 */
528 if (gdbarch
->float_format
== 0)
529 gdbarch
->float_format
= floatformats_ieee_single
;
530 /* Skip verify of double_bit, invalid_p == 0 */
531 if (gdbarch
->double_format
== 0)
532 gdbarch
->double_format
= floatformats_ieee_double
;
533 /* Skip verify of long_double_bit, invalid_p == 0 */
534 if (gdbarch
->long_double_format
== 0)
535 gdbarch
->long_double_format
= floatformats_ieee_double
;
536 /* Skip verify of wchar_bit, invalid_p == 0 */
537 if (gdbarch
->wchar_signed
== -1)
538 gdbarch
->wchar_signed
= 1;
539 /* Skip verify of floatformat_for_type, invalid_p == 0 */
540 /* Skip verify of ptr_bit, invalid_p == 0 */
541 if (gdbarch
->addr_bit
== 0)
542 gdbarch
->addr_bit
= gdbarch_ptr_bit (gdbarch
);
543 if (gdbarch
->dwarf2_addr_size
== 0)
544 gdbarch
->dwarf2_addr_size
= gdbarch_ptr_bit (gdbarch
) / TARGET_CHAR_BIT
;
545 if (gdbarch
->char_signed
== -1)
546 gdbarch
->char_signed
= 1;
547 /* Skip verify of read_pc, has predicate. */
548 /* Skip verify of write_pc, has predicate. */
549 /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
550 /* Skip verify of pseudo_register_read, has predicate. */
551 /* Skip verify of pseudo_register_read_value, has predicate. */
552 /* Skip verify of pseudo_register_write, has predicate. */
553 if (gdbarch
->num_regs
== -1)
554 log
.puts ("\n\tnum_regs");
555 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
556 /* Skip verify of ax_pseudo_register_collect, has predicate. */
557 /* Skip verify of ax_pseudo_register_push_stack, has predicate. */
558 /* Skip verify of report_signal_info, has predicate. */
559 /* Skip verify of sp_regnum, invalid_p == 0 */
560 /* Skip verify of pc_regnum, invalid_p == 0 */
561 /* Skip verify of ps_regnum, invalid_p == 0 */
562 /* Skip verify of fp0_regnum, invalid_p == 0 */
563 /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
564 /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
565 /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
566 /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
567 if (gdbarch
->register_name
== 0)
568 log
.puts ("\n\tregister_name");
569 /* Skip verify of register_type, has predicate. */
570 /* Skip verify of dummy_id, invalid_p == 0 */
571 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
572 /* Skip verify of push_dummy_call, has predicate. */
573 /* Skip verify of call_dummy_location, invalid_p == 0 */
574 /* Skip verify of push_dummy_code, has predicate. */
575 /* Skip verify of code_of_frame_writable, invalid_p == 0 */
576 /* Skip verify of print_registers_info, invalid_p == 0 */
577 /* Skip verify of print_float_info, invalid_p == 0 */
578 /* Skip verify of print_vector_info, has predicate. */
579 /* Skip verify of register_sim_regno, invalid_p == 0 */
580 /* Skip verify of cannot_fetch_register, invalid_p == 0 */
581 /* Skip verify of cannot_store_register, invalid_p == 0 */
582 /* Skip verify of get_longjmp_target, has predicate. */
583 /* Skip verify of convert_register_p, invalid_p == 0 */
584 /* Skip verify of value_from_register, invalid_p == 0 */
585 /* Skip verify of pointer_to_address, invalid_p == 0 */
586 /* Skip verify of address_to_pointer, invalid_p == 0 */
587 /* Skip verify of integer_to_address, has predicate. */
588 /* Skip verify of return_value, has predicate. */
589 /* Skip verify of return_in_first_hidden_param_p, invalid_p == 0 */
590 if (gdbarch
->skip_prologue
== 0)
591 log
.puts ("\n\tskip_prologue");
592 /* Skip verify of skip_main_prologue, has predicate. */
593 /* Skip verify of skip_entrypoint, has predicate. */
594 if (gdbarch
->inner_than
== 0)
595 log
.puts ("\n\tinner_than");
596 /* Skip verify of breakpoint_from_pc, invalid_p == 0 */
597 if (gdbarch
->breakpoint_kind_from_pc
== 0)
598 log
.puts ("\n\tbreakpoint_kind_from_pc");
599 /* Skip verify of sw_breakpoint_from_kind, invalid_p == 0 */
600 /* Skip verify of breakpoint_kind_from_current_state, invalid_p == 0 */
601 /* Skip verify of adjust_breakpoint_address, has predicate. */
602 /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
603 /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
604 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
605 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
606 /* Skip verify of remote_register_number, invalid_p == 0 */
607 /* Skip verify of fetch_tls_load_module_address, has predicate. */
608 /* Skip verify of get_thread_local_address, has predicate. */
609 /* Skip verify of frame_args_skip, invalid_p == 0 */
610 /* Skip verify of unwind_pc, invalid_p == 0 */
611 /* Skip verify of unwind_sp, invalid_p == 0 */
612 /* Skip verify of frame_num_args, has predicate. */
613 /* Skip verify of frame_align, has predicate. */
614 /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
615 /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
616 /* Skip verify of addr_bits_remove, invalid_p == 0 */
617 /* Skip verify of significant_addr_bit, invalid_p == 0 */
618 /* Skip verify of software_single_step, has predicate. */
619 /* Skip verify of single_step_through_delay, has predicate. */
620 /* Skip verify of print_insn, invalid_p == 0 */
621 /* Skip verify of skip_trampoline_code, invalid_p == 0 */
622 /* Skip verify of skip_solib_resolver, invalid_p == 0 */
623 /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
624 /* Skip verify of in_indirect_branch_thunk, invalid_p == 0 */
625 /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
626 /* Skip verify of elf_make_msymbol_special, has predicate. */
627 /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
628 /* Skip verify of make_symbol_special, invalid_p == 0 */
629 /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */
630 /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */
631 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
632 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
633 /* Skip verify of address_class_type_flags, has predicate. */
634 /* Skip verify of address_class_type_flags_to_name, has predicate. */
635 /* Skip verify of execute_dwarf_cfa_vendor_op, invalid_p == 0 */
636 /* Skip verify of address_class_name_to_type_flags, has predicate. */
637 /* Skip verify of register_reggroup_p, invalid_p == 0 */
638 /* Skip verify of fetch_pointer_argument, has predicate. */
639 /* Skip verify of iterate_over_regset_sections, has predicate. */
640 /* Skip verify of make_corefile_notes, has predicate. */
641 /* Skip verify of find_memory_regions, has predicate. */
642 /* Skip verify of core_xfer_shared_libraries, has predicate. */
643 /* Skip verify of core_xfer_shared_libraries_aix, has predicate. */
644 /* Skip verify of core_pid_to_str, has predicate. */
645 /* Skip verify of core_thread_name, has predicate. */
646 /* Skip verify of core_xfer_siginfo, has predicate. */
647 /* Skip verify of gcore_bfd_target, has predicate. */
648 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
649 /* Skip verify of vbit_in_delta, invalid_p == 0 */
650 /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */
651 /* Skip verify of max_insn_length, has predicate. */
652 /* Skip verify of displaced_step_copy_insn, has predicate. */
653 /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */
654 /* Skip verify of displaced_step_fixup, has predicate. */
655 if ((! gdbarch
->displaced_step_location
) != (! gdbarch
->displaced_step_copy_insn
))
656 log
.puts ("\n\tdisplaced_step_location");
657 /* Skip verify of relocate_instruction, has predicate. */
658 /* Skip verify of overlay_update, has predicate. */
659 /* Skip verify of core_read_description, has predicate. */
660 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
661 /* Skip verify of process_record, has predicate. */
662 /* Skip verify of process_record_signal, has predicate. */
663 /* Skip verify of gdb_signal_from_target, has predicate. */
664 /* Skip verify of gdb_signal_to_target, has predicate. */
665 /* Skip verify of get_siginfo_type, has predicate. */
666 /* Skip verify of record_special_symbol, has predicate. */
667 /* Skip verify of get_syscall_number, has predicate. */
668 /* Skip verify of xml_syscall_file, invalid_p == 0 */
669 /* Skip verify of syscalls_info, invalid_p == 0 */
670 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
671 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
672 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
673 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
674 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
675 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
676 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
677 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
678 /* Skip verify of stap_is_single_operand, has predicate. */
679 /* Skip verify of stap_parse_special_token, has predicate. */
680 /* Skip verify of stap_adjust_register, has predicate. */
681 /* Skip verify of dtrace_parse_probe_argument, has predicate. */
682 /* Skip verify of dtrace_probe_is_enabled, has predicate. */
683 /* Skip verify of dtrace_enable_probe, has predicate. */
684 /* Skip verify of dtrace_disable_probe, has predicate. */
685 /* Skip verify of has_global_solist, invalid_p == 0 */
686 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
687 /* Skip verify of has_shared_address_space, invalid_p == 0 */
688 /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */
689 /* Skip verify of guess_tracepoint_registers, invalid_p == 0 */
690 /* Skip verify of auto_charset, invalid_p == 0 */
691 /* Skip verify of auto_wide_charset, invalid_p == 0 */
692 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
693 /* Skip verify of gen_return_address, invalid_p == 0 */
694 /* Skip verify of info_proc, has predicate. */
695 /* Skip verify of core_info_proc, has predicate. */
696 /* Skip verify of iterate_over_objfiles_in_search_order, invalid_p == 0 */
697 /* Skip verify of ravenscar_ops, invalid_p == 0 */
698 /* Skip verify of insn_is_call, invalid_p == 0 */
699 /* Skip verify of insn_is_ret, invalid_p == 0 */
700 /* Skip verify of insn_is_jump, invalid_p == 0 */
701 /* Skip verify of program_breakpoint_here_p, invalid_p == 0 */
702 /* Skip verify of auxv_parse, has predicate. */
703 /* Skip verify of print_auxv_entry, invalid_p == 0 */
704 /* Skip verify of vsyscall_range, invalid_p == 0 */
705 /* Skip verify of infcall_mmap, invalid_p == 0 */
706 /* Skip verify of infcall_munmap, invalid_p == 0 */
707 /* Skip verify of gcc_target_options, invalid_p == 0 */
708 /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
709 /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
710 /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
711 /* Skip verify of disassembler_options, invalid_p == 0 */
712 /* Skip verify of valid_disassembler_options, invalid_p == 0 */
713 /* Skip verify of type_align, invalid_p == 0 */
714 /* Skip verify of get_pc_address_flags, invalid_p == 0 */
716 internal_error (__FILE__
, __LINE__
,
717 _("verify_gdbarch: the following are invalid ...%s"),
722 /* Print out the details of the current architecture. */
725 gdbarch_dump (struct gdbarch
*gdbarch
, struct ui_file
*file
)
727 const char *gdb_nm_file
= "<not-defined>";
729 #if defined (GDB_NM_FILE)
730 gdb_nm_file
= GDB_NM_FILE
;
732 fprintf_unfiltered (file
,
733 "gdbarch_dump: GDB_NM_FILE = %s\n",
735 fprintf_unfiltered (file
,
736 "gdbarch_dump: addr_bit = %s\n",
737 plongest (gdbarch
->addr_bit
));
738 fprintf_unfiltered (file
,
739 "gdbarch_dump: addr_bits_remove = <%s>\n",
740 host_address_to_string (gdbarch
->addr_bits_remove
));
741 fprintf_unfiltered (file
,
742 "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
743 gdbarch_address_class_name_to_type_flags_p (gdbarch
));
744 fprintf_unfiltered (file
,
745 "gdbarch_dump: address_class_name_to_type_flags = <%s>\n",
746 host_address_to_string (gdbarch
->address_class_name_to_type_flags
));
747 fprintf_unfiltered (file
,
748 "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
749 gdbarch_address_class_type_flags_p (gdbarch
));
750 fprintf_unfiltered (file
,
751 "gdbarch_dump: address_class_type_flags = <%s>\n",
752 host_address_to_string (gdbarch
->address_class_type_flags
));
753 fprintf_unfiltered (file
,
754 "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
755 gdbarch_address_class_type_flags_to_name_p (gdbarch
));
756 fprintf_unfiltered (file
,
757 "gdbarch_dump: address_class_type_flags_to_name = <%s>\n",
758 host_address_to_string (gdbarch
->address_class_type_flags_to_name
));
759 fprintf_unfiltered (file
,
760 "gdbarch_dump: address_to_pointer = <%s>\n",
761 host_address_to_string (gdbarch
->address_to_pointer
));
762 fprintf_unfiltered (file
,
763 "gdbarch_dump: addressable_memory_unit_size = <%s>\n",
764 host_address_to_string (gdbarch
->addressable_memory_unit_size
));
765 fprintf_unfiltered (file
,
766 "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
767 gdbarch_adjust_breakpoint_address_p (gdbarch
));
768 fprintf_unfiltered (file
,
769 "gdbarch_dump: adjust_breakpoint_address = <%s>\n",
770 host_address_to_string (gdbarch
->adjust_breakpoint_address
));
771 fprintf_unfiltered (file
,
772 "gdbarch_dump: adjust_dwarf2_addr = <%s>\n",
773 host_address_to_string (gdbarch
->adjust_dwarf2_addr
));
774 fprintf_unfiltered (file
,
775 "gdbarch_dump: adjust_dwarf2_line = <%s>\n",
776 host_address_to_string (gdbarch
->adjust_dwarf2_line
));
777 fprintf_unfiltered (file
,
778 "gdbarch_dump: auto_charset = <%s>\n",
779 host_address_to_string (gdbarch
->auto_charset
));
780 fprintf_unfiltered (file
,
781 "gdbarch_dump: auto_wide_charset = <%s>\n",
782 host_address_to_string (gdbarch
->auto_wide_charset
));
783 fprintf_unfiltered (file
,
784 "gdbarch_dump: gdbarch_auxv_parse_p() = %d\n",
785 gdbarch_auxv_parse_p (gdbarch
));
786 fprintf_unfiltered (file
,
787 "gdbarch_dump: auxv_parse = <%s>\n",
788 host_address_to_string (gdbarch
->auxv_parse
));
789 fprintf_unfiltered (file
,
790 "gdbarch_dump: gdbarch_ax_pseudo_register_collect_p() = %d\n",
791 gdbarch_ax_pseudo_register_collect_p (gdbarch
));
792 fprintf_unfiltered (file
,
793 "gdbarch_dump: ax_pseudo_register_collect = <%s>\n",
794 host_address_to_string (gdbarch
->ax_pseudo_register_collect
));
795 fprintf_unfiltered (file
,
796 "gdbarch_dump: gdbarch_ax_pseudo_register_push_stack_p() = %d\n",
797 gdbarch_ax_pseudo_register_push_stack_p (gdbarch
));
798 fprintf_unfiltered (file
,
799 "gdbarch_dump: ax_pseudo_register_push_stack = <%s>\n",
800 host_address_to_string (gdbarch
->ax_pseudo_register_push_stack
));
801 fprintf_unfiltered (file
,
802 "gdbarch_dump: believe_pcc_promotion = %s\n",
803 plongest (gdbarch
->believe_pcc_promotion
));
804 fprintf_unfiltered (file
,
805 "gdbarch_dump: bfd_arch_info = %s\n",
806 gdbarch_bfd_arch_info (gdbarch
)->printable_name
);
807 fprintf_unfiltered (file
,
808 "gdbarch_dump: breakpoint_from_pc = <%s>\n",
809 host_address_to_string (gdbarch
->breakpoint_from_pc
));
810 fprintf_unfiltered (file
,
811 "gdbarch_dump: breakpoint_kind_from_current_state = <%s>\n",
812 host_address_to_string (gdbarch
->breakpoint_kind_from_current_state
));
813 fprintf_unfiltered (file
,
814 "gdbarch_dump: breakpoint_kind_from_pc = <%s>\n",
815 host_address_to_string (gdbarch
->breakpoint_kind_from_pc
));
816 fprintf_unfiltered (file
,
817 "gdbarch_dump: byte_order = %s\n",
818 plongest (gdbarch
->byte_order
));
819 fprintf_unfiltered (file
,
820 "gdbarch_dump: byte_order_for_code = %s\n",
821 plongest (gdbarch
->byte_order_for_code
));
822 fprintf_unfiltered (file
,
823 "gdbarch_dump: call_dummy_location = %s\n",
824 plongest (gdbarch
->call_dummy_location
));
825 fprintf_unfiltered (file
,
826 "gdbarch_dump: cannot_fetch_register = <%s>\n",
827 host_address_to_string (gdbarch
->cannot_fetch_register
));
828 fprintf_unfiltered (file
,
829 "gdbarch_dump: cannot_step_breakpoint = %s\n",
830 plongest (gdbarch
->cannot_step_breakpoint
));
831 fprintf_unfiltered (file
,
832 "gdbarch_dump: cannot_store_register = <%s>\n",
833 host_address_to_string (gdbarch
->cannot_store_register
));
834 fprintf_unfiltered (file
,
835 "gdbarch_dump: char_signed = %s\n",
836 plongest (gdbarch
->char_signed
));
837 fprintf_unfiltered (file
,
838 "gdbarch_dump: code_of_frame_writable = <%s>\n",
839 host_address_to_string (gdbarch
->code_of_frame_writable
));
840 fprintf_unfiltered (file
,
841 "gdbarch_dump: coff_make_msymbol_special = <%s>\n",
842 host_address_to_string (gdbarch
->coff_make_msymbol_special
));
843 fprintf_unfiltered (file
,
844 "gdbarch_dump: convert_from_func_ptr_addr = <%s>\n",
845 host_address_to_string (gdbarch
->convert_from_func_ptr_addr
));
846 fprintf_unfiltered (file
,
847 "gdbarch_dump: convert_register_p = <%s>\n",
848 host_address_to_string (gdbarch
->convert_register_p
));
849 fprintf_unfiltered (file
,
850 "gdbarch_dump: gdbarch_core_info_proc_p() = %d\n",
851 gdbarch_core_info_proc_p (gdbarch
));
852 fprintf_unfiltered (file
,
853 "gdbarch_dump: core_info_proc = <%s>\n",
854 host_address_to_string (gdbarch
->core_info_proc
));
855 fprintf_unfiltered (file
,
856 "gdbarch_dump: gdbarch_core_pid_to_str_p() = %d\n",
857 gdbarch_core_pid_to_str_p (gdbarch
));
858 fprintf_unfiltered (file
,
859 "gdbarch_dump: core_pid_to_str = <%s>\n",
860 host_address_to_string (gdbarch
->core_pid_to_str
));
861 fprintf_unfiltered (file
,
862 "gdbarch_dump: gdbarch_core_read_description_p() = %d\n",
863 gdbarch_core_read_description_p (gdbarch
));
864 fprintf_unfiltered (file
,
865 "gdbarch_dump: core_read_description = <%s>\n",
866 host_address_to_string (gdbarch
->core_read_description
));
867 fprintf_unfiltered (file
,
868 "gdbarch_dump: gdbarch_core_thread_name_p() = %d\n",
869 gdbarch_core_thread_name_p (gdbarch
));
870 fprintf_unfiltered (file
,
871 "gdbarch_dump: core_thread_name = <%s>\n",
872 host_address_to_string (gdbarch
->core_thread_name
));
873 fprintf_unfiltered (file
,
874 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
875 gdbarch_core_xfer_shared_libraries_p (gdbarch
));
876 fprintf_unfiltered (file
,
877 "gdbarch_dump: core_xfer_shared_libraries = <%s>\n",
878 host_address_to_string (gdbarch
->core_xfer_shared_libraries
));
879 fprintf_unfiltered (file
,
880 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_aix_p() = %d\n",
881 gdbarch_core_xfer_shared_libraries_aix_p (gdbarch
));
882 fprintf_unfiltered (file
,
883 "gdbarch_dump: core_xfer_shared_libraries_aix = <%s>\n",
884 host_address_to_string (gdbarch
->core_xfer_shared_libraries_aix
));
885 fprintf_unfiltered (file
,
886 "gdbarch_dump: gdbarch_core_xfer_siginfo_p() = %d\n",
887 gdbarch_core_xfer_siginfo_p (gdbarch
));
888 fprintf_unfiltered (file
,
889 "gdbarch_dump: core_xfer_siginfo = <%s>\n",
890 host_address_to_string (gdbarch
->core_xfer_siginfo
));
891 fprintf_unfiltered (file
,
892 "gdbarch_dump: decr_pc_after_break = %s\n",
893 core_addr_to_string_nz (gdbarch
->decr_pc_after_break
));
894 fprintf_unfiltered (file
,
895 "gdbarch_dump: deprecated_fp_regnum = %s\n",
896 plongest (gdbarch
->deprecated_fp_regnum
));
897 fprintf_unfiltered (file
,
898 "gdbarch_dump: deprecated_function_start_offset = %s\n",
899 core_addr_to_string_nz (gdbarch
->deprecated_function_start_offset
));
900 fprintf_unfiltered (file
,
901 "gdbarch_dump: disassembler_options = %s\n",
902 pstring_ptr (gdbarch
->disassembler_options
));
903 fprintf_unfiltered (file
,
904 "gdbarch_dump: disassembler_options_implicit = %s\n",
905 pstring (gdbarch
->disassembler_options_implicit
));
906 fprintf_unfiltered (file
,
907 "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
908 gdbarch_displaced_step_copy_insn_p (gdbarch
));
909 fprintf_unfiltered (file
,
910 "gdbarch_dump: displaced_step_copy_insn = <%s>\n",
911 host_address_to_string (gdbarch
->displaced_step_copy_insn
));
912 fprintf_unfiltered (file
,
913 "gdbarch_dump: gdbarch_displaced_step_fixup_p() = %d\n",
914 gdbarch_displaced_step_fixup_p (gdbarch
));
915 fprintf_unfiltered (file
,
916 "gdbarch_dump: displaced_step_fixup = <%s>\n",
917 host_address_to_string (gdbarch
->displaced_step_fixup
));
918 fprintf_unfiltered (file
,
919 "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n",
920 host_address_to_string (gdbarch
->displaced_step_hw_singlestep
));
921 fprintf_unfiltered (file
,
922 "gdbarch_dump: displaced_step_location = <%s>\n",
923 host_address_to_string (gdbarch
->displaced_step_location
));
924 fprintf_unfiltered (file
,
925 "gdbarch_dump: double_bit = %s\n",
926 plongest (gdbarch
->double_bit
));
927 fprintf_unfiltered (file
,
928 "gdbarch_dump: double_format = %s\n",
929 pformat (gdbarch
->double_format
));
930 fprintf_unfiltered (file
,
931 "gdbarch_dump: gdbarch_dtrace_disable_probe_p() = %d\n",
932 gdbarch_dtrace_disable_probe_p (gdbarch
));
933 fprintf_unfiltered (file
,
934 "gdbarch_dump: dtrace_disable_probe = <%s>\n",
935 host_address_to_string (gdbarch
->dtrace_disable_probe
));
936 fprintf_unfiltered (file
,
937 "gdbarch_dump: gdbarch_dtrace_enable_probe_p() = %d\n",
938 gdbarch_dtrace_enable_probe_p (gdbarch
));
939 fprintf_unfiltered (file
,
940 "gdbarch_dump: dtrace_enable_probe = <%s>\n",
941 host_address_to_string (gdbarch
->dtrace_enable_probe
));
942 fprintf_unfiltered (file
,
943 "gdbarch_dump: gdbarch_dtrace_parse_probe_argument_p() = %d\n",
944 gdbarch_dtrace_parse_probe_argument_p (gdbarch
));
945 fprintf_unfiltered (file
,
946 "gdbarch_dump: dtrace_parse_probe_argument = <%s>\n",
947 host_address_to_string (gdbarch
->dtrace_parse_probe_argument
));
948 fprintf_unfiltered (file
,
949 "gdbarch_dump: gdbarch_dtrace_probe_is_enabled_p() = %d\n",
950 gdbarch_dtrace_probe_is_enabled_p (gdbarch
));
951 fprintf_unfiltered (file
,
952 "gdbarch_dump: dtrace_probe_is_enabled = <%s>\n",
953 host_address_to_string (gdbarch
->dtrace_probe_is_enabled
));
954 fprintf_unfiltered (file
,
955 "gdbarch_dump: dummy_id = <%s>\n",
956 host_address_to_string (gdbarch
->dummy_id
));
957 fprintf_unfiltered (file
,
958 "gdbarch_dump: dwarf2_addr_size = %s\n",
959 plongest (gdbarch
->dwarf2_addr_size
));
960 fprintf_unfiltered (file
,
961 "gdbarch_dump: dwarf2_reg_to_regnum = <%s>\n",
962 host_address_to_string (gdbarch
->dwarf2_reg_to_regnum
));
963 fprintf_unfiltered (file
,
964 "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n",
965 host_address_to_string (gdbarch
->ecoff_reg_to_regnum
));
966 fprintf_unfiltered (file
,
967 "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n",
968 gdbarch_elf_make_msymbol_special_p (gdbarch
));
969 fprintf_unfiltered (file
,
970 "gdbarch_dump: elf_make_msymbol_special = <%s>\n",
971 host_address_to_string (gdbarch
->elf_make_msymbol_special
));
972 fprintf_unfiltered (file
,
973 "gdbarch_dump: execute_dwarf_cfa_vendor_op = <%s>\n",
974 host_address_to_string (gdbarch
->execute_dwarf_cfa_vendor_op
));
975 fprintf_unfiltered (file
,
976 "gdbarch_dump: fast_tracepoint_valid_at = <%s>\n",
977 host_address_to_string (gdbarch
->fast_tracepoint_valid_at
));
978 fprintf_unfiltered (file
,
979 "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
980 gdbarch_fetch_pointer_argument_p (gdbarch
));
981 fprintf_unfiltered (file
,
982 "gdbarch_dump: fetch_pointer_argument = <%s>\n",
983 host_address_to_string (gdbarch
->fetch_pointer_argument
));
984 fprintf_unfiltered (file
,
985 "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
986 gdbarch_fetch_tls_load_module_address_p (gdbarch
));
987 fprintf_unfiltered (file
,
988 "gdbarch_dump: fetch_tls_load_module_address = <%s>\n",
989 host_address_to_string (gdbarch
->fetch_tls_load_module_address
));
990 fprintf_unfiltered (file
,
991 "gdbarch_dump: gdbarch_find_memory_regions_p() = %d\n",
992 gdbarch_find_memory_regions_p (gdbarch
));
993 fprintf_unfiltered (file
,
994 "gdbarch_dump: find_memory_regions = <%s>\n",
995 host_address_to_string (gdbarch
->find_memory_regions
));
996 fprintf_unfiltered (file
,
997 "gdbarch_dump: float_bit = %s\n",
998 plongest (gdbarch
->float_bit
));
999 fprintf_unfiltered (file
,
1000 "gdbarch_dump: float_format = %s\n",
1001 pformat (gdbarch
->float_format
));
1002 fprintf_unfiltered (file
,
1003 "gdbarch_dump: floatformat_for_type = <%s>\n",
1004 host_address_to_string (gdbarch
->floatformat_for_type
));
1005 fprintf_unfiltered (file
,
1006 "gdbarch_dump: fp0_regnum = %s\n",
1007 plongest (gdbarch
->fp0_regnum
));
1008 fprintf_unfiltered (file
,
1009 "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
1010 gdbarch_frame_align_p (gdbarch
));
1011 fprintf_unfiltered (file
,
1012 "gdbarch_dump: frame_align = <%s>\n",
1013 host_address_to_string (gdbarch
->frame_align
));
1014 fprintf_unfiltered (file
,
1015 "gdbarch_dump: frame_args_skip = %s\n",
1016 core_addr_to_string_nz (gdbarch
->frame_args_skip
));
1017 fprintf_unfiltered (file
,
1018 "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
1019 gdbarch_frame_num_args_p (gdbarch
));
1020 fprintf_unfiltered (file
,
1021 "gdbarch_dump: frame_num_args = <%s>\n",
1022 host_address_to_string (gdbarch
->frame_num_args
));
1023 fprintf_unfiltered (file
,
1024 "gdbarch_dump: frame_red_zone_size = %s\n",
1025 plongest (gdbarch
->frame_red_zone_size
));
1026 fprintf_unfiltered (file
,
1027 "gdbarch_dump: gcc_target_options = <%s>\n",
1028 host_address_to_string (gdbarch
->gcc_target_options
));
1029 fprintf_unfiltered (file
,
1030 "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n",
1031 gdbarch_gcore_bfd_target_p (gdbarch
));
1032 fprintf_unfiltered (file
,
1033 "gdbarch_dump: gcore_bfd_target = %s\n",
1034 pstring (gdbarch
->gcore_bfd_target
));
1035 fprintf_unfiltered (file
,
1036 "gdbarch_dump: gdbarch_gdb_signal_from_target_p() = %d\n",
1037 gdbarch_gdb_signal_from_target_p (gdbarch
));
1038 fprintf_unfiltered (file
,
1039 "gdbarch_dump: gdb_signal_from_target = <%s>\n",
1040 host_address_to_string (gdbarch
->gdb_signal_from_target
));
1041 fprintf_unfiltered (file
,
1042 "gdbarch_dump: gdbarch_gdb_signal_to_target_p() = %d\n",
1043 gdbarch_gdb_signal_to_target_p (gdbarch
));
1044 fprintf_unfiltered (file
,
1045 "gdbarch_dump: gdb_signal_to_target = <%s>\n",
1046 host_address_to_string (gdbarch
->gdb_signal_to_target
));
1047 fprintf_unfiltered (file
,
1048 "gdbarch_dump: gen_return_address = <%s>\n",
1049 host_address_to_string (gdbarch
->gen_return_address
));
1050 fprintf_unfiltered (file
,
1051 "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
1052 gdbarch_get_longjmp_target_p (gdbarch
));
1053 fprintf_unfiltered (file
,
1054 "gdbarch_dump: get_longjmp_target = <%s>\n",
1055 host_address_to_string (gdbarch
->get_longjmp_target
));
1056 fprintf_unfiltered (file
,
1057 "gdbarch_dump: get_pc_address_flags = <%s>\n",
1058 host_address_to_string (gdbarch
->get_pc_address_flags
));
1059 fprintf_unfiltered (file
,
1060 "gdbarch_dump: gdbarch_get_siginfo_type_p() = %d\n",
1061 gdbarch_get_siginfo_type_p (gdbarch
));
1062 fprintf_unfiltered (file
,
1063 "gdbarch_dump: get_siginfo_type = <%s>\n",
1064 host_address_to_string (gdbarch
->get_siginfo_type
));
1065 fprintf_unfiltered (file
,
1066 "gdbarch_dump: gdbarch_get_syscall_number_p() = %d\n",
1067 gdbarch_get_syscall_number_p (gdbarch
));
1068 fprintf_unfiltered (file
,
1069 "gdbarch_dump: get_syscall_number = <%s>\n",
1070 host_address_to_string (gdbarch
->get_syscall_number
));
1071 fprintf_unfiltered (file
,
1072 "gdbarch_dump: gdbarch_get_thread_local_address_p() = %d\n",
1073 gdbarch_get_thread_local_address_p (gdbarch
));
1074 fprintf_unfiltered (file
,
1075 "gdbarch_dump: get_thread_local_address = <%s>\n",
1076 host_address_to_string (gdbarch
->get_thread_local_address
));
1077 fprintf_unfiltered (file
,
1078 "gdbarch_dump: gnu_triplet_regexp = <%s>\n",
1079 host_address_to_string (gdbarch
->gnu_triplet_regexp
));
1080 fprintf_unfiltered (file
,
1081 "gdbarch_dump: guess_tracepoint_registers = <%s>\n",
1082 host_address_to_string (gdbarch
->guess_tracepoint_registers
));
1083 fprintf_unfiltered (file
,
1084 "gdbarch_dump: half_bit = %s\n",
1085 plongest (gdbarch
->half_bit
));
1086 fprintf_unfiltered (file
,
1087 "gdbarch_dump: half_format = %s\n",
1088 pformat (gdbarch
->half_format
));
1089 fprintf_unfiltered (file
,
1090 "gdbarch_dump: has_dos_based_file_system = %s\n",
1091 plongest (gdbarch
->has_dos_based_file_system
));
1092 fprintf_unfiltered (file
,
1093 "gdbarch_dump: has_global_breakpoints = %s\n",
1094 plongest (gdbarch
->has_global_breakpoints
));
1095 fprintf_unfiltered (file
,
1096 "gdbarch_dump: has_global_solist = %s\n",
1097 plongest (gdbarch
->has_global_solist
));
1098 fprintf_unfiltered (file
,
1099 "gdbarch_dump: has_shared_address_space = <%s>\n",
1100 host_address_to_string (gdbarch
->has_shared_address_space
));
1101 fprintf_unfiltered (file
,
1102 "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
1103 plongest (gdbarch
->have_nonsteppable_watchpoint
));
1104 fprintf_unfiltered (file
,
1105 "gdbarch_dump: in_indirect_branch_thunk = <%s>\n",
1106 host_address_to_string (gdbarch
->in_indirect_branch_thunk
));
1107 fprintf_unfiltered (file
,
1108 "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
1109 host_address_to_string (gdbarch
->in_solib_return_trampoline
));
1110 fprintf_unfiltered (file
,
1111 "gdbarch_dump: infcall_mmap = <%s>\n",
1112 host_address_to_string (gdbarch
->infcall_mmap
));
1113 fprintf_unfiltered (file
,
1114 "gdbarch_dump: infcall_munmap = <%s>\n",
1115 host_address_to_string (gdbarch
->infcall_munmap
));
1116 fprintf_unfiltered (file
,
1117 "gdbarch_dump: gdbarch_info_proc_p() = %d\n",
1118 gdbarch_info_proc_p (gdbarch
));
1119 fprintf_unfiltered (file
,
1120 "gdbarch_dump: info_proc = <%s>\n",
1121 host_address_to_string (gdbarch
->info_proc
));
1122 fprintf_unfiltered (file
,
1123 "gdbarch_dump: inner_than = <%s>\n",
1124 host_address_to_string (gdbarch
->inner_than
));
1125 fprintf_unfiltered (file
,
1126 "gdbarch_dump: insn_is_call = <%s>\n",
1127 host_address_to_string (gdbarch
->insn_is_call
));
1128 fprintf_unfiltered (file
,
1129 "gdbarch_dump: insn_is_jump = <%s>\n",
1130 host_address_to_string (gdbarch
->insn_is_jump
));
1131 fprintf_unfiltered (file
,
1132 "gdbarch_dump: insn_is_ret = <%s>\n",
1133 host_address_to_string (gdbarch
->insn_is_ret
));
1134 fprintf_unfiltered (file
,
1135 "gdbarch_dump: int_bit = %s\n",
1136 plongest (gdbarch
->int_bit
));
1137 fprintf_unfiltered (file
,
1138 "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
1139 gdbarch_integer_to_address_p (gdbarch
));
1140 fprintf_unfiltered (file
,
1141 "gdbarch_dump: integer_to_address = <%s>\n",
1142 host_address_to_string (gdbarch
->integer_to_address
));
1143 fprintf_unfiltered (file
,
1144 "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n",
1145 host_address_to_string (gdbarch
->iterate_over_objfiles_in_search_order
));
1146 fprintf_unfiltered (file
,
1147 "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n",
1148 gdbarch_iterate_over_regset_sections_p (gdbarch
));
1149 fprintf_unfiltered (file
,
1150 "gdbarch_dump: iterate_over_regset_sections = <%s>\n",
1151 host_address_to_string (gdbarch
->iterate_over_regset_sections
));
1152 fprintf_unfiltered (file
,
1153 "gdbarch_dump: long_bit = %s\n",
1154 plongest (gdbarch
->long_bit
));
1155 fprintf_unfiltered (file
,
1156 "gdbarch_dump: long_double_bit = %s\n",
1157 plongest (gdbarch
->long_double_bit
));
1158 fprintf_unfiltered (file
,
1159 "gdbarch_dump: long_double_format = %s\n",
1160 pformat (gdbarch
->long_double_format
));
1161 fprintf_unfiltered (file
,
1162 "gdbarch_dump: long_long_bit = %s\n",
1163 plongest (gdbarch
->long_long_bit
));
1164 fprintf_unfiltered (file
,
1165 "gdbarch_dump: gdbarch_make_corefile_notes_p() = %d\n",
1166 gdbarch_make_corefile_notes_p (gdbarch
));
1167 fprintf_unfiltered (file
,
1168 "gdbarch_dump: make_corefile_notes = <%s>\n",
1169 host_address_to_string (gdbarch
->make_corefile_notes
));
1170 fprintf_unfiltered (file
,
1171 "gdbarch_dump: make_symbol_special = <%s>\n",
1172 host_address_to_string (gdbarch
->make_symbol_special
));
1173 fprintf_unfiltered (file
,
1174 "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
1175 gdbarch_max_insn_length_p (gdbarch
));
1176 fprintf_unfiltered (file
,
1177 "gdbarch_dump: max_insn_length = %s\n",
1178 plongest (gdbarch
->max_insn_length
));
1179 fprintf_unfiltered (file
,
1180 "gdbarch_dump: memory_insert_breakpoint = <%s>\n",
1181 host_address_to_string (gdbarch
->memory_insert_breakpoint
));
1182 fprintf_unfiltered (file
,
1183 "gdbarch_dump: memory_remove_breakpoint = <%s>\n",
1184 host_address_to_string (gdbarch
->memory_remove_breakpoint
));
1185 fprintf_unfiltered (file
,
1186 "gdbarch_dump: num_pseudo_regs = %s\n",
1187 plongest (gdbarch
->num_pseudo_regs
));
1188 fprintf_unfiltered (file
,
1189 "gdbarch_dump: num_regs = %s\n",
1190 plongest (gdbarch
->num_regs
));
1191 fprintf_unfiltered (file
,
1192 "gdbarch_dump: osabi = %s\n",
1193 plongest (gdbarch
->osabi
));
1194 fprintf_unfiltered (file
,
1195 "gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
1196 gdbarch_overlay_update_p (gdbarch
));
1197 fprintf_unfiltered (file
,
1198 "gdbarch_dump: overlay_update = <%s>\n",
1199 host_address_to_string (gdbarch
->overlay_update
));
1200 fprintf_unfiltered (file
,
1201 "gdbarch_dump: pc_regnum = %s\n",
1202 plongest (gdbarch
->pc_regnum
));
1203 fprintf_unfiltered (file
,
1204 "gdbarch_dump: pointer_to_address = <%s>\n",
1205 host_address_to_string (gdbarch
->pointer_to_address
));
1206 fprintf_unfiltered (file
,
1207 "gdbarch_dump: print_auxv_entry = <%s>\n",
1208 host_address_to_string (gdbarch
->print_auxv_entry
));
1209 fprintf_unfiltered (file
,
1210 "gdbarch_dump: print_float_info = <%s>\n",
1211 host_address_to_string (gdbarch
->print_float_info
));
1212 fprintf_unfiltered (file
,
1213 "gdbarch_dump: print_insn = <%s>\n",
1214 host_address_to_string (gdbarch
->print_insn
));
1215 fprintf_unfiltered (file
,
1216 "gdbarch_dump: print_registers_info = <%s>\n",
1217 host_address_to_string (gdbarch
->print_registers_info
));
1218 fprintf_unfiltered (file
,
1219 "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
1220 gdbarch_print_vector_info_p (gdbarch
));
1221 fprintf_unfiltered (file
,
1222 "gdbarch_dump: print_vector_info = <%s>\n",
1223 host_address_to_string (gdbarch
->print_vector_info
));
1224 fprintf_unfiltered (file
,
1225 "gdbarch_dump: gdbarch_process_record_p() = %d\n",
1226 gdbarch_process_record_p (gdbarch
));
1227 fprintf_unfiltered (file
,
1228 "gdbarch_dump: process_record = <%s>\n",
1229 host_address_to_string (gdbarch
->process_record
));
1230 fprintf_unfiltered (file
,
1231 "gdbarch_dump: gdbarch_process_record_signal_p() = %d\n",
1232 gdbarch_process_record_signal_p (gdbarch
));
1233 fprintf_unfiltered (file
,
1234 "gdbarch_dump: process_record_signal = <%s>\n",
1235 host_address_to_string (gdbarch
->process_record_signal
));
1236 fprintf_unfiltered (file
,
1237 "gdbarch_dump: program_breakpoint_here_p = <%s>\n",
1238 host_address_to_string (gdbarch
->program_breakpoint_here_p
));
1239 fprintf_unfiltered (file
,
1240 "gdbarch_dump: ps_regnum = %s\n",
1241 plongest (gdbarch
->ps_regnum
));
1242 fprintf_unfiltered (file
,
1243 "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
1244 gdbarch_pseudo_register_read_p (gdbarch
));
1245 fprintf_unfiltered (file
,
1246 "gdbarch_dump: pseudo_register_read = <%s>\n",
1247 host_address_to_string (gdbarch
->pseudo_register_read
));
1248 fprintf_unfiltered (file
,
1249 "gdbarch_dump: gdbarch_pseudo_register_read_value_p() = %d\n",
1250 gdbarch_pseudo_register_read_value_p (gdbarch
));
1251 fprintf_unfiltered (file
,
1252 "gdbarch_dump: pseudo_register_read_value = <%s>\n",
1253 host_address_to_string (gdbarch
->pseudo_register_read_value
));
1254 fprintf_unfiltered (file
,
1255 "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
1256 gdbarch_pseudo_register_write_p (gdbarch
));
1257 fprintf_unfiltered (file
,
1258 "gdbarch_dump: pseudo_register_write = <%s>\n",
1259 host_address_to_string (gdbarch
->pseudo_register_write
));
1260 fprintf_unfiltered (file
,
1261 "gdbarch_dump: ptr_bit = %s\n",
1262 plongest (gdbarch
->ptr_bit
));
1263 fprintf_unfiltered (file
,
1264 "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
1265 gdbarch_push_dummy_call_p (gdbarch
));
1266 fprintf_unfiltered (file
,
1267 "gdbarch_dump: push_dummy_call = <%s>\n",
1268 host_address_to_string (gdbarch
->push_dummy_call
));
1269 fprintf_unfiltered (file
,
1270 "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
1271 gdbarch_push_dummy_code_p (gdbarch
));
1272 fprintf_unfiltered (file
,
1273 "gdbarch_dump: push_dummy_code = <%s>\n",
1274 host_address_to_string (gdbarch
->push_dummy_code
));
1275 fprintf_unfiltered (file
,
1276 "gdbarch_dump: ravenscar_ops = %s\n",
1277 host_address_to_string (gdbarch
->ravenscar_ops
));
1278 fprintf_unfiltered (file
,
1279 "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
1280 gdbarch_read_pc_p (gdbarch
));
1281 fprintf_unfiltered (file
,
1282 "gdbarch_dump: read_pc = <%s>\n",
1283 host_address_to_string (gdbarch
->read_pc
));
1284 fprintf_unfiltered (file
,
1285 "gdbarch_dump: gdbarch_record_special_symbol_p() = %d\n",
1286 gdbarch_record_special_symbol_p (gdbarch
));
1287 fprintf_unfiltered (file
,
1288 "gdbarch_dump: record_special_symbol = <%s>\n",
1289 host_address_to_string (gdbarch
->record_special_symbol
));
1290 fprintf_unfiltered (file
,
1291 "gdbarch_dump: register_name = <%s>\n",
1292 host_address_to_string (gdbarch
->register_name
));
1293 fprintf_unfiltered (file
,
1294 "gdbarch_dump: register_reggroup_p = <%s>\n",
1295 host_address_to_string (gdbarch
->register_reggroup_p
));
1296 fprintf_unfiltered (file
,
1297 "gdbarch_dump: register_sim_regno = <%s>\n",
1298 host_address_to_string (gdbarch
->register_sim_regno
));
1299 fprintf_unfiltered (file
,
1300 "gdbarch_dump: register_to_value = <%s>\n",
1301 host_address_to_string (gdbarch
->register_to_value
));
1302 fprintf_unfiltered (file
,
1303 "gdbarch_dump: gdbarch_register_type_p() = %d\n",
1304 gdbarch_register_type_p (gdbarch
));
1305 fprintf_unfiltered (file
,
1306 "gdbarch_dump: register_type = <%s>\n",
1307 host_address_to_string (gdbarch
->register_type
));
1308 fprintf_unfiltered (file
,
1309 "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n",
1310 gdbarch_relocate_instruction_p (gdbarch
));
1311 fprintf_unfiltered (file
,
1312 "gdbarch_dump: relocate_instruction = <%s>\n",
1313 host_address_to_string (gdbarch
->relocate_instruction
));
1314 fprintf_unfiltered (file
,
1315 "gdbarch_dump: remote_register_number = <%s>\n",
1316 host_address_to_string (gdbarch
->remote_register_number
));
1317 fprintf_unfiltered (file
,
1318 "gdbarch_dump: gdbarch_report_signal_info_p() = %d\n",
1319 gdbarch_report_signal_info_p (gdbarch
));
1320 fprintf_unfiltered (file
,
1321 "gdbarch_dump: report_signal_info = <%s>\n",
1322 host_address_to_string (gdbarch
->report_signal_info
));
1323 fprintf_unfiltered (file
,
1324 "gdbarch_dump: return_in_first_hidden_param_p = <%s>\n",
1325 host_address_to_string (gdbarch
->return_in_first_hidden_param_p
));
1326 fprintf_unfiltered (file
,
1327 "gdbarch_dump: gdbarch_return_value_p() = %d\n",
1328 gdbarch_return_value_p (gdbarch
));
1329 fprintf_unfiltered (file
,
1330 "gdbarch_dump: return_value = <%s>\n",
1331 host_address_to_string (gdbarch
->return_value
));
1332 fprintf_unfiltered (file
,
1333 "gdbarch_dump: sdb_reg_to_regnum = <%s>\n",
1334 host_address_to_string (gdbarch
->sdb_reg_to_regnum
));
1335 fprintf_unfiltered (file
,
1336 "gdbarch_dump: short_bit = %s\n",
1337 plongest (gdbarch
->short_bit
));
1338 fprintf_unfiltered (file
,
1339 "gdbarch_dump: significant_addr_bit = %s\n",
1340 plongest (gdbarch
->significant_addr_bit
));
1341 fprintf_unfiltered (file
,
1342 "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
1343 gdbarch_single_step_through_delay_p (gdbarch
));
1344 fprintf_unfiltered (file
,
1345 "gdbarch_dump: single_step_through_delay = <%s>\n",
1346 host_address_to_string (gdbarch
->single_step_through_delay
));
1347 fprintf_unfiltered (file
,
1348 "gdbarch_dump: gdbarch_skip_entrypoint_p() = %d\n",
1349 gdbarch_skip_entrypoint_p (gdbarch
));
1350 fprintf_unfiltered (file
,
1351 "gdbarch_dump: skip_entrypoint = <%s>\n",
1352 host_address_to_string (gdbarch
->skip_entrypoint
));
1353 fprintf_unfiltered (file
,
1354 "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n",
1355 gdbarch_skip_main_prologue_p (gdbarch
));
1356 fprintf_unfiltered (file
,
1357 "gdbarch_dump: skip_main_prologue = <%s>\n",
1358 host_address_to_string (gdbarch
->skip_main_prologue
));
1359 fprintf_unfiltered (file
,
1360 "gdbarch_dump: skip_permanent_breakpoint = <%s>\n",
1361 host_address_to_string (gdbarch
->skip_permanent_breakpoint
));
1362 fprintf_unfiltered (file
,
1363 "gdbarch_dump: skip_prologue = <%s>\n",
1364 host_address_to_string (gdbarch
->skip_prologue
));
1365 fprintf_unfiltered (file
,
1366 "gdbarch_dump: skip_solib_resolver = <%s>\n",
1367 host_address_to_string (gdbarch
->skip_solib_resolver
));
1368 fprintf_unfiltered (file
,
1369 "gdbarch_dump: skip_trampoline_code = <%s>\n",
1370 host_address_to_string (gdbarch
->skip_trampoline_code
));
1371 fprintf_unfiltered (file
,
1372 "gdbarch_dump: gdbarch_software_single_step_p() = %d\n",
1373 gdbarch_software_single_step_p (gdbarch
));
1374 fprintf_unfiltered (file
,
1375 "gdbarch_dump: software_single_step = <%s>\n",
1376 host_address_to_string (gdbarch
->software_single_step
));
1377 fprintf_unfiltered (file
,
1378 "gdbarch_dump: sofun_address_maybe_missing = %s\n",
1379 plongest (gdbarch
->sofun_address_maybe_missing
));
1380 fprintf_unfiltered (file
,
1381 "gdbarch_dump: solib_symbols_extension = %s\n",
1382 pstring (gdbarch
->solib_symbols_extension
));
1383 fprintf_unfiltered (file
,
1384 "gdbarch_dump: sp_regnum = %s\n",
1385 plongest (gdbarch
->sp_regnum
));
1386 fprintf_unfiltered (file
,
1387 "gdbarch_dump: stab_reg_to_regnum = <%s>\n",
1388 host_address_to_string (gdbarch
->stab_reg_to_regnum
));
1389 fprintf_unfiltered (file
,
1390 "gdbarch_dump: stabs_argument_has_addr = <%s>\n",
1391 host_address_to_string (gdbarch
->stabs_argument_has_addr
));
1392 fprintf_unfiltered (file
,
1393 "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
1394 host_address_to_string (gdbarch
->stack_frame_destroyed_p
));
1395 fprintf_unfiltered (file
,
1396 "gdbarch_dump: gdbarch_stap_adjust_register_p() = %d\n",
1397 gdbarch_stap_adjust_register_p (gdbarch
));
1398 fprintf_unfiltered (file
,
1399 "gdbarch_dump: stap_adjust_register = <%s>\n",
1400 host_address_to_string (gdbarch
->stap_adjust_register
));
1401 fprintf_unfiltered (file
,
1402 "gdbarch_dump: stap_gdb_register_prefix = %s\n",
1403 pstring (gdbarch
->stap_gdb_register_prefix
));
1404 fprintf_unfiltered (file
,
1405 "gdbarch_dump: stap_gdb_register_suffix = %s\n",
1406 pstring (gdbarch
->stap_gdb_register_suffix
));
1407 fprintf_unfiltered (file
,
1408 "gdbarch_dump: stap_integer_prefixes = %s\n",
1409 pstring_list (gdbarch
->stap_integer_prefixes
));
1410 fprintf_unfiltered (file
,
1411 "gdbarch_dump: stap_integer_suffixes = %s\n",
1412 pstring_list (gdbarch
->stap_integer_suffixes
));
1413 fprintf_unfiltered (file
,
1414 "gdbarch_dump: gdbarch_stap_is_single_operand_p() = %d\n",
1415 gdbarch_stap_is_single_operand_p (gdbarch
));
1416 fprintf_unfiltered (file
,
1417 "gdbarch_dump: stap_is_single_operand = <%s>\n",
1418 host_address_to_string (gdbarch
->stap_is_single_operand
));
1419 fprintf_unfiltered (file
,
1420 "gdbarch_dump: gdbarch_stap_parse_special_token_p() = %d\n",
1421 gdbarch_stap_parse_special_token_p (gdbarch
));
1422 fprintf_unfiltered (file
,
1423 "gdbarch_dump: stap_parse_special_token = <%s>\n",
1424 host_address_to_string (gdbarch
->stap_parse_special_token
));
1425 fprintf_unfiltered (file
,
1426 "gdbarch_dump: stap_register_indirection_prefixes = %s\n",
1427 pstring_list (gdbarch
->stap_register_indirection_prefixes
));
1428 fprintf_unfiltered (file
,
1429 "gdbarch_dump: stap_register_indirection_suffixes = %s\n",
1430 pstring_list (gdbarch
->stap_register_indirection_suffixes
));
1431 fprintf_unfiltered (file
,
1432 "gdbarch_dump: stap_register_prefixes = %s\n",
1433 pstring_list (gdbarch
->stap_register_prefixes
));
1434 fprintf_unfiltered (file
,
1435 "gdbarch_dump: stap_register_suffixes = %s\n",
1436 pstring_list (gdbarch
->stap_register_suffixes
));
1437 fprintf_unfiltered (file
,
1438 "gdbarch_dump: sw_breakpoint_from_kind = <%s>\n",
1439 host_address_to_string (gdbarch
->sw_breakpoint_from_kind
));
1440 fprintf_unfiltered (file
,
1441 "gdbarch_dump: syscalls_info = %s\n",
1442 host_address_to_string (gdbarch
->syscalls_info
));
1443 fprintf_unfiltered (file
,
1444 "gdbarch_dump: target_desc = %s\n",
1445 host_address_to_string (gdbarch
->target_desc
));
1446 fprintf_unfiltered (file
,
1447 "gdbarch_dump: type_align = <%s>\n",
1448 host_address_to_string (gdbarch
->type_align
));
1449 fprintf_unfiltered (file
,
1450 "gdbarch_dump: unwind_pc = <%s>\n",
1451 host_address_to_string (gdbarch
->unwind_pc
));
1452 fprintf_unfiltered (file
,
1453 "gdbarch_dump: unwind_sp = <%s>\n",
1454 host_address_to_string (gdbarch
->unwind_sp
));
1455 fprintf_unfiltered (file
,
1456 "gdbarch_dump: valid_disassembler_options = %s\n",
1457 host_address_to_string (gdbarch
->valid_disassembler_options
));
1458 fprintf_unfiltered (file
,
1459 "gdbarch_dump: value_from_register = <%s>\n",
1460 host_address_to_string (gdbarch
->value_from_register
));
1461 fprintf_unfiltered (file
,
1462 "gdbarch_dump: value_to_register = <%s>\n",
1463 host_address_to_string (gdbarch
->value_to_register
));
1464 fprintf_unfiltered (file
,
1465 "gdbarch_dump: vbit_in_delta = %s\n",
1466 plongest (gdbarch
->vbit_in_delta
));
1467 fprintf_unfiltered (file
,
1468 "gdbarch_dump: virtual_frame_pointer = <%s>\n",
1469 host_address_to_string (gdbarch
->virtual_frame_pointer
));
1470 fprintf_unfiltered (file
,
1471 "gdbarch_dump: vsyscall_range = <%s>\n",
1472 host_address_to_string (gdbarch
->vsyscall_range
));
1473 fprintf_unfiltered (file
,
1474 "gdbarch_dump: vtable_function_descriptors = %s\n",
1475 plongest (gdbarch
->vtable_function_descriptors
));
1476 fprintf_unfiltered (file
,
1477 "gdbarch_dump: wchar_bit = %s\n",
1478 plongest (gdbarch
->wchar_bit
));
1479 fprintf_unfiltered (file
,
1480 "gdbarch_dump: wchar_signed = %s\n",
1481 plongest (gdbarch
->wchar_signed
));
1482 fprintf_unfiltered (file
,
1483 "gdbarch_dump: gdbarch_write_pc_p() = %d\n",
1484 gdbarch_write_pc_p (gdbarch
));
1485 fprintf_unfiltered (file
,
1486 "gdbarch_dump: write_pc = <%s>\n",
1487 host_address_to_string (gdbarch
->write_pc
));
1488 fprintf_unfiltered (file
,
1489 "gdbarch_dump: xml_syscall_file = %s\n",
1490 pstring (gdbarch
->xml_syscall_file
));
1491 if (gdbarch
->dump_tdep
!= NULL
)
1492 gdbarch
->dump_tdep (gdbarch
, file
);
1495 struct gdbarch_tdep
*
1496 gdbarch_tdep (struct gdbarch
*gdbarch
)
1498 if (gdbarch_debug
>= 2)
1499 fprintf_unfiltered (gdb_stdlog
, "gdbarch_tdep called\n");
1500 return gdbarch
->tdep
;
1504 const struct bfd_arch_info
*
1505 gdbarch_bfd_arch_info (struct gdbarch
*gdbarch
)
1507 gdb_assert (gdbarch
!= NULL
);
1508 if (gdbarch_debug
>= 2)
1509 fprintf_unfiltered (gdb_stdlog
, "gdbarch_bfd_arch_info called\n");
1510 return gdbarch
->bfd_arch_info
;
1514 gdbarch_byte_order (struct gdbarch
*gdbarch
)
1516 gdb_assert (gdbarch
!= NULL
);
1517 if (gdbarch_debug
>= 2)
1518 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order called\n");
1519 return gdbarch
->byte_order
;
1523 gdbarch_byte_order_for_code (struct gdbarch
*gdbarch
)
1525 gdb_assert (gdbarch
!= NULL
);
1526 if (gdbarch_debug
>= 2)
1527 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order_for_code called\n");
1528 return gdbarch
->byte_order_for_code
;
1532 gdbarch_osabi (struct gdbarch
*gdbarch
)
1534 gdb_assert (gdbarch
!= NULL
);
1535 if (gdbarch_debug
>= 2)
1536 fprintf_unfiltered (gdb_stdlog
, "gdbarch_osabi called\n");
1537 return gdbarch
->osabi
;
1540 const struct target_desc
*
1541 gdbarch_target_desc (struct gdbarch
*gdbarch
)
1543 gdb_assert (gdbarch
!= NULL
);
1544 if (gdbarch_debug
>= 2)
1545 fprintf_unfiltered (gdb_stdlog
, "gdbarch_target_desc called\n");
1546 return gdbarch
->target_desc
;
1550 gdbarch_short_bit (struct gdbarch
*gdbarch
)
1552 gdb_assert (gdbarch
!= NULL
);
1553 /* Skip verify of short_bit, invalid_p == 0 */
1554 if (gdbarch_debug
>= 2)
1555 fprintf_unfiltered (gdb_stdlog
, "gdbarch_short_bit called\n");
1556 return gdbarch
->short_bit
;
1560 set_gdbarch_short_bit (struct gdbarch
*gdbarch
,
1563 gdbarch
->short_bit
= short_bit
;
1567 gdbarch_int_bit (struct gdbarch
*gdbarch
)
1569 gdb_assert (gdbarch
!= NULL
);
1570 /* Skip verify of int_bit, invalid_p == 0 */
1571 if (gdbarch_debug
>= 2)
1572 fprintf_unfiltered (gdb_stdlog
, "gdbarch_int_bit called\n");
1573 return gdbarch
->int_bit
;
1577 set_gdbarch_int_bit (struct gdbarch
*gdbarch
,
1580 gdbarch
->int_bit
= int_bit
;
1584 gdbarch_long_bit (struct gdbarch
*gdbarch
)
1586 gdb_assert (gdbarch
!= NULL
);
1587 /* Skip verify of long_bit, invalid_p == 0 */
1588 if (gdbarch_debug
>= 2)
1589 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_bit called\n");
1590 return gdbarch
->long_bit
;
1594 set_gdbarch_long_bit (struct gdbarch
*gdbarch
,
1597 gdbarch
->long_bit
= long_bit
;
1601 gdbarch_long_long_bit (struct gdbarch
*gdbarch
)
1603 gdb_assert (gdbarch
!= NULL
);
1604 /* Skip verify of long_long_bit, invalid_p == 0 */
1605 if (gdbarch_debug
>= 2)
1606 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_long_bit called\n");
1607 return gdbarch
->long_long_bit
;
1611 set_gdbarch_long_long_bit (struct gdbarch
*gdbarch
,
1614 gdbarch
->long_long_bit
= long_long_bit
;
1618 gdbarch_half_bit (struct gdbarch
*gdbarch
)
1620 gdb_assert (gdbarch
!= NULL
);
1621 /* Skip verify of half_bit, invalid_p == 0 */
1622 if (gdbarch_debug
>= 2)
1623 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_bit called\n");
1624 return gdbarch
->half_bit
;
1628 set_gdbarch_half_bit (struct gdbarch
*gdbarch
,
1631 gdbarch
->half_bit
= half_bit
;
1634 const struct floatformat
**
1635 gdbarch_half_format (struct gdbarch
*gdbarch
)
1637 gdb_assert (gdbarch
!= NULL
);
1638 if (gdbarch_debug
>= 2)
1639 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_format called\n");
1640 return gdbarch
->half_format
;
1644 set_gdbarch_half_format (struct gdbarch
*gdbarch
,
1645 const struct floatformat
** half_format
)
1647 gdbarch
->half_format
= half_format
;
1651 gdbarch_float_bit (struct gdbarch
*gdbarch
)
1653 gdb_assert (gdbarch
!= NULL
);
1654 /* Skip verify of float_bit, invalid_p == 0 */
1655 if (gdbarch_debug
>= 2)
1656 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_bit called\n");
1657 return gdbarch
->float_bit
;
1661 set_gdbarch_float_bit (struct gdbarch
*gdbarch
,
1664 gdbarch
->float_bit
= float_bit
;
1667 const struct floatformat
**
1668 gdbarch_float_format (struct gdbarch
*gdbarch
)
1670 gdb_assert (gdbarch
!= NULL
);
1671 if (gdbarch_debug
>= 2)
1672 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_format called\n");
1673 return gdbarch
->float_format
;
1677 set_gdbarch_float_format (struct gdbarch
*gdbarch
,
1678 const struct floatformat
** float_format
)
1680 gdbarch
->float_format
= float_format
;
1684 gdbarch_double_bit (struct gdbarch
*gdbarch
)
1686 gdb_assert (gdbarch
!= NULL
);
1687 /* Skip verify of double_bit, invalid_p == 0 */
1688 if (gdbarch_debug
>= 2)
1689 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_bit called\n");
1690 return gdbarch
->double_bit
;
1694 set_gdbarch_double_bit (struct gdbarch
*gdbarch
,
1697 gdbarch
->double_bit
= double_bit
;
1700 const struct floatformat
**
1701 gdbarch_double_format (struct gdbarch
*gdbarch
)
1703 gdb_assert (gdbarch
!= NULL
);
1704 if (gdbarch_debug
>= 2)
1705 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_format called\n");
1706 return gdbarch
->double_format
;
1710 set_gdbarch_double_format (struct gdbarch
*gdbarch
,
1711 const struct floatformat
** double_format
)
1713 gdbarch
->double_format
= double_format
;
1717 gdbarch_long_double_bit (struct gdbarch
*gdbarch
)
1719 gdb_assert (gdbarch
!= NULL
);
1720 /* Skip verify of long_double_bit, invalid_p == 0 */
1721 if (gdbarch_debug
>= 2)
1722 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_bit called\n");
1723 return gdbarch
->long_double_bit
;
1727 set_gdbarch_long_double_bit (struct gdbarch
*gdbarch
,
1728 int long_double_bit
)
1730 gdbarch
->long_double_bit
= long_double_bit
;
1733 const struct floatformat
**
1734 gdbarch_long_double_format (struct gdbarch
*gdbarch
)
1736 gdb_assert (gdbarch
!= NULL
);
1737 if (gdbarch_debug
>= 2)
1738 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_format called\n");
1739 return gdbarch
->long_double_format
;
1743 set_gdbarch_long_double_format (struct gdbarch
*gdbarch
,
1744 const struct floatformat
** long_double_format
)
1746 gdbarch
->long_double_format
= long_double_format
;
1750 gdbarch_wchar_bit (struct gdbarch
*gdbarch
)
1752 gdb_assert (gdbarch
!= NULL
);
1753 /* Skip verify of wchar_bit, invalid_p == 0 */
1754 if (gdbarch_debug
>= 2)
1755 fprintf_unfiltered (gdb_stdlog
, "gdbarch_wchar_bit called\n");
1756 return gdbarch
->wchar_bit
;
1760 set_gdbarch_wchar_bit (struct gdbarch
*gdbarch
,
1763 gdbarch
->wchar_bit
= wchar_bit
;
1767 gdbarch_wchar_signed (struct gdbarch
*gdbarch
)
1769 gdb_assert (gdbarch
!= NULL
);
1770 /* Check variable changed from pre-default. */
1771 gdb_assert (gdbarch
->wchar_signed
!= -1);
1772 if (gdbarch_debug
>= 2)
1773 fprintf_unfiltered (gdb_stdlog
, "gdbarch_wchar_signed called\n");
1774 return gdbarch
->wchar_signed
;
1778 set_gdbarch_wchar_signed (struct gdbarch
*gdbarch
,
1781 gdbarch
->wchar_signed
= wchar_signed
;
1784 const struct floatformat
**
1785 gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
, const char *name
, int length
)
1787 gdb_assert (gdbarch
!= NULL
);
1788 gdb_assert (gdbarch
->floatformat_for_type
!= NULL
);
1789 if (gdbarch_debug
>= 2)
1790 fprintf_unfiltered (gdb_stdlog
, "gdbarch_floatformat_for_type called\n");
1791 return gdbarch
->floatformat_for_type (gdbarch
, name
, length
);
1795 set_gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
,
1796 gdbarch_floatformat_for_type_ftype floatformat_for_type
)
1798 gdbarch
->floatformat_for_type
= floatformat_for_type
;
1802 gdbarch_ptr_bit (struct gdbarch
*gdbarch
)
1804 gdb_assert (gdbarch
!= NULL
);
1805 /* Skip verify of ptr_bit, invalid_p == 0 */
1806 if (gdbarch_debug
>= 2)
1807 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ptr_bit called\n");
1808 return gdbarch
->ptr_bit
;
1812 set_gdbarch_ptr_bit (struct gdbarch
*gdbarch
,
1815 gdbarch
->ptr_bit
= ptr_bit
;
1819 gdbarch_addr_bit (struct gdbarch
*gdbarch
)
1821 gdb_assert (gdbarch
!= NULL
);
1822 /* Check variable changed from pre-default. */
1823 gdb_assert (gdbarch
->addr_bit
!= 0);
1824 if (gdbarch_debug
>= 2)
1825 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bit called\n");
1826 return gdbarch
->addr_bit
;
1830 set_gdbarch_addr_bit (struct gdbarch
*gdbarch
,
1833 gdbarch
->addr_bit
= addr_bit
;
1837 gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
)
1839 gdb_assert (gdbarch
!= NULL
);
1840 /* Check variable changed from pre-default. */
1841 gdb_assert (gdbarch
->dwarf2_addr_size
!= 0);
1842 if (gdbarch_debug
>= 2)
1843 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_addr_size called\n");
1844 return gdbarch
->dwarf2_addr_size
;
1848 set_gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
,
1849 int dwarf2_addr_size
)
1851 gdbarch
->dwarf2_addr_size
= dwarf2_addr_size
;
1855 gdbarch_char_signed (struct gdbarch
*gdbarch
)
1857 gdb_assert (gdbarch
!= NULL
);
1858 /* Check variable changed from pre-default. */
1859 gdb_assert (gdbarch
->char_signed
!= -1);
1860 if (gdbarch_debug
>= 2)
1861 fprintf_unfiltered (gdb_stdlog
, "gdbarch_char_signed called\n");
1862 return gdbarch
->char_signed
;
1866 set_gdbarch_char_signed (struct gdbarch
*gdbarch
,
1869 gdbarch
->char_signed
= char_signed
;
1873 gdbarch_read_pc_p (struct gdbarch
*gdbarch
)
1875 gdb_assert (gdbarch
!= NULL
);
1876 return gdbarch
->read_pc
!= NULL
;
1880 gdbarch_read_pc (struct gdbarch
*gdbarch
, readable_regcache
*regcache
)
1882 gdb_assert (gdbarch
!= NULL
);
1883 gdb_assert (gdbarch
->read_pc
!= NULL
);
1884 if (gdbarch_debug
>= 2)
1885 fprintf_unfiltered (gdb_stdlog
, "gdbarch_read_pc called\n");
1886 return gdbarch
->read_pc (regcache
);
1890 set_gdbarch_read_pc (struct gdbarch
*gdbarch
,
1891 gdbarch_read_pc_ftype read_pc
)
1893 gdbarch
->read_pc
= read_pc
;
1897 gdbarch_write_pc_p (struct gdbarch
*gdbarch
)
1899 gdb_assert (gdbarch
!= NULL
);
1900 return gdbarch
->write_pc
!= NULL
;
1904 gdbarch_write_pc (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR val
)
1906 gdb_assert (gdbarch
!= NULL
);
1907 gdb_assert (gdbarch
->write_pc
!= NULL
);
1908 if (gdbarch_debug
>= 2)
1909 fprintf_unfiltered (gdb_stdlog
, "gdbarch_write_pc called\n");
1910 gdbarch
->write_pc (regcache
, val
);
1914 set_gdbarch_write_pc (struct gdbarch
*gdbarch
,
1915 gdbarch_write_pc_ftype write_pc
)
1917 gdbarch
->write_pc
= write_pc
;
1921 gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
, CORE_ADDR pc
, int *frame_regnum
, LONGEST
*frame_offset
)
1923 gdb_assert (gdbarch
!= NULL
);
1924 gdb_assert (gdbarch
->virtual_frame_pointer
!= NULL
);
1925 if (gdbarch_debug
>= 2)
1926 fprintf_unfiltered (gdb_stdlog
, "gdbarch_virtual_frame_pointer called\n");
1927 gdbarch
->virtual_frame_pointer (gdbarch
, pc
, frame_regnum
, frame_offset
);
1931 set_gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
,
1932 gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer
)
1934 gdbarch
->virtual_frame_pointer
= virtual_frame_pointer
;
1938 gdbarch_pseudo_register_read_p (struct gdbarch
*gdbarch
)
1940 gdb_assert (gdbarch
!= NULL
);
1941 return gdbarch
->pseudo_register_read
!= NULL
;
1944 enum register_status
1945 gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
, readable_regcache
*regcache
, int cookednum
, gdb_byte
*buf
)
1947 gdb_assert (gdbarch
!= NULL
);
1948 gdb_assert (gdbarch
->pseudo_register_read
!= NULL
);
1949 if (gdbarch_debug
>= 2)
1950 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read called\n");
1951 return gdbarch
->pseudo_register_read (gdbarch
, regcache
, cookednum
, buf
);
1955 set_gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
,
1956 gdbarch_pseudo_register_read_ftype pseudo_register_read
)
1958 gdbarch
->pseudo_register_read
= pseudo_register_read
;
1962 gdbarch_pseudo_register_read_value_p (struct gdbarch
*gdbarch
)
1964 gdb_assert (gdbarch
!= NULL
);
1965 return gdbarch
->pseudo_register_read_value
!= NULL
;
1969 gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
, readable_regcache
*regcache
, int cookednum
)
1971 gdb_assert (gdbarch
!= NULL
);
1972 gdb_assert (gdbarch
->pseudo_register_read_value
!= NULL
);
1973 if (gdbarch_debug
>= 2)
1974 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read_value called\n");
1975 return gdbarch
->pseudo_register_read_value (gdbarch
, regcache
, cookednum
);
1979 set_gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
,
1980 gdbarch_pseudo_register_read_value_ftype pseudo_register_read_value
)
1982 gdbarch
->pseudo_register_read_value
= pseudo_register_read_value
;
1986 gdbarch_pseudo_register_write_p (struct gdbarch
*gdbarch
)
1988 gdb_assert (gdbarch
!= NULL
);
1989 return gdbarch
->pseudo_register_write
!= NULL
;
1993 gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
, struct regcache
*regcache
, int cookednum
, const gdb_byte
*buf
)
1995 gdb_assert (gdbarch
!= NULL
);
1996 gdb_assert (gdbarch
->pseudo_register_write
!= NULL
);
1997 if (gdbarch_debug
>= 2)
1998 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_write called\n");
1999 gdbarch
->pseudo_register_write (gdbarch
, regcache
, cookednum
, buf
);
2003 set_gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
,
2004 gdbarch_pseudo_register_write_ftype pseudo_register_write
)
2006 gdbarch
->pseudo_register_write
= pseudo_register_write
;
2010 gdbarch_num_regs (struct gdbarch
*gdbarch
)
2012 gdb_assert (gdbarch
!= NULL
);
2013 /* Check variable changed from pre-default. */
2014 gdb_assert (gdbarch
->num_regs
!= -1);
2015 if (gdbarch_debug
>= 2)
2016 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_regs called\n");
2017 return gdbarch
->num_regs
;
2021 set_gdbarch_num_regs (struct gdbarch
*gdbarch
,
2024 gdbarch
->num_regs
= num_regs
;
2028 gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
)
2030 gdb_assert (gdbarch
!= NULL
);
2031 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
2032 if (gdbarch_debug
>= 2)
2033 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_pseudo_regs called\n");
2034 return gdbarch
->num_pseudo_regs
;
2038 set_gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
,
2039 int num_pseudo_regs
)
2041 gdbarch
->num_pseudo_regs
= num_pseudo_regs
;
2045 gdbarch_ax_pseudo_register_collect_p (struct gdbarch
*gdbarch
)
2047 gdb_assert (gdbarch
!= NULL
);
2048 return gdbarch
->ax_pseudo_register_collect
!= NULL
;
2052 gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2054 gdb_assert (gdbarch
!= NULL
);
2055 gdb_assert (gdbarch
->ax_pseudo_register_collect
!= NULL
);
2056 if (gdbarch_debug
>= 2)
2057 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_collect called\n");
2058 return gdbarch
->ax_pseudo_register_collect (gdbarch
, ax
, reg
);
2062 set_gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
,
2063 gdbarch_ax_pseudo_register_collect_ftype ax_pseudo_register_collect
)
2065 gdbarch
->ax_pseudo_register_collect
= ax_pseudo_register_collect
;
2069 gdbarch_ax_pseudo_register_push_stack_p (struct gdbarch
*gdbarch
)
2071 gdb_assert (gdbarch
!= NULL
);
2072 return gdbarch
->ax_pseudo_register_push_stack
!= NULL
;
2076 gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2078 gdb_assert (gdbarch
!= NULL
);
2079 gdb_assert (gdbarch
->ax_pseudo_register_push_stack
!= NULL
);
2080 if (gdbarch_debug
>= 2)
2081 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_push_stack called\n");
2082 return gdbarch
->ax_pseudo_register_push_stack (gdbarch
, ax
, reg
);
2086 set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
,
2087 gdbarch_ax_pseudo_register_push_stack_ftype ax_pseudo_register_push_stack
)
2089 gdbarch
->ax_pseudo_register_push_stack
= ax_pseudo_register_push_stack
;
2093 gdbarch_report_signal_info_p (struct gdbarch
*gdbarch
)
2095 gdb_assert (gdbarch
!= NULL
);
2096 return gdbarch
->report_signal_info
!= NULL
;
2100 gdbarch_report_signal_info (struct gdbarch
*gdbarch
, struct ui_out
*uiout
, enum gdb_signal siggnal
)
2102 gdb_assert (gdbarch
!= NULL
);
2103 gdb_assert (gdbarch
->report_signal_info
!= NULL
);
2104 if (gdbarch_debug
>= 2)
2105 fprintf_unfiltered (gdb_stdlog
, "gdbarch_report_signal_info called\n");
2106 gdbarch
->report_signal_info (gdbarch
, uiout
, siggnal
);
2110 set_gdbarch_report_signal_info (struct gdbarch
*gdbarch
,
2111 gdbarch_report_signal_info_ftype report_signal_info
)
2113 gdbarch
->report_signal_info
= report_signal_info
;
2117 gdbarch_sp_regnum (struct gdbarch
*gdbarch
)
2119 gdb_assert (gdbarch
!= NULL
);
2120 /* Skip verify of sp_regnum, invalid_p == 0 */
2121 if (gdbarch_debug
>= 2)
2122 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sp_regnum called\n");
2123 return gdbarch
->sp_regnum
;
2127 set_gdbarch_sp_regnum (struct gdbarch
*gdbarch
,
2130 gdbarch
->sp_regnum
= sp_regnum
;
2134 gdbarch_pc_regnum (struct gdbarch
*gdbarch
)
2136 gdb_assert (gdbarch
!= NULL
);
2137 /* Skip verify of pc_regnum, invalid_p == 0 */
2138 if (gdbarch_debug
>= 2)
2139 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pc_regnum called\n");
2140 return gdbarch
->pc_regnum
;
2144 set_gdbarch_pc_regnum (struct gdbarch
*gdbarch
,
2147 gdbarch
->pc_regnum
= pc_regnum
;
2151 gdbarch_ps_regnum (struct gdbarch
*gdbarch
)
2153 gdb_assert (gdbarch
!= NULL
);
2154 /* Skip verify of ps_regnum, invalid_p == 0 */
2155 if (gdbarch_debug
>= 2)
2156 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ps_regnum called\n");
2157 return gdbarch
->ps_regnum
;
2161 set_gdbarch_ps_regnum (struct gdbarch
*gdbarch
,
2164 gdbarch
->ps_regnum
= ps_regnum
;
2168 gdbarch_fp0_regnum (struct gdbarch
*gdbarch
)
2170 gdb_assert (gdbarch
!= NULL
);
2171 /* Skip verify of fp0_regnum, invalid_p == 0 */
2172 if (gdbarch_debug
>= 2)
2173 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fp0_regnum called\n");
2174 return gdbarch
->fp0_regnum
;
2178 set_gdbarch_fp0_regnum (struct gdbarch
*gdbarch
,
2181 gdbarch
->fp0_regnum
= fp0_regnum
;
2185 gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
, int stab_regnr
)
2187 gdb_assert (gdbarch
!= NULL
);
2188 gdb_assert (gdbarch
->stab_reg_to_regnum
!= NULL
);
2189 if (gdbarch_debug
>= 2)
2190 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stab_reg_to_regnum called\n");
2191 return gdbarch
->stab_reg_to_regnum (gdbarch
, stab_regnr
);
2195 set_gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
,
2196 gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum
)
2198 gdbarch
->stab_reg_to_regnum
= stab_reg_to_regnum
;
2202 gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
, int ecoff_regnr
)
2204 gdb_assert (gdbarch
!= NULL
);
2205 gdb_assert (gdbarch
->ecoff_reg_to_regnum
!= NULL
);
2206 if (gdbarch_debug
>= 2)
2207 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ecoff_reg_to_regnum called\n");
2208 return gdbarch
->ecoff_reg_to_regnum (gdbarch
, ecoff_regnr
);
2212 set_gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
,
2213 gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum
)
2215 gdbarch
->ecoff_reg_to_regnum
= ecoff_reg_to_regnum
;
2219 gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
, int sdb_regnr
)
2221 gdb_assert (gdbarch
!= NULL
);
2222 gdb_assert (gdbarch
->sdb_reg_to_regnum
!= NULL
);
2223 if (gdbarch_debug
>= 2)
2224 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sdb_reg_to_regnum called\n");
2225 return gdbarch
->sdb_reg_to_regnum (gdbarch
, sdb_regnr
);
2229 set_gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
,
2230 gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum
)
2232 gdbarch
->sdb_reg_to_regnum
= sdb_reg_to_regnum
;
2236 gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
, int dwarf2_regnr
)
2238 gdb_assert (gdbarch
!= NULL
);
2239 gdb_assert (gdbarch
->dwarf2_reg_to_regnum
!= NULL
);
2240 if (gdbarch_debug
>= 2)
2241 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_reg_to_regnum called\n");
2242 return gdbarch
->dwarf2_reg_to_regnum (gdbarch
, dwarf2_regnr
);
2246 set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
,
2247 gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum
)
2249 gdbarch
->dwarf2_reg_to_regnum
= dwarf2_reg_to_regnum
;
2253 gdbarch_register_name (struct gdbarch
*gdbarch
, int regnr
)
2255 gdb_assert (gdbarch
!= NULL
);
2256 gdb_assert (gdbarch
->register_name
!= NULL
);
2257 if (gdbarch_debug
>= 2)
2258 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_name called\n");
2259 return gdbarch
->register_name (gdbarch
, regnr
);
2263 set_gdbarch_register_name (struct gdbarch
*gdbarch
,
2264 gdbarch_register_name_ftype register_name
)
2266 gdbarch
->register_name
= register_name
;
2270 gdbarch_register_type_p (struct gdbarch
*gdbarch
)
2272 gdb_assert (gdbarch
!= NULL
);
2273 return gdbarch
->register_type
!= NULL
;
2277 gdbarch_register_type (struct gdbarch
*gdbarch
, int reg_nr
)
2279 gdb_assert (gdbarch
!= NULL
);
2280 gdb_assert (gdbarch
->register_type
!= NULL
);
2281 if (gdbarch_debug
>= 2)
2282 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_type called\n");
2283 return gdbarch
->register_type (gdbarch
, reg_nr
);
2287 set_gdbarch_register_type (struct gdbarch
*gdbarch
,
2288 gdbarch_register_type_ftype register_type
)
2290 gdbarch
->register_type
= register_type
;
2294 gdbarch_dummy_id (struct gdbarch
*gdbarch
, struct frame_info
*this_frame
)
2296 gdb_assert (gdbarch
!= NULL
);
2297 gdb_assert (gdbarch
->dummy_id
!= NULL
);
2298 if (gdbarch_debug
>= 2)
2299 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dummy_id called\n");
2300 return gdbarch
->dummy_id (gdbarch
, this_frame
);
2304 set_gdbarch_dummy_id (struct gdbarch
*gdbarch
,
2305 gdbarch_dummy_id_ftype dummy_id
)
2307 gdbarch
->dummy_id
= dummy_id
;
2311 gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
)
2313 gdb_assert (gdbarch
!= NULL
);
2314 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
2315 if (gdbarch_debug
>= 2)
2316 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_fp_regnum called\n");
2317 return gdbarch
->deprecated_fp_regnum
;
2321 set_gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
,
2322 int deprecated_fp_regnum
)
2324 gdbarch
->deprecated_fp_regnum
= deprecated_fp_regnum
;
2328 gdbarch_push_dummy_call_p (struct gdbarch
*gdbarch
)
2330 gdb_assert (gdbarch
!= NULL
);
2331 return gdbarch
->push_dummy_call
!= NULL
;
2335 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
)
2337 gdb_assert (gdbarch
!= NULL
);
2338 gdb_assert (gdbarch
->push_dummy_call
!= NULL
);
2339 if (gdbarch_debug
>= 2)
2340 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_call called\n");
2341 return gdbarch
->push_dummy_call (gdbarch
, function
, regcache
, bp_addr
, nargs
, args
, sp
, return_method
, struct_addr
);
2345 set_gdbarch_push_dummy_call (struct gdbarch
*gdbarch
,
2346 gdbarch_push_dummy_call_ftype push_dummy_call
)
2348 gdbarch
->push_dummy_call
= push_dummy_call
;
2352 gdbarch_call_dummy_location (struct gdbarch
*gdbarch
)
2354 gdb_assert (gdbarch
!= NULL
);
2355 /* Skip verify of call_dummy_location, invalid_p == 0 */
2356 if (gdbarch_debug
>= 2)
2357 fprintf_unfiltered (gdb_stdlog
, "gdbarch_call_dummy_location called\n");
2358 return gdbarch
->call_dummy_location
;
2362 set_gdbarch_call_dummy_location (struct gdbarch
*gdbarch
,
2363 int call_dummy_location
)
2365 gdbarch
->call_dummy_location
= call_dummy_location
;
2369 gdbarch_push_dummy_code_p (struct gdbarch
*gdbarch
)
2371 gdb_assert (gdbarch
!= NULL
);
2372 return gdbarch
->push_dummy_code
!= NULL
;
2376 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
)
2378 gdb_assert (gdbarch
!= NULL
);
2379 gdb_assert (gdbarch
->push_dummy_code
!= NULL
);
2380 if (gdbarch_debug
>= 2)
2381 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_code called\n");
2382 return gdbarch
->push_dummy_code (gdbarch
, sp
, funaddr
, args
, nargs
, value_type
, real_pc
, bp_addr
, regcache
);
2386 set_gdbarch_push_dummy_code (struct gdbarch
*gdbarch
,
2387 gdbarch_push_dummy_code_ftype push_dummy_code
)
2389 gdbarch
->push_dummy_code
= push_dummy_code
;
2393 gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
2395 gdb_assert (gdbarch
!= NULL
);
2396 gdb_assert (gdbarch
->code_of_frame_writable
!= NULL
);
2397 if (gdbarch_debug
>= 2)
2398 fprintf_unfiltered (gdb_stdlog
, "gdbarch_code_of_frame_writable called\n");
2399 return gdbarch
->code_of_frame_writable (gdbarch
, frame
);
2403 set_gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
,
2404 gdbarch_code_of_frame_writable_ftype code_of_frame_writable
)
2406 gdbarch
->code_of_frame_writable
= code_of_frame_writable
;
2410 gdbarch_print_registers_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, int regnum
, int all
)
2412 gdb_assert (gdbarch
!= NULL
);
2413 gdb_assert (gdbarch
->print_registers_info
!= NULL
);
2414 if (gdbarch_debug
>= 2)
2415 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_registers_info called\n");
2416 gdbarch
->print_registers_info (gdbarch
, file
, frame
, regnum
, all
);
2420 set_gdbarch_print_registers_info (struct gdbarch
*gdbarch
,
2421 gdbarch_print_registers_info_ftype print_registers_info
)
2423 gdbarch
->print_registers_info
= print_registers_info
;
2427 gdbarch_print_float_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2429 gdb_assert (gdbarch
!= NULL
);
2430 gdb_assert (gdbarch
->print_float_info
!= NULL
);
2431 if (gdbarch_debug
>= 2)
2432 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_float_info called\n");
2433 gdbarch
->print_float_info (gdbarch
, file
, frame
, args
);
2437 set_gdbarch_print_float_info (struct gdbarch
*gdbarch
,
2438 gdbarch_print_float_info_ftype print_float_info
)
2440 gdbarch
->print_float_info
= print_float_info
;
2444 gdbarch_print_vector_info_p (struct gdbarch
*gdbarch
)
2446 gdb_assert (gdbarch
!= NULL
);
2447 return gdbarch
->print_vector_info
!= NULL
;
2451 gdbarch_print_vector_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2453 gdb_assert (gdbarch
!= NULL
);
2454 gdb_assert (gdbarch
->print_vector_info
!= NULL
);
2455 if (gdbarch_debug
>= 2)
2456 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_vector_info called\n");
2457 gdbarch
->print_vector_info (gdbarch
, file
, frame
, args
);
2461 set_gdbarch_print_vector_info (struct gdbarch
*gdbarch
,
2462 gdbarch_print_vector_info_ftype print_vector_info
)
2464 gdbarch
->print_vector_info
= print_vector_info
;
2468 gdbarch_register_sim_regno (struct gdbarch
*gdbarch
, int reg_nr
)
2470 gdb_assert (gdbarch
!= NULL
);
2471 gdb_assert (gdbarch
->register_sim_regno
!= NULL
);
2472 if (gdbarch_debug
>= 2)
2473 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_sim_regno called\n");
2474 return gdbarch
->register_sim_regno (gdbarch
, reg_nr
);
2478 set_gdbarch_register_sim_regno (struct gdbarch
*gdbarch
,
2479 gdbarch_register_sim_regno_ftype register_sim_regno
)
2481 gdbarch
->register_sim_regno
= register_sim_regno
;
2485 gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
, int regnum
)
2487 gdb_assert (gdbarch
!= NULL
);
2488 gdb_assert (gdbarch
->cannot_fetch_register
!= NULL
);
2489 if (gdbarch_debug
>= 2)
2490 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_fetch_register called\n");
2491 return gdbarch
->cannot_fetch_register (gdbarch
, regnum
);
2495 set_gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
,
2496 gdbarch_cannot_fetch_register_ftype cannot_fetch_register
)
2498 gdbarch
->cannot_fetch_register
= cannot_fetch_register
;
2502 gdbarch_cannot_store_register (struct gdbarch
*gdbarch
, int regnum
)
2504 gdb_assert (gdbarch
!= NULL
);
2505 gdb_assert (gdbarch
->cannot_store_register
!= NULL
);
2506 if (gdbarch_debug
>= 2)
2507 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_store_register called\n");
2508 return gdbarch
->cannot_store_register (gdbarch
, regnum
);
2512 set_gdbarch_cannot_store_register (struct gdbarch
*gdbarch
,
2513 gdbarch_cannot_store_register_ftype cannot_store_register
)
2515 gdbarch
->cannot_store_register
= cannot_store_register
;
2519 gdbarch_get_longjmp_target_p (struct gdbarch
*gdbarch
)
2521 gdb_assert (gdbarch
!= NULL
);
2522 return gdbarch
->get_longjmp_target
!= NULL
;
2526 gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR
*pc
)
2528 gdb_assert (gdbarch
!= NULL
);
2529 gdb_assert (gdbarch
->get_longjmp_target
!= NULL
);
2530 if (gdbarch_debug
>= 2)
2531 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_longjmp_target called\n");
2532 return gdbarch
->get_longjmp_target (frame
, pc
);
2536 set_gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
,
2537 gdbarch_get_longjmp_target_ftype get_longjmp_target
)
2539 gdbarch
->get_longjmp_target
= get_longjmp_target
;
2543 gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
)
2545 gdb_assert (gdbarch
!= NULL
);
2546 if (gdbarch_debug
>= 2)
2547 fprintf_unfiltered (gdb_stdlog
, "gdbarch_believe_pcc_promotion called\n");
2548 return gdbarch
->believe_pcc_promotion
;
2552 set_gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
,
2553 int believe_pcc_promotion
)
2555 gdbarch
->believe_pcc_promotion
= believe_pcc_promotion
;
2559 gdbarch_convert_register_p (struct gdbarch
*gdbarch
, int regnum
, struct type
*type
)
2561 gdb_assert (gdbarch
!= NULL
);
2562 gdb_assert (gdbarch
->convert_register_p
!= NULL
);
2563 if (gdbarch_debug
>= 2)
2564 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_register_p called\n");
2565 return gdbarch
->convert_register_p (gdbarch
, regnum
, type
);
2569 set_gdbarch_convert_register_p (struct gdbarch
*gdbarch
,
2570 gdbarch_convert_register_p_ftype convert_register_p
)
2572 gdbarch
->convert_register_p
= convert_register_p
;
2576 gdbarch_register_to_value (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, gdb_byte
*buf
, int *optimizedp
, int *unavailablep
)
2578 gdb_assert (gdbarch
!= NULL
);
2579 gdb_assert (gdbarch
->register_to_value
!= NULL
);
2580 if (gdbarch_debug
>= 2)
2581 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_to_value called\n");
2582 return gdbarch
->register_to_value (frame
, regnum
, type
, buf
, optimizedp
, unavailablep
);
2586 set_gdbarch_register_to_value (struct gdbarch
*gdbarch
,
2587 gdbarch_register_to_value_ftype register_to_value
)
2589 gdbarch
->register_to_value
= register_to_value
;
2593 gdbarch_value_to_register (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, const gdb_byte
*buf
)
2595 gdb_assert (gdbarch
!= NULL
);
2596 gdb_assert (gdbarch
->value_to_register
!= NULL
);
2597 if (gdbarch_debug
>= 2)
2598 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_to_register called\n");
2599 gdbarch
->value_to_register (frame
, regnum
, type
, buf
);
2603 set_gdbarch_value_to_register (struct gdbarch
*gdbarch
,
2604 gdbarch_value_to_register_ftype value_to_register
)
2606 gdbarch
->value_to_register
= value_to_register
;
2610 gdbarch_value_from_register (struct gdbarch
*gdbarch
, struct type
*type
, int regnum
, struct frame_id frame_id
)
2612 gdb_assert (gdbarch
!= NULL
);
2613 gdb_assert (gdbarch
->value_from_register
!= NULL
);
2614 if (gdbarch_debug
>= 2)
2615 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_from_register called\n");
2616 return gdbarch
->value_from_register (gdbarch
, type
, regnum
, frame_id
);
2620 set_gdbarch_value_from_register (struct gdbarch
*gdbarch
,
2621 gdbarch_value_from_register_ftype value_from_register
)
2623 gdbarch
->value_from_register
= value_from_register
;
2627 gdbarch_pointer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2629 gdb_assert (gdbarch
!= NULL
);
2630 gdb_assert (gdbarch
->pointer_to_address
!= NULL
);
2631 if (gdbarch_debug
>= 2)
2632 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pointer_to_address called\n");
2633 return gdbarch
->pointer_to_address (gdbarch
, type
, buf
);
2637 set_gdbarch_pointer_to_address (struct gdbarch
*gdbarch
,
2638 gdbarch_pointer_to_address_ftype pointer_to_address
)
2640 gdbarch
->pointer_to_address
= pointer_to_address
;
2644 gdbarch_address_to_pointer (struct gdbarch
*gdbarch
, struct type
*type
, gdb_byte
*buf
, CORE_ADDR addr
)
2646 gdb_assert (gdbarch
!= NULL
);
2647 gdb_assert (gdbarch
->address_to_pointer
!= NULL
);
2648 if (gdbarch_debug
>= 2)
2649 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_to_pointer called\n");
2650 gdbarch
->address_to_pointer (gdbarch
, type
, buf
, addr
);
2654 set_gdbarch_address_to_pointer (struct gdbarch
*gdbarch
,
2655 gdbarch_address_to_pointer_ftype address_to_pointer
)
2657 gdbarch
->address_to_pointer
= address_to_pointer
;
2661 gdbarch_integer_to_address_p (struct gdbarch
*gdbarch
)
2663 gdb_assert (gdbarch
!= NULL
);
2664 return gdbarch
->integer_to_address
!= NULL
;
2668 gdbarch_integer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2670 gdb_assert (gdbarch
!= NULL
);
2671 gdb_assert (gdbarch
->integer_to_address
!= NULL
);
2672 if (gdbarch_debug
>= 2)
2673 fprintf_unfiltered (gdb_stdlog
, "gdbarch_integer_to_address called\n");
2674 return gdbarch
->integer_to_address (gdbarch
, type
, buf
);
2678 set_gdbarch_integer_to_address (struct gdbarch
*gdbarch
,
2679 gdbarch_integer_to_address_ftype integer_to_address
)
2681 gdbarch
->integer_to_address
= integer_to_address
;
2685 gdbarch_return_value_p (struct gdbarch
*gdbarch
)
2687 gdb_assert (gdbarch
!= NULL
);
2688 return gdbarch
->return_value
!= NULL
;
2691 enum return_value_convention
2692 gdbarch_return_value (struct gdbarch
*gdbarch
, struct value
*function
, struct type
*valtype
, struct regcache
*regcache
, gdb_byte
*readbuf
, const gdb_byte
*writebuf
)
2694 gdb_assert (gdbarch
!= NULL
);
2695 gdb_assert (gdbarch
->return_value
!= NULL
);
2696 if (gdbarch_debug
>= 2)
2697 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_value called\n");
2698 return gdbarch
->return_value (gdbarch
, function
, valtype
, regcache
, readbuf
, writebuf
);
2702 set_gdbarch_return_value (struct gdbarch
*gdbarch
,
2703 gdbarch_return_value_ftype return_value
)
2705 gdbarch
->return_value
= return_value
;
2709 gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
, struct type
*type
)
2711 gdb_assert (gdbarch
!= NULL
);
2712 gdb_assert (gdbarch
->return_in_first_hidden_param_p
!= NULL
);
2713 if (gdbarch_debug
>= 2)
2714 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_in_first_hidden_param_p called\n");
2715 return gdbarch
->return_in_first_hidden_param_p (gdbarch
, type
);
2719 set_gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
,
2720 gdbarch_return_in_first_hidden_param_p_ftype return_in_first_hidden_param_p
)
2722 gdbarch
->return_in_first_hidden_param_p
= return_in_first_hidden_param_p
;
2726 gdbarch_skip_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2728 gdb_assert (gdbarch
!= NULL
);
2729 gdb_assert (gdbarch
->skip_prologue
!= NULL
);
2730 if (gdbarch_debug
>= 2)
2731 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_prologue called\n");
2732 return gdbarch
->skip_prologue (gdbarch
, ip
);
2736 set_gdbarch_skip_prologue (struct gdbarch
*gdbarch
,
2737 gdbarch_skip_prologue_ftype skip_prologue
)
2739 gdbarch
->skip_prologue
= skip_prologue
;
2743 gdbarch_skip_main_prologue_p (struct gdbarch
*gdbarch
)
2745 gdb_assert (gdbarch
!= NULL
);
2746 return gdbarch
->skip_main_prologue
!= NULL
;
2750 gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2752 gdb_assert (gdbarch
!= NULL
);
2753 gdb_assert (gdbarch
->skip_main_prologue
!= NULL
);
2754 if (gdbarch_debug
>= 2)
2755 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_main_prologue called\n");
2756 return gdbarch
->skip_main_prologue (gdbarch
, ip
);
2760 set_gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
,
2761 gdbarch_skip_main_prologue_ftype skip_main_prologue
)
2763 gdbarch
->skip_main_prologue
= skip_main_prologue
;
2767 gdbarch_skip_entrypoint_p (struct gdbarch
*gdbarch
)
2769 gdb_assert (gdbarch
!= NULL
);
2770 return gdbarch
->skip_entrypoint
!= NULL
;
2774 gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2776 gdb_assert (gdbarch
!= NULL
);
2777 gdb_assert (gdbarch
->skip_entrypoint
!= NULL
);
2778 if (gdbarch_debug
>= 2)
2779 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_entrypoint called\n");
2780 return gdbarch
->skip_entrypoint (gdbarch
, ip
);
2784 set_gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
,
2785 gdbarch_skip_entrypoint_ftype skip_entrypoint
)
2787 gdbarch
->skip_entrypoint
= skip_entrypoint
;
2791 gdbarch_inner_than (struct gdbarch
*gdbarch
, CORE_ADDR lhs
, CORE_ADDR rhs
)
2793 gdb_assert (gdbarch
!= NULL
);
2794 gdb_assert (gdbarch
->inner_than
!= NULL
);
2795 if (gdbarch_debug
>= 2)
2796 fprintf_unfiltered (gdb_stdlog
, "gdbarch_inner_than called\n");
2797 return gdbarch
->inner_than (lhs
, rhs
);
2801 set_gdbarch_inner_than (struct gdbarch
*gdbarch
,
2802 gdbarch_inner_than_ftype inner_than
)
2804 gdbarch
->inner_than
= inner_than
;
2808 gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
, int *lenptr
)
2810 gdb_assert (gdbarch
!= NULL
);
2811 gdb_assert (gdbarch
->breakpoint_from_pc
!= NULL
);
2812 if (gdbarch_debug
>= 2)
2813 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_from_pc called\n");
2814 return gdbarch
->breakpoint_from_pc (gdbarch
, pcptr
, lenptr
);
2818 set_gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
,
2819 gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc
)
2821 gdbarch
->breakpoint_from_pc
= breakpoint_from_pc
;
2825 gdbarch_breakpoint_kind_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
)
2827 gdb_assert (gdbarch
!= NULL
);
2828 gdb_assert (gdbarch
->breakpoint_kind_from_pc
!= NULL
);
2829 if (gdbarch_debug
>= 2)
2830 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_kind_from_pc called\n");
2831 return gdbarch
->breakpoint_kind_from_pc (gdbarch
, pcptr
);
2835 set_gdbarch_breakpoint_kind_from_pc (struct gdbarch
*gdbarch
,
2836 gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc
)
2838 gdbarch
->breakpoint_kind_from_pc
= breakpoint_kind_from_pc
;
2842 gdbarch_sw_breakpoint_from_kind (struct gdbarch
*gdbarch
, int kind
, int *size
)
2844 gdb_assert (gdbarch
!= NULL
);
2845 gdb_assert (gdbarch
->sw_breakpoint_from_kind
!= NULL
);
2846 if (gdbarch_debug
>= 2)
2847 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sw_breakpoint_from_kind called\n");
2848 return gdbarch
->sw_breakpoint_from_kind (gdbarch
, kind
, size
);
2852 set_gdbarch_sw_breakpoint_from_kind (struct gdbarch
*gdbarch
,
2853 gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind
)
2855 gdbarch
->sw_breakpoint_from_kind
= sw_breakpoint_from_kind
;
2859 gdbarch_breakpoint_kind_from_current_state (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR
*pcptr
)
2861 gdb_assert (gdbarch
!= NULL
);
2862 gdb_assert (gdbarch
->breakpoint_kind_from_current_state
!= NULL
);
2863 if (gdbarch_debug
>= 2)
2864 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_kind_from_current_state called\n");
2865 return gdbarch
->breakpoint_kind_from_current_state (gdbarch
, regcache
, pcptr
);
2869 set_gdbarch_breakpoint_kind_from_current_state (struct gdbarch
*gdbarch
,
2870 gdbarch_breakpoint_kind_from_current_state_ftype breakpoint_kind_from_current_state
)
2872 gdbarch
->breakpoint_kind_from_current_state
= breakpoint_kind_from_current_state
;
2876 gdbarch_adjust_breakpoint_address_p (struct gdbarch
*gdbarch
)
2878 gdb_assert (gdbarch
!= NULL
);
2879 return gdbarch
->adjust_breakpoint_address
!= NULL
;
2883 gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
, CORE_ADDR bpaddr
)
2885 gdb_assert (gdbarch
!= NULL
);
2886 gdb_assert (gdbarch
->adjust_breakpoint_address
!= NULL
);
2887 if (gdbarch_debug
>= 2)
2888 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_breakpoint_address called\n");
2889 return gdbarch
->adjust_breakpoint_address (gdbarch
, bpaddr
);
2893 set_gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
,
2894 gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address
)
2896 gdbarch
->adjust_breakpoint_address
= adjust_breakpoint_address
;
2900 gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2902 gdb_assert (gdbarch
!= NULL
);
2903 gdb_assert (gdbarch
->memory_insert_breakpoint
!= NULL
);
2904 if (gdbarch_debug
>= 2)
2905 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_insert_breakpoint called\n");
2906 return gdbarch
->memory_insert_breakpoint (gdbarch
, bp_tgt
);
2910 set_gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
,
2911 gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint
)
2913 gdbarch
->memory_insert_breakpoint
= memory_insert_breakpoint
;
2917 gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2919 gdb_assert (gdbarch
!= NULL
);
2920 gdb_assert (gdbarch
->memory_remove_breakpoint
!= NULL
);
2921 if (gdbarch_debug
>= 2)
2922 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_remove_breakpoint called\n");
2923 return gdbarch
->memory_remove_breakpoint (gdbarch
, bp_tgt
);
2927 set_gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
,
2928 gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint
)
2930 gdbarch
->memory_remove_breakpoint
= memory_remove_breakpoint
;
2934 gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
)
2936 gdb_assert (gdbarch
!= NULL
);
2937 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
2938 if (gdbarch_debug
>= 2)
2939 fprintf_unfiltered (gdb_stdlog
, "gdbarch_decr_pc_after_break called\n");
2940 return gdbarch
->decr_pc_after_break
;
2944 set_gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
,
2945 CORE_ADDR decr_pc_after_break
)
2947 gdbarch
->decr_pc_after_break
= decr_pc_after_break
;
2951 gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
)
2953 gdb_assert (gdbarch
!= NULL
);
2954 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
2955 if (gdbarch_debug
>= 2)
2956 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_function_start_offset called\n");
2957 return gdbarch
->deprecated_function_start_offset
;
2961 set_gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
,
2962 CORE_ADDR deprecated_function_start_offset
)
2964 gdbarch
->deprecated_function_start_offset
= deprecated_function_start_offset
;
2968 gdbarch_remote_register_number (struct gdbarch
*gdbarch
, int regno
)
2970 gdb_assert (gdbarch
!= NULL
);
2971 gdb_assert (gdbarch
->remote_register_number
!= NULL
);
2972 if (gdbarch_debug
>= 2)
2973 fprintf_unfiltered (gdb_stdlog
, "gdbarch_remote_register_number called\n");
2974 return gdbarch
->remote_register_number (gdbarch
, regno
);
2978 set_gdbarch_remote_register_number (struct gdbarch
*gdbarch
,
2979 gdbarch_remote_register_number_ftype remote_register_number
)
2981 gdbarch
->remote_register_number
= remote_register_number
;
2985 gdbarch_fetch_tls_load_module_address_p (struct gdbarch
*gdbarch
)
2987 gdb_assert (gdbarch
!= NULL
);
2988 return gdbarch
->fetch_tls_load_module_address
!= NULL
;
2992 gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
, struct objfile
*objfile
)
2994 gdb_assert (gdbarch
!= NULL
);
2995 gdb_assert (gdbarch
->fetch_tls_load_module_address
!= NULL
);
2996 if (gdbarch_debug
>= 2)
2997 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_tls_load_module_address called\n");
2998 return gdbarch
->fetch_tls_load_module_address (objfile
);
3002 set_gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
,
3003 gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address
)
3005 gdbarch
->fetch_tls_load_module_address
= fetch_tls_load_module_address
;
3009 gdbarch_get_thread_local_address_p (struct gdbarch
*gdbarch
)
3011 gdb_assert (gdbarch
!= NULL
);
3012 return gdbarch
->get_thread_local_address
!= NULL
;
3016 gdbarch_get_thread_local_address (struct gdbarch
*gdbarch
, ptid_t ptid
, CORE_ADDR lm_addr
, CORE_ADDR offset
)
3018 gdb_assert (gdbarch
!= NULL
);
3019 gdb_assert (gdbarch
->get_thread_local_address
!= NULL
);
3020 if (gdbarch_debug
>= 2)
3021 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_thread_local_address called\n");
3022 return gdbarch
->get_thread_local_address (gdbarch
, ptid
, lm_addr
, offset
);
3026 set_gdbarch_get_thread_local_address (struct gdbarch
*gdbarch
,
3027 gdbarch_get_thread_local_address_ftype get_thread_local_address
)
3029 gdbarch
->get_thread_local_address
= get_thread_local_address
;
3033 gdbarch_frame_args_skip (struct gdbarch
*gdbarch
)
3035 gdb_assert (gdbarch
!= NULL
);
3036 /* Skip verify of frame_args_skip, invalid_p == 0 */
3037 if (gdbarch_debug
>= 2)
3038 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_args_skip called\n");
3039 return gdbarch
->frame_args_skip
;
3043 set_gdbarch_frame_args_skip (struct gdbarch
*gdbarch
,
3044 CORE_ADDR frame_args_skip
)
3046 gdbarch
->frame_args_skip
= frame_args_skip
;
3050 gdbarch_unwind_pc (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
3052 gdb_assert (gdbarch
!= NULL
);
3053 gdb_assert (gdbarch
->unwind_pc
!= NULL
);
3054 if (gdbarch_debug
>= 2)
3055 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_pc called\n");
3056 return gdbarch
->unwind_pc (gdbarch
, next_frame
);
3060 set_gdbarch_unwind_pc (struct gdbarch
*gdbarch
,
3061 gdbarch_unwind_pc_ftype unwind_pc
)
3063 gdbarch
->unwind_pc
= unwind_pc
;
3067 gdbarch_unwind_sp (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
3069 gdb_assert (gdbarch
!= NULL
);
3070 gdb_assert (gdbarch
->unwind_sp
!= NULL
);
3071 if (gdbarch_debug
>= 2)
3072 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_sp called\n");
3073 return gdbarch
->unwind_sp (gdbarch
, next_frame
);
3077 set_gdbarch_unwind_sp (struct gdbarch
*gdbarch
,
3078 gdbarch_unwind_sp_ftype unwind_sp
)
3080 gdbarch
->unwind_sp
= unwind_sp
;
3084 gdbarch_frame_num_args_p (struct gdbarch
*gdbarch
)
3086 gdb_assert (gdbarch
!= NULL
);
3087 return gdbarch
->frame_num_args
!= NULL
;
3091 gdbarch_frame_num_args (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3093 gdb_assert (gdbarch
!= NULL
);
3094 gdb_assert (gdbarch
->frame_num_args
!= NULL
);
3095 if (gdbarch_debug
>= 2)
3096 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_num_args called\n");
3097 return gdbarch
->frame_num_args (frame
);
3101 set_gdbarch_frame_num_args (struct gdbarch
*gdbarch
,
3102 gdbarch_frame_num_args_ftype frame_num_args
)
3104 gdbarch
->frame_num_args
= frame_num_args
;
3108 gdbarch_frame_align_p (struct gdbarch
*gdbarch
)
3110 gdb_assert (gdbarch
!= NULL
);
3111 return gdbarch
->frame_align
!= NULL
;
3115 gdbarch_frame_align (struct gdbarch
*gdbarch
, CORE_ADDR address
)
3117 gdb_assert (gdbarch
!= NULL
);
3118 gdb_assert (gdbarch
->frame_align
!= NULL
);
3119 if (gdbarch_debug
>= 2)
3120 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_align called\n");
3121 return gdbarch
->frame_align (gdbarch
, address
);
3125 set_gdbarch_frame_align (struct gdbarch
*gdbarch
,
3126 gdbarch_frame_align_ftype frame_align
)
3128 gdbarch
->frame_align
= frame_align
;
3132 gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
, struct type
*type
)
3134 gdb_assert (gdbarch
!= NULL
);
3135 gdb_assert (gdbarch
->stabs_argument_has_addr
!= NULL
);
3136 if (gdbarch_debug
>= 2)
3137 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stabs_argument_has_addr called\n");
3138 return gdbarch
->stabs_argument_has_addr (gdbarch
, type
);
3142 set_gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
,
3143 gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr
)
3145 gdbarch
->stabs_argument_has_addr
= stabs_argument_has_addr
;
3149 gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
)
3151 gdb_assert (gdbarch
!= NULL
);
3152 if (gdbarch_debug
>= 2)
3153 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_red_zone_size called\n");
3154 return gdbarch
->frame_red_zone_size
;
3158 set_gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
,
3159 int frame_red_zone_size
)
3161 gdbarch
->frame_red_zone_size
= frame_red_zone_size
;
3165 gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
, CORE_ADDR addr
, struct target_ops
*targ
)
3167 gdb_assert (gdbarch
!= NULL
);
3168 gdb_assert (gdbarch
->convert_from_func_ptr_addr
!= NULL
);
3169 if (gdbarch_debug
>= 2)
3170 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_from_func_ptr_addr called\n");
3171 return gdbarch
->convert_from_func_ptr_addr (gdbarch
, addr
, targ
);
3175 set_gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
,
3176 gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr
)
3178 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr
;
3182 gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3184 gdb_assert (gdbarch
!= NULL
);
3185 gdb_assert (gdbarch
->addr_bits_remove
!= NULL
);
3186 if (gdbarch_debug
>= 2)
3187 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bits_remove called\n");
3188 return gdbarch
->addr_bits_remove (gdbarch
, addr
);
3192 set_gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
,
3193 gdbarch_addr_bits_remove_ftype addr_bits_remove
)
3195 gdbarch
->addr_bits_remove
= addr_bits_remove
;
3199 gdbarch_significant_addr_bit (struct gdbarch
*gdbarch
)
3201 gdb_assert (gdbarch
!= NULL
);
3202 /* Skip verify of significant_addr_bit, invalid_p == 0 */
3203 if (gdbarch_debug
>= 2)
3204 fprintf_unfiltered (gdb_stdlog
, "gdbarch_significant_addr_bit called\n");
3205 return gdbarch
->significant_addr_bit
;
3209 set_gdbarch_significant_addr_bit (struct gdbarch
*gdbarch
,
3210 int significant_addr_bit
)
3212 gdbarch
->significant_addr_bit
= significant_addr_bit
;
3216 gdbarch_software_single_step_p (struct gdbarch
*gdbarch
)
3218 gdb_assert (gdbarch
!= NULL
);
3219 return gdbarch
->software_single_step
!= NULL
;
3222 std::vector
<CORE_ADDR
>
3223 gdbarch_software_single_step (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
3225 gdb_assert (gdbarch
!= NULL
);
3226 gdb_assert (gdbarch
->software_single_step
!= NULL
);
3227 if (gdbarch_debug
>= 2)
3228 fprintf_unfiltered (gdb_stdlog
, "gdbarch_software_single_step called\n");
3229 return gdbarch
->software_single_step (regcache
);
3233 set_gdbarch_software_single_step (struct gdbarch
*gdbarch
,
3234 gdbarch_software_single_step_ftype software_single_step
)
3236 gdbarch
->software_single_step
= software_single_step
;
3240 gdbarch_single_step_through_delay_p (struct gdbarch
*gdbarch
)
3242 gdb_assert (gdbarch
!= NULL
);
3243 return gdbarch
->single_step_through_delay
!= NULL
;
3247 gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3249 gdb_assert (gdbarch
!= NULL
);
3250 gdb_assert (gdbarch
->single_step_through_delay
!= NULL
);
3251 if (gdbarch_debug
>= 2)
3252 fprintf_unfiltered (gdb_stdlog
, "gdbarch_single_step_through_delay called\n");
3253 return gdbarch
->single_step_through_delay (gdbarch
, frame
);
3257 set_gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
,
3258 gdbarch_single_step_through_delay_ftype single_step_through_delay
)
3260 gdbarch
->single_step_through_delay
= single_step_through_delay
;
3264 gdbarch_print_insn (struct gdbarch
*gdbarch
, bfd_vma vma
, struct disassemble_info
*info
)
3266 gdb_assert (gdbarch
!= NULL
);
3267 gdb_assert (gdbarch
->print_insn
!= NULL
);
3268 if (gdbarch_debug
>= 2)
3269 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_insn called\n");
3270 return gdbarch
->print_insn (vma
, info
);
3274 set_gdbarch_print_insn (struct gdbarch
*gdbarch
,
3275 gdbarch_print_insn_ftype print_insn
)
3277 gdbarch
->print_insn
= print_insn
;
3281 gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR pc
)
3283 gdb_assert (gdbarch
!= NULL
);
3284 gdb_assert (gdbarch
->skip_trampoline_code
!= NULL
);
3285 if (gdbarch_debug
>= 2)
3286 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_trampoline_code called\n");
3287 return gdbarch
->skip_trampoline_code (frame
, pc
);
3291 set_gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
,
3292 gdbarch_skip_trampoline_code_ftype skip_trampoline_code
)
3294 gdbarch
->skip_trampoline_code
= skip_trampoline_code
;
3298 gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3300 gdb_assert (gdbarch
!= NULL
);
3301 gdb_assert (gdbarch
->skip_solib_resolver
!= NULL
);
3302 if (gdbarch_debug
>= 2)
3303 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_solib_resolver called\n");
3304 return gdbarch
->skip_solib_resolver (gdbarch
, pc
);
3308 set_gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
,
3309 gdbarch_skip_solib_resolver_ftype skip_solib_resolver
)
3311 gdbarch
->skip_solib_resolver
= skip_solib_resolver
;
3315 gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
, CORE_ADDR pc
, const char *name
)
3317 gdb_assert (gdbarch
!= NULL
);
3318 gdb_assert (gdbarch
->in_solib_return_trampoline
!= NULL
);
3319 if (gdbarch_debug
>= 2)
3320 fprintf_unfiltered (gdb_stdlog
, "gdbarch_in_solib_return_trampoline called\n");
3321 return gdbarch
->in_solib_return_trampoline (gdbarch
, pc
, name
);
3325 set_gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
,
3326 gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline
)
3328 gdbarch
->in_solib_return_trampoline
= in_solib_return_trampoline
;
3332 gdbarch_in_indirect_branch_thunk (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3334 gdb_assert (gdbarch
!= NULL
);
3335 gdb_assert (gdbarch
->in_indirect_branch_thunk
!= NULL
);
3336 if (gdbarch_debug
>= 2)
3337 fprintf_unfiltered (gdb_stdlog
, "gdbarch_in_indirect_branch_thunk called\n");
3338 return gdbarch
->in_indirect_branch_thunk (gdbarch
, pc
);
3342 set_gdbarch_in_indirect_branch_thunk (struct gdbarch
*gdbarch
,
3343 gdbarch_in_indirect_branch_thunk_ftype in_indirect_branch_thunk
)
3345 gdbarch
->in_indirect_branch_thunk
= in_indirect_branch_thunk
;
3349 gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3351 gdb_assert (gdbarch
!= NULL
);
3352 gdb_assert (gdbarch
->stack_frame_destroyed_p
!= NULL
);
3353 if (gdbarch_debug
>= 2)
3354 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stack_frame_destroyed_p called\n");
3355 return gdbarch
->stack_frame_destroyed_p (gdbarch
, addr
);
3359 set_gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
,
3360 gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p
)
3362 gdbarch
->stack_frame_destroyed_p
= stack_frame_destroyed_p
;
3366 gdbarch_elf_make_msymbol_special_p (struct gdbarch
*gdbarch
)
3368 gdb_assert (gdbarch
!= NULL
);
3369 return gdbarch
->elf_make_msymbol_special
!= NULL
;
3373 gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
, asymbol
*sym
, struct minimal_symbol
*msym
)
3375 gdb_assert (gdbarch
!= NULL
);
3376 gdb_assert (gdbarch
->elf_make_msymbol_special
!= NULL
);
3377 if (gdbarch_debug
>= 2)
3378 fprintf_unfiltered (gdb_stdlog
, "gdbarch_elf_make_msymbol_special called\n");
3379 gdbarch
->elf_make_msymbol_special (sym
, msym
);
3383 set_gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
,
3384 gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special
)
3386 gdbarch
->elf_make_msymbol_special
= elf_make_msymbol_special
;
3390 gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
, int val
, struct minimal_symbol
*msym
)
3392 gdb_assert (gdbarch
!= NULL
);
3393 gdb_assert (gdbarch
->coff_make_msymbol_special
!= NULL
);
3394 if (gdbarch_debug
>= 2)
3395 fprintf_unfiltered (gdb_stdlog
, "gdbarch_coff_make_msymbol_special called\n");
3396 gdbarch
->coff_make_msymbol_special (val
, msym
);
3400 set_gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
,
3401 gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special
)
3403 gdbarch
->coff_make_msymbol_special
= coff_make_msymbol_special
;
3407 gdbarch_make_symbol_special (struct gdbarch
*gdbarch
, struct symbol
*sym
, struct objfile
*objfile
)
3409 gdb_assert (gdbarch
!= NULL
);
3410 gdb_assert (gdbarch
->make_symbol_special
!= NULL
);
3411 if (gdbarch_debug
>= 2)
3412 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_symbol_special called\n");
3413 gdbarch
->make_symbol_special (sym
, objfile
);
3417 set_gdbarch_make_symbol_special (struct gdbarch
*gdbarch
,
3418 gdbarch_make_symbol_special_ftype make_symbol_special
)
3420 gdbarch
->make_symbol_special
= make_symbol_special
;
3424 gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3426 gdb_assert (gdbarch
!= NULL
);
3427 gdb_assert (gdbarch
->adjust_dwarf2_addr
!= NULL
);
3428 if (gdbarch_debug
>= 2)
3429 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_addr called\n");
3430 return gdbarch
->adjust_dwarf2_addr (pc
);
3434 set_gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
,
3435 gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr
)
3437 gdbarch
->adjust_dwarf2_addr
= adjust_dwarf2_addr
;
3441 gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
, CORE_ADDR addr
, int rel
)
3443 gdb_assert (gdbarch
!= NULL
);
3444 gdb_assert (gdbarch
->adjust_dwarf2_line
!= NULL
);
3445 if (gdbarch_debug
>= 2)
3446 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_line called\n");
3447 return gdbarch
->adjust_dwarf2_line (addr
, rel
);
3451 set_gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
,
3452 gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line
)
3454 gdbarch
->adjust_dwarf2_line
= adjust_dwarf2_line
;
3458 gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
)
3460 gdb_assert (gdbarch
!= NULL
);
3461 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
3462 if (gdbarch_debug
>= 2)
3463 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_step_breakpoint called\n");
3464 return gdbarch
->cannot_step_breakpoint
;
3468 set_gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
,
3469 int cannot_step_breakpoint
)
3471 gdbarch
->cannot_step_breakpoint
= cannot_step_breakpoint
;
3475 gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
)
3477 gdb_assert (gdbarch
!= NULL
);
3478 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
3479 if (gdbarch_debug
>= 2)
3480 fprintf_unfiltered (gdb_stdlog
, "gdbarch_have_nonsteppable_watchpoint called\n");
3481 return gdbarch
->have_nonsteppable_watchpoint
;
3485 set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
,
3486 int have_nonsteppable_watchpoint
)
3488 gdbarch
->have_nonsteppable_watchpoint
= have_nonsteppable_watchpoint
;
3492 gdbarch_address_class_type_flags_p (struct gdbarch
*gdbarch
)
3494 gdb_assert (gdbarch
!= NULL
);
3495 return gdbarch
->address_class_type_flags
!= NULL
;
3499 gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
, int byte_size
, int dwarf2_addr_class
)
3501 gdb_assert (gdbarch
!= NULL
);
3502 gdb_assert (gdbarch
->address_class_type_flags
!= NULL
);
3503 if (gdbarch_debug
>= 2)
3504 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags called\n");
3505 return gdbarch
->address_class_type_flags (byte_size
, dwarf2_addr_class
);
3509 set_gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
,
3510 gdbarch_address_class_type_flags_ftype address_class_type_flags
)
3512 gdbarch
->address_class_type_flags
= address_class_type_flags
;
3516 gdbarch_address_class_type_flags_to_name_p (struct gdbarch
*gdbarch
)
3518 gdb_assert (gdbarch
!= NULL
);
3519 return gdbarch
->address_class_type_flags_to_name
!= NULL
;
3523 gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
, int type_flags
)
3525 gdb_assert (gdbarch
!= NULL
);
3526 gdb_assert (gdbarch
->address_class_type_flags_to_name
!= NULL
);
3527 if (gdbarch_debug
>= 2)
3528 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags_to_name called\n");
3529 return gdbarch
->address_class_type_flags_to_name (gdbarch
, type_flags
);
3533 set_gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
,
3534 gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name
)
3536 gdbarch
->address_class_type_flags_to_name
= address_class_type_flags_to_name
;
3540 gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch
*gdbarch
, gdb_byte op
, struct dwarf2_frame_state
*fs
)
3542 gdb_assert (gdbarch
!= NULL
);
3543 gdb_assert (gdbarch
->execute_dwarf_cfa_vendor_op
!= NULL
);
3544 if (gdbarch_debug
>= 2)
3545 fprintf_unfiltered (gdb_stdlog
, "gdbarch_execute_dwarf_cfa_vendor_op called\n");
3546 return gdbarch
->execute_dwarf_cfa_vendor_op (gdbarch
, op
, fs
);
3550 set_gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch
*gdbarch
,
3551 gdbarch_execute_dwarf_cfa_vendor_op_ftype execute_dwarf_cfa_vendor_op
)
3553 gdbarch
->execute_dwarf_cfa_vendor_op
= execute_dwarf_cfa_vendor_op
;
3557 gdbarch_address_class_name_to_type_flags_p (struct gdbarch
*gdbarch
)
3559 gdb_assert (gdbarch
!= NULL
);
3560 return gdbarch
->address_class_name_to_type_flags
!= NULL
;
3564 gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
, const char *name
, int *type_flags_ptr
)
3566 gdb_assert (gdbarch
!= NULL
);
3567 gdb_assert (gdbarch
->address_class_name_to_type_flags
!= NULL
);
3568 if (gdbarch_debug
>= 2)
3569 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_name_to_type_flags called\n");
3570 return gdbarch
->address_class_name_to_type_flags (gdbarch
, name
, type_flags_ptr
);
3574 set_gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
,
3575 gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags
)
3577 gdbarch
->address_class_name_to_type_flags
= address_class_name_to_type_flags
;
3581 gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
, int regnum
, struct reggroup
*reggroup
)
3583 gdb_assert (gdbarch
!= NULL
);
3584 gdb_assert (gdbarch
->register_reggroup_p
!= NULL
);
3585 if (gdbarch_debug
>= 2)
3586 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_reggroup_p called\n");
3587 return gdbarch
->register_reggroup_p (gdbarch
, regnum
, reggroup
);
3591 set_gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
,
3592 gdbarch_register_reggroup_p_ftype register_reggroup_p
)
3594 gdbarch
->register_reggroup_p
= register_reggroup_p
;
3598 gdbarch_fetch_pointer_argument_p (struct gdbarch
*gdbarch
)
3600 gdb_assert (gdbarch
!= NULL
);
3601 return gdbarch
->fetch_pointer_argument
!= NULL
;
3605 gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int argi
, struct type
*type
)
3607 gdb_assert (gdbarch
!= NULL
);
3608 gdb_assert (gdbarch
->fetch_pointer_argument
!= NULL
);
3609 if (gdbarch_debug
>= 2)
3610 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_pointer_argument called\n");
3611 return gdbarch
->fetch_pointer_argument (frame
, argi
, type
);
3615 set_gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
,
3616 gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument
)
3618 gdbarch
->fetch_pointer_argument
= fetch_pointer_argument
;
3622 gdbarch_iterate_over_regset_sections_p (struct gdbarch
*gdbarch
)
3624 gdb_assert (gdbarch
!= NULL
);
3625 return gdbarch
->iterate_over_regset_sections
!= NULL
;
3629 gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
, iterate_over_regset_sections_cb
*cb
, void *cb_data
, const struct regcache
*regcache
)
3631 gdb_assert (gdbarch
!= NULL
);
3632 gdb_assert (gdbarch
->iterate_over_regset_sections
!= NULL
);
3633 if (gdbarch_debug
>= 2)
3634 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_regset_sections called\n");
3635 gdbarch
->iterate_over_regset_sections (gdbarch
, cb
, cb_data
, regcache
);
3639 set_gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
,
3640 gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections
)
3642 gdbarch
->iterate_over_regset_sections
= iterate_over_regset_sections
;
3646 gdbarch_make_corefile_notes_p (struct gdbarch
*gdbarch
)
3648 gdb_assert (gdbarch
!= NULL
);
3649 return gdbarch
->make_corefile_notes
!= NULL
;
3653 gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
, bfd
*obfd
, int *note_size
)
3655 gdb_assert (gdbarch
!= NULL
);
3656 gdb_assert (gdbarch
->make_corefile_notes
!= NULL
);
3657 if (gdbarch_debug
>= 2)
3658 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_corefile_notes called\n");
3659 return gdbarch
->make_corefile_notes (gdbarch
, obfd
, note_size
);
3663 set_gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
,
3664 gdbarch_make_corefile_notes_ftype make_corefile_notes
)
3666 gdbarch
->make_corefile_notes
= make_corefile_notes
;
3670 gdbarch_find_memory_regions_p (struct gdbarch
*gdbarch
)
3672 gdb_assert (gdbarch
!= NULL
);
3673 return gdbarch
->find_memory_regions
!= NULL
;
3677 gdbarch_find_memory_regions (struct gdbarch
*gdbarch
, find_memory_region_ftype func
, void *data
)
3679 gdb_assert (gdbarch
!= NULL
);
3680 gdb_assert (gdbarch
->find_memory_regions
!= NULL
);
3681 if (gdbarch_debug
>= 2)
3682 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_memory_regions called\n");
3683 return gdbarch
->find_memory_regions (gdbarch
, func
, data
);
3687 set_gdbarch_find_memory_regions (struct gdbarch
*gdbarch
,
3688 gdbarch_find_memory_regions_ftype find_memory_regions
)
3690 gdbarch
->find_memory_regions
= find_memory_regions
;
3694 gdbarch_core_xfer_shared_libraries_p (struct gdbarch
*gdbarch
)
3696 gdb_assert (gdbarch
!= NULL
);
3697 return gdbarch
->core_xfer_shared_libraries
!= NULL
;
3701 gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3703 gdb_assert (gdbarch
!= NULL
);
3704 gdb_assert (gdbarch
->core_xfer_shared_libraries
!= NULL
);
3705 if (gdbarch_debug
>= 2)
3706 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries called\n");
3707 return gdbarch
->core_xfer_shared_libraries (gdbarch
, readbuf
, offset
, len
);
3711 set_gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
,
3712 gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries
)
3714 gdbarch
->core_xfer_shared_libraries
= core_xfer_shared_libraries
;
3718 gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch
*gdbarch
)
3720 gdb_assert (gdbarch
!= NULL
);
3721 return gdbarch
->core_xfer_shared_libraries_aix
!= NULL
;
3725 gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3727 gdb_assert (gdbarch
!= NULL
);
3728 gdb_assert (gdbarch
->core_xfer_shared_libraries_aix
!= NULL
);
3729 if (gdbarch_debug
>= 2)
3730 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries_aix called\n");
3731 return gdbarch
->core_xfer_shared_libraries_aix (gdbarch
, readbuf
, offset
, len
);
3735 set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
,
3736 gdbarch_core_xfer_shared_libraries_aix_ftype core_xfer_shared_libraries_aix
)
3738 gdbarch
->core_xfer_shared_libraries_aix
= core_xfer_shared_libraries_aix
;
3742 gdbarch_core_pid_to_str_p (struct gdbarch
*gdbarch
)
3744 gdb_assert (gdbarch
!= NULL
);
3745 return gdbarch
->core_pid_to_str
!= NULL
;
3749 gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
, ptid_t ptid
)
3751 gdb_assert (gdbarch
!= NULL
);
3752 gdb_assert (gdbarch
->core_pid_to_str
!= NULL
);
3753 if (gdbarch_debug
>= 2)
3754 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_pid_to_str called\n");
3755 return gdbarch
->core_pid_to_str (gdbarch
, ptid
);
3759 set_gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
,
3760 gdbarch_core_pid_to_str_ftype core_pid_to_str
)
3762 gdbarch
->core_pid_to_str
= core_pid_to_str
;
3766 gdbarch_core_thread_name_p (struct gdbarch
*gdbarch
)
3768 gdb_assert (gdbarch
!= NULL
);
3769 return gdbarch
->core_thread_name
!= NULL
;
3773 gdbarch_core_thread_name (struct gdbarch
*gdbarch
, struct thread_info
*thr
)
3775 gdb_assert (gdbarch
!= NULL
);
3776 gdb_assert (gdbarch
->core_thread_name
!= NULL
);
3777 if (gdbarch_debug
>= 2)
3778 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_thread_name called\n");
3779 return gdbarch
->core_thread_name (gdbarch
, thr
);
3783 set_gdbarch_core_thread_name (struct gdbarch
*gdbarch
,
3784 gdbarch_core_thread_name_ftype core_thread_name
)
3786 gdbarch
->core_thread_name
= core_thread_name
;
3790 gdbarch_core_xfer_siginfo_p (struct gdbarch
*gdbarch
)
3792 gdb_assert (gdbarch
!= NULL
);
3793 return gdbarch
->core_xfer_siginfo
!= NULL
;
3797 gdbarch_core_xfer_siginfo (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3799 gdb_assert (gdbarch
!= NULL
);
3800 gdb_assert (gdbarch
->core_xfer_siginfo
!= NULL
);
3801 if (gdbarch_debug
>= 2)
3802 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_siginfo called\n");
3803 return gdbarch
->core_xfer_siginfo (gdbarch
, readbuf
, offset
, len
);
3807 set_gdbarch_core_xfer_siginfo (struct gdbarch
*gdbarch
,
3808 gdbarch_core_xfer_siginfo_ftype core_xfer_siginfo
)
3810 gdbarch
->core_xfer_siginfo
= core_xfer_siginfo
;
3814 gdbarch_gcore_bfd_target_p (struct gdbarch
*gdbarch
)
3816 gdb_assert (gdbarch
!= NULL
);
3817 return gdbarch
->gcore_bfd_target
!= 0;
3821 gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
)
3823 gdb_assert (gdbarch
!= NULL
);
3824 /* Check variable changed from pre-default. */
3825 gdb_assert (gdbarch
->gcore_bfd_target
!= 0);
3826 if (gdbarch_debug
>= 2)
3827 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcore_bfd_target called\n");
3828 return gdbarch
->gcore_bfd_target
;
3832 set_gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
,
3833 const char * gcore_bfd_target
)
3835 gdbarch
->gcore_bfd_target
= gcore_bfd_target
;
3839 gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
)
3841 gdb_assert (gdbarch
!= NULL
);
3842 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
3843 if (gdbarch_debug
>= 2)
3844 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vtable_function_descriptors called\n");
3845 return gdbarch
->vtable_function_descriptors
;
3849 set_gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
,
3850 int vtable_function_descriptors
)
3852 gdbarch
->vtable_function_descriptors
= vtable_function_descriptors
;
3856 gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
)
3858 gdb_assert (gdbarch
!= NULL
);
3859 /* Skip verify of vbit_in_delta, invalid_p == 0 */
3860 if (gdbarch_debug
>= 2)
3861 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vbit_in_delta called\n");
3862 return gdbarch
->vbit_in_delta
;
3866 set_gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
,
3869 gdbarch
->vbit_in_delta
= vbit_in_delta
;
3873 gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
3875 gdb_assert (gdbarch
!= NULL
);
3876 gdb_assert (gdbarch
->skip_permanent_breakpoint
!= NULL
);
3877 if (gdbarch_debug
>= 2)
3878 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_permanent_breakpoint called\n");
3879 gdbarch
->skip_permanent_breakpoint (regcache
);
3883 set_gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
,
3884 gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint
)
3886 gdbarch
->skip_permanent_breakpoint
= skip_permanent_breakpoint
;
3890 gdbarch_max_insn_length_p (struct gdbarch
*gdbarch
)
3892 gdb_assert (gdbarch
!= NULL
);
3893 return gdbarch
->max_insn_length
!= 0;
3897 gdbarch_max_insn_length (struct gdbarch
*gdbarch
)
3899 gdb_assert (gdbarch
!= NULL
);
3900 /* Check variable changed from pre-default. */
3901 gdb_assert (gdbarch
->max_insn_length
!= 0);
3902 if (gdbarch_debug
>= 2)
3903 fprintf_unfiltered (gdb_stdlog
, "gdbarch_max_insn_length called\n");
3904 return gdbarch
->max_insn_length
;
3908 set_gdbarch_max_insn_length (struct gdbarch
*gdbarch
,
3909 ULONGEST max_insn_length
)
3911 gdbarch
->max_insn_length
= max_insn_length
;
3915 gdbarch_displaced_step_copy_insn_p (struct gdbarch
*gdbarch
)
3917 gdb_assert (gdbarch
!= NULL
);
3918 return gdbarch
->displaced_step_copy_insn
!= NULL
;
3921 displaced_step_closure_up
3922 gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3924 gdb_assert (gdbarch
!= NULL
);
3925 gdb_assert (gdbarch
->displaced_step_copy_insn
!= NULL
);
3926 if (gdbarch_debug
>= 2)
3927 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_copy_insn called\n");
3928 return gdbarch
->displaced_step_copy_insn (gdbarch
, from
, to
, regs
);
3932 set_gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
,
3933 gdbarch_displaced_step_copy_insn_ftype displaced_step_copy_insn
)
3935 gdbarch
->displaced_step_copy_insn
= displaced_step_copy_insn
;
3939 gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
, struct displaced_step_closure
*closure
)
3941 gdb_assert (gdbarch
!= NULL
);
3942 gdb_assert (gdbarch
->displaced_step_hw_singlestep
!= NULL
);
3943 if (gdbarch_debug
>= 2)
3944 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_hw_singlestep called\n");
3945 return gdbarch
->displaced_step_hw_singlestep (gdbarch
, closure
);
3949 set_gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
,
3950 gdbarch_displaced_step_hw_singlestep_ftype displaced_step_hw_singlestep
)
3952 gdbarch
->displaced_step_hw_singlestep
= displaced_step_hw_singlestep
;
3956 gdbarch_displaced_step_fixup_p (struct gdbarch
*gdbarch
)
3958 gdb_assert (gdbarch
!= NULL
);
3959 return gdbarch
->displaced_step_fixup
!= NULL
;
3963 gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
, struct displaced_step_closure
*closure
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3965 gdb_assert (gdbarch
!= NULL
);
3966 gdb_assert (gdbarch
->displaced_step_fixup
!= NULL
);
3967 /* Do not check predicate: gdbarch->displaced_step_fixup != NULL, allow call. */
3968 if (gdbarch_debug
>= 2)
3969 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_fixup called\n");
3970 gdbarch
->displaced_step_fixup (gdbarch
, closure
, from
, to
, regs
);
3974 set_gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
,
3975 gdbarch_displaced_step_fixup_ftype displaced_step_fixup
)
3977 gdbarch
->displaced_step_fixup
= displaced_step_fixup
;
3981 gdbarch_displaced_step_location (struct gdbarch
*gdbarch
)
3983 gdb_assert (gdbarch
!= NULL
);
3984 gdb_assert (gdbarch
->displaced_step_location
!= NULL
);
3985 if (gdbarch_debug
>= 2)
3986 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_location called\n");
3987 return gdbarch
->displaced_step_location (gdbarch
);
3991 set_gdbarch_displaced_step_location (struct gdbarch
*gdbarch
,
3992 gdbarch_displaced_step_location_ftype displaced_step_location
)
3994 gdbarch
->displaced_step_location
= displaced_step_location
;
3998 gdbarch_relocate_instruction_p (struct gdbarch
*gdbarch
)
4000 gdb_assert (gdbarch
!= NULL
);
4001 return gdbarch
->relocate_instruction
!= NULL
;
4005 gdbarch_relocate_instruction (struct gdbarch
*gdbarch
, CORE_ADDR
*to
, CORE_ADDR from
)
4007 gdb_assert (gdbarch
!= NULL
);
4008 gdb_assert (gdbarch
->relocate_instruction
!= NULL
);
4009 /* Do not check predicate: gdbarch->relocate_instruction != NULL, allow call. */
4010 if (gdbarch_debug
>= 2)
4011 fprintf_unfiltered (gdb_stdlog
, "gdbarch_relocate_instruction called\n");
4012 gdbarch
->relocate_instruction (gdbarch
, to
, from
);
4016 set_gdbarch_relocate_instruction (struct gdbarch
*gdbarch
,
4017 gdbarch_relocate_instruction_ftype relocate_instruction
)
4019 gdbarch
->relocate_instruction
= relocate_instruction
;
4023 gdbarch_overlay_update_p (struct gdbarch
*gdbarch
)
4025 gdb_assert (gdbarch
!= NULL
);
4026 return gdbarch
->overlay_update
!= NULL
;
4030 gdbarch_overlay_update (struct gdbarch
*gdbarch
, struct obj_section
*osect
)
4032 gdb_assert (gdbarch
!= NULL
);
4033 gdb_assert (gdbarch
->overlay_update
!= NULL
);
4034 if (gdbarch_debug
>= 2)
4035 fprintf_unfiltered (gdb_stdlog
, "gdbarch_overlay_update called\n");
4036 gdbarch
->overlay_update (osect
);
4040 set_gdbarch_overlay_update (struct gdbarch
*gdbarch
,
4041 gdbarch_overlay_update_ftype overlay_update
)
4043 gdbarch
->overlay_update
= overlay_update
;
4047 gdbarch_core_read_description_p (struct gdbarch
*gdbarch
)
4049 gdb_assert (gdbarch
!= NULL
);
4050 return gdbarch
->core_read_description
!= NULL
;
4053 const struct target_desc
*
4054 gdbarch_core_read_description (struct gdbarch
*gdbarch
, struct target_ops
*target
, bfd
*abfd
)
4056 gdb_assert (gdbarch
!= NULL
);
4057 gdb_assert (gdbarch
->core_read_description
!= NULL
);
4058 if (gdbarch_debug
>= 2)
4059 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_read_description called\n");
4060 return gdbarch
->core_read_description (gdbarch
, target
, abfd
);
4064 set_gdbarch_core_read_description (struct gdbarch
*gdbarch
,
4065 gdbarch_core_read_description_ftype core_read_description
)
4067 gdbarch
->core_read_description
= core_read_description
;
4071 gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
)
4073 gdb_assert (gdbarch
!= NULL
);
4074 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
4075 if (gdbarch_debug
>= 2)
4076 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sofun_address_maybe_missing called\n");
4077 return gdbarch
->sofun_address_maybe_missing
;
4081 set_gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
,
4082 int sofun_address_maybe_missing
)
4084 gdbarch
->sofun_address_maybe_missing
= sofun_address_maybe_missing
;
4088 gdbarch_process_record_p (struct gdbarch
*gdbarch
)
4090 gdb_assert (gdbarch
!= NULL
);
4091 return gdbarch
->process_record
!= NULL
;
4095 gdbarch_process_record (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4097 gdb_assert (gdbarch
!= NULL
);
4098 gdb_assert (gdbarch
->process_record
!= NULL
);
4099 if (gdbarch_debug
>= 2)
4100 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record called\n");
4101 return gdbarch
->process_record (gdbarch
, regcache
, addr
);
4105 set_gdbarch_process_record (struct gdbarch
*gdbarch
,
4106 gdbarch_process_record_ftype process_record
)
4108 gdbarch
->process_record
= process_record
;
4112 gdbarch_process_record_signal_p (struct gdbarch
*gdbarch
)
4114 gdb_assert (gdbarch
!= NULL
);
4115 return gdbarch
->process_record_signal
!= NULL
;
4119 gdbarch_process_record_signal (struct gdbarch
*gdbarch
, struct regcache
*regcache
, enum gdb_signal signal
)
4121 gdb_assert (gdbarch
!= NULL
);
4122 gdb_assert (gdbarch
->process_record_signal
!= NULL
);
4123 if (gdbarch_debug
>= 2)
4124 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record_signal called\n");
4125 return gdbarch
->process_record_signal (gdbarch
, regcache
, signal
);
4129 set_gdbarch_process_record_signal (struct gdbarch
*gdbarch
,
4130 gdbarch_process_record_signal_ftype process_record_signal
)
4132 gdbarch
->process_record_signal
= process_record_signal
;
4136 gdbarch_gdb_signal_from_target_p (struct gdbarch
*gdbarch
)
4138 gdb_assert (gdbarch
!= NULL
);
4139 return gdbarch
->gdb_signal_from_target
!= NULL
;
4143 gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
, int signo
)
4145 gdb_assert (gdbarch
!= NULL
);
4146 gdb_assert (gdbarch
->gdb_signal_from_target
!= NULL
);
4147 if (gdbarch_debug
>= 2)
4148 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_from_target called\n");
4149 return gdbarch
->gdb_signal_from_target (gdbarch
, signo
);
4153 set_gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
,
4154 gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target
)
4156 gdbarch
->gdb_signal_from_target
= gdb_signal_from_target
;
4160 gdbarch_gdb_signal_to_target_p (struct gdbarch
*gdbarch
)
4162 gdb_assert (gdbarch
!= NULL
);
4163 return gdbarch
->gdb_signal_to_target
!= NULL
;
4167 gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
, enum gdb_signal signal
)
4169 gdb_assert (gdbarch
!= NULL
);
4170 gdb_assert (gdbarch
->gdb_signal_to_target
!= NULL
);
4171 if (gdbarch_debug
>= 2)
4172 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_to_target called\n");
4173 return gdbarch
->gdb_signal_to_target (gdbarch
, signal
);
4177 set_gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
,
4178 gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target
)
4180 gdbarch
->gdb_signal_to_target
= gdb_signal_to_target
;
4184 gdbarch_get_siginfo_type_p (struct gdbarch
*gdbarch
)
4186 gdb_assert (gdbarch
!= NULL
);
4187 return gdbarch
->get_siginfo_type
!= NULL
;
4191 gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
)
4193 gdb_assert (gdbarch
!= NULL
);
4194 gdb_assert (gdbarch
->get_siginfo_type
!= NULL
);
4195 if (gdbarch_debug
>= 2)
4196 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_siginfo_type called\n");
4197 return gdbarch
->get_siginfo_type (gdbarch
);
4201 set_gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
,
4202 gdbarch_get_siginfo_type_ftype get_siginfo_type
)
4204 gdbarch
->get_siginfo_type
= get_siginfo_type
;
4208 gdbarch_record_special_symbol_p (struct gdbarch
*gdbarch
)
4210 gdb_assert (gdbarch
!= NULL
);
4211 return gdbarch
->record_special_symbol
!= NULL
;
4215 gdbarch_record_special_symbol (struct gdbarch
*gdbarch
, struct objfile
*objfile
, asymbol
*sym
)
4217 gdb_assert (gdbarch
!= NULL
);
4218 gdb_assert (gdbarch
->record_special_symbol
!= NULL
);
4219 if (gdbarch_debug
>= 2)
4220 fprintf_unfiltered (gdb_stdlog
, "gdbarch_record_special_symbol called\n");
4221 gdbarch
->record_special_symbol (gdbarch
, objfile
, sym
);
4225 set_gdbarch_record_special_symbol (struct gdbarch
*gdbarch
,
4226 gdbarch_record_special_symbol_ftype record_special_symbol
)
4228 gdbarch
->record_special_symbol
= record_special_symbol
;
4232 gdbarch_get_syscall_number_p (struct gdbarch
*gdbarch
)
4234 gdb_assert (gdbarch
!= NULL
);
4235 return gdbarch
->get_syscall_number
!= NULL
;
4239 gdbarch_get_syscall_number (struct gdbarch
*gdbarch
, thread_info
*thread
)
4241 gdb_assert (gdbarch
!= NULL
);
4242 gdb_assert (gdbarch
->get_syscall_number
!= NULL
);
4243 if (gdbarch_debug
>= 2)
4244 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_syscall_number called\n");
4245 return gdbarch
->get_syscall_number (gdbarch
, thread
);
4249 set_gdbarch_get_syscall_number (struct gdbarch
*gdbarch
,
4250 gdbarch_get_syscall_number_ftype get_syscall_number
)
4252 gdbarch
->get_syscall_number
= get_syscall_number
;
4256 gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
)
4258 gdb_assert (gdbarch
!= NULL
);
4259 /* Skip verify of xml_syscall_file, invalid_p == 0 */
4260 if (gdbarch_debug
>= 2)
4261 fprintf_unfiltered (gdb_stdlog
, "gdbarch_xml_syscall_file called\n");
4262 return gdbarch
->xml_syscall_file
;
4266 set_gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
,
4267 const char * xml_syscall_file
)
4269 gdbarch
->xml_syscall_file
= xml_syscall_file
;
4272 struct syscalls_info
*
4273 gdbarch_syscalls_info (struct gdbarch
*gdbarch
)
4275 gdb_assert (gdbarch
!= NULL
);
4276 /* Skip verify of syscalls_info, invalid_p == 0 */
4277 if (gdbarch_debug
>= 2)
4278 fprintf_unfiltered (gdb_stdlog
, "gdbarch_syscalls_info called\n");
4279 return gdbarch
->syscalls_info
;
4283 set_gdbarch_syscalls_info (struct gdbarch
*gdbarch
,
4284 struct syscalls_info
* syscalls_info
)
4286 gdbarch
->syscalls_info
= syscalls_info
;
4290 gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
)
4292 gdb_assert (gdbarch
!= NULL
);
4293 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
4294 if (gdbarch_debug
>= 2)
4295 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_prefixes called\n");
4296 return gdbarch
->stap_integer_prefixes
;
4300 set_gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
,
4301 const char *const * stap_integer_prefixes
)
4303 gdbarch
->stap_integer_prefixes
= stap_integer_prefixes
;
4307 gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
)
4309 gdb_assert (gdbarch
!= NULL
);
4310 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
4311 if (gdbarch_debug
>= 2)
4312 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_suffixes called\n");
4313 return gdbarch
->stap_integer_suffixes
;
4317 set_gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
,
4318 const char *const * stap_integer_suffixes
)
4320 gdbarch
->stap_integer_suffixes
= stap_integer_suffixes
;
4324 gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
)
4326 gdb_assert (gdbarch
!= NULL
);
4327 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
4328 if (gdbarch_debug
>= 2)
4329 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_prefixes called\n");
4330 return gdbarch
->stap_register_prefixes
;
4334 set_gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
,
4335 const char *const * stap_register_prefixes
)
4337 gdbarch
->stap_register_prefixes
= stap_register_prefixes
;
4341 gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
)
4343 gdb_assert (gdbarch
!= NULL
);
4344 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
4345 if (gdbarch_debug
>= 2)
4346 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_suffixes called\n");
4347 return gdbarch
->stap_register_suffixes
;
4351 set_gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
,
4352 const char *const * stap_register_suffixes
)
4354 gdbarch
->stap_register_suffixes
= stap_register_suffixes
;
4358 gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
)
4360 gdb_assert (gdbarch
!= NULL
);
4361 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
4362 if (gdbarch_debug
>= 2)
4363 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_prefixes called\n");
4364 return gdbarch
->stap_register_indirection_prefixes
;
4368 set_gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
,
4369 const char *const * stap_register_indirection_prefixes
)
4371 gdbarch
->stap_register_indirection_prefixes
= stap_register_indirection_prefixes
;
4375 gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
)
4377 gdb_assert (gdbarch
!= NULL
);
4378 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
4379 if (gdbarch_debug
>= 2)
4380 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_suffixes called\n");
4381 return gdbarch
->stap_register_indirection_suffixes
;
4385 set_gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
,
4386 const char *const * stap_register_indirection_suffixes
)
4388 gdbarch
->stap_register_indirection_suffixes
= stap_register_indirection_suffixes
;
4392 gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
)
4394 gdb_assert (gdbarch
!= NULL
);
4395 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
4396 if (gdbarch_debug
>= 2)
4397 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_prefix called\n");
4398 return gdbarch
->stap_gdb_register_prefix
;
4402 set_gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
,
4403 const char * stap_gdb_register_prefix
)
4405 gdbarch
->stap_gdb_register_prefix
= stap_gdb_register_prefix
;
4409 gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
)
4411 gdb_assert (gdbarch
!= NULL
);
4412 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
4413 if (gdbarch_debug
>= 2)
4414 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_suffix called\n");
4415 return gdbarch
->stap_gdb_register_suffix
;
4419 set_gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
,
4420 const char * stap_gdb_register_suffix
)
4422 gdbarch
->stap_gdb_register_suffix
= stap_gdb_register_suffix
;
4426 gdbarch_stap_is_single_operand_p (struct gdbarch
*gdbarch
)
4428 gdb_assert (gdbarch
!= NULL
);
4429 return gdbarch
->stap_is_single_operand
!= NULL
;
4433 gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
, const char *s
)
4435 gdb_assert (gdbarch
!= NULL
);
4436 gdb_assert (gdbarch
->stap_is_single_operand
!= NULL
);
4437 if (gdbarch_debug
>= 2)
4438 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_is_single_operand called\n");
4439 return gdbarch
->stap_is_single_operand (gdbarch
, s
);
4443 set_gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
,
4444 gdbarch_stap_is_single_operand_ftype stap_is_single_operand
)
4446 gdbarch
->stap_is_single_operand
= stap_is_single_operand
;
4450 gdbarch_stap_parse_special_token_p (struct gdbarch
*gdbarch
)
4452 gdb_assert (gdbarch
!= NULL
);
4453 return gdbarch
->stap_parse_special_token
!= NULL
;
4457 gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
, struct stap_parse_info
*p
)
4459 gdb_assert (gdbarch
!= NULL
);
4460 gdb_assert (gdbarch
->stap_parse_special_token
!= NULL
);
4461 if (gdbarch_debug
>= 2)
4462 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_parse_special_token called\n");
4463 return gdbarch
->stap_parse_special_token (gdbarch
, p
);
4467 set_gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
,
4468 gdbarch_stap_parse_special_token_ftype stap_parse_special_token
)
4470 gdbarch
->stap_parse_special_token
= stap_parse_special_token
;
4474 gdbarch_stap_adjust_register_p (struct gdbarch
*gdbarch
)
4476 gdb_assert (gdbarch
!= NULL
);
4477 return gdbarch
->stap_adjust_register
!= NULL
;
4481 gdbarch_stap_adjust_register (struct gdbarch
*gdbarch
, struct stap_parse_info
*p
, const std::string
®name
, int regnum
)
4483 gdb_assert (gdbarch
!= NULL
);
4484 gdb_assert (gdbarch
->stap_adjust_register
!= NULL
);
4485 if (gdbarch_debug
>= 2)
4486 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_adjust_register called\n");
4487 return gdbarch
->stap_adjust_register (gdbarch
, p
, regname
, regnum
);
4491 set_gdbarch_stap_adjust_register (struct gdbarch
*gdbarch
,
4492 gdbarch_stap_adjust_register_ftype stap_adjust_register
)
4494 gdbarch
->stap_adjust_register
= stap_adjust_register
;
4498 gdbarch_dtrace_parse_probe_argument_p (struct gdbarch
*gdbarch
)
4500 gdb_assert (gdbarch
!= NULL
);
4501 return gdbarch
->dtrace_parse_probe_argument
!= NULL
;
4505 gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
, struct expr_builder
*builder
, int narg
)
4507 gdb_assert (gdbarch
!= NULL
);
4508 gdb_assert (gdbarch
->dtrace_parse_probe_argument
!= NULL
);
4509 if (gdbarch_debug
>= 2)
4510 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_parse_probe_argument called\n");
4511 gdbarch
->dtrace_parse_probe_argument (gdbarch
, builder
, narg
);
4515 set_gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
,
4516 gdbarch_dtrace_parse_probe_argument_ftype dtrace_parse_probe_argument
)
4518 gdbarch
->dtrace_parse_probe_argument
= dtrace_parse_probe_argument
;
4522 gdbarch_dtrace_probe_is_enabled_p (struct gdbarch
*gdbarch
)
4524 gdb_assert (gdbarch
!= NULL
);
4525 return gdbarch
->dtrace_probe_is_enabled
!= NULL
;
4529 gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4531 gdb_assert (gdbarch
!= NULL
);
4532 gdb_assert (gdbarch
->dtrace_probe_is_enabled
!= NULL
);
4533 if (gdbarch_debug
>= 2)
4534 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_probe_is_enabled called\n");
4535 return gdbarch
->dtrace_probe_is_enabled (gdbarch
, addr
);
4539 set_gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
,
4540 gdbarch_dtrace_probe_is_enabled_ftype dtrace_probe_is_enabled
)
4542 gdbarch
->dtrace_probe_is_enabled
= dtrace_probe_is_enabled
;
4546 gdbarch_dtrace_enable_probe_p (struct gdbarch
*gdbarch
)
4548 gdb_assert (gdbarch
!= NULL
);
4549 return gdbarch
->dtrace_enable_probe
!= NULL
;
4553 gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4555 gdb_assert (gdbarch
!= NULL
);
4556 gdb_assert (gdbarch
->dtrace_enable_probe
!= NULL
);
4557 if (gdbarch_debug
>= 2)
4558 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_enable_probe called\n");
4559 gdbarch
->dtrace_enable_probe (gdbarch
, addr
);
4563 set_gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
,
4564 gdbarch_dtrace_enable_probe_ftype dtrace_enable_probe
)
4566 gdbarch
->dtrace_enable_probe
= dtrace_enable_probe
;
4570 gdbarch_dtrace_disable_probe_p (struct gdbarch
*gdbarch
)
4572 gdb_assert (gdbarch
!= NULL
);
4573 return gdbarch
->dtrace_disable_probe
!= NULL
;
4577 gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4579 gdb_assert (gdbarch
!= NULL
);
4580 gdb_assert (gdbarch
->dtrace_disable_probe
!= NULL
);
4581 if (gdbarch_debug
>= 2)
4582 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_disable_probe called\n");
4583 gdbarch
->dtrace_disable_probe (gdbarch
, addr
);
4587 set_gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
,
4588 gdbarch_dtrace_disable_probe_ftype dtrace_disable_probe
)
4590 gdbarch
->dtrace_disable_probe
= dtrace_disable_probe
;
4594 gdbarch_has_global_solist (struct gdbarch
*gdbarch
)
4596 gdb_assert (gdbarch
!= NULL
);
4597 /* Skip verify of has_global_solist, invalid_p == 0 */
4598 if (gdbarch_debug
>= 2)
4599 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_solist called\n");
4600 return gdbarch
->has_global_solist
;
4604 set_gdbarch_has_global_solist (struct gdbarch
*gdbarch
,
4605 int has_global_solist
)
4607 gdbarch
->has_global_solist
= has_global_solist
;
4611 gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
)
4613 gdb_assert (gdbarch
!= NULL
);
4614 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
4615 if (gdbarch_debug
>= 2)
4616 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_breakpoints called\n");
4617 return gdbarch
->has_global_breakpoints
;
4621 set_gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
,
4622 int has_global_breakpoints
)
4624 gdbarch
->has_global_breakpoints
= has_global_breakpoints
;
4628 gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
)
4630 gdb_assert (gdbarch
!= NULL
);
4631 gdb_assert (gdbarch
->has_shared_address_space
!= NULL
);
4632 if (gdbarch_debug
>= 2)
4633 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_shared_address_space called\n");
4634 return gdbarch
->has_shared_address_space (gdbarch
);
4638 set_gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
,
4639 gdbarch_has_shared_address_space_ftype has_shared_address_space
)
4641 gdbarch
->has_shared_address_space
= has_shared_address_space
;
4645 gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
, CORE_ADDR addr
, std::string
*msg
)
4647 gdb_assert (gdbarch
!= NULL
);
4648 gdb_assert (gdbarch
->fast_tracepoint_valid_at
!= NULL
);
4649 if (gdbarch_debug
>= 2)
4650 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fast_tracepoint_valid_at called\n");
4651 return gdbarch
->fast_tracepoint_valid_at (gdbarch
, addr
, msg
);
4655 set_gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
,
4656 gdbarch_fast_tracepoint_valid_at_ftype fast_tracepoint_valid_at
)
4658 gdbarch
->fast_tracepoint_valid_at
= fast_tracepoint_valid_at
;
4662 gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4664 gdb_assert (gdbarch
!= NULL
);
4665 gdb_assert (gdbarch
->guess_tracepoint_registers
!= NULL
);
4666 if (gdbarch_debug
>= 2)
4667 fprintf_unfiltered (gdb_stdlog
, "gdbarch_guess_tracepoint_registers called\n");
4668 gdbarch
->guess_tracepoint_registers (gdbarch
, regcache
, addr
);
4672 set_gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
,
4673 gdbarch_guess_tracepoint_registers_ftype guess_tracepoint_registers
)
4675 gdbarch
->guess_tracepoint_registers
= guess_tracepoint_registers
;
4679 gdbarch_auto_charset (struct gdbarch
*gdbarch
)
4681 gdb_assert (gdbarch
!= NULL
);
4682 gdb_assert (gdbarch
->auto_charset
!= NULL
);
4683 if (gdbarch_debug
>= 2)
4684 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_charset called\n");
4685 return gdbarch
->auto_charset ();
4689 set_gdbarch_auto_charset (struct gdbarch
*gdbarch
,
4690 gdbarch_auto_charset_ftype auto_charset
)
4692 gdbarch
->auto_charset
= auto_charset
;
4696 gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
)
4698 gdb_assert (gdbarch
!= NULL
);
4699 gdb_assert (gdbarch
->auto_wide_charset
!= NULL
);
4700 if (gdbarch_debug
>= 2)
4701 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_wide_charset called\n");
4702 return gdbarch
->auto_wide_charset ();
4706 set_gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
,
4707 gdbarch_auto_wide_charset_ftype auto_wide_charset
)
4709 gdbarch
->auto_wide_charset
= auto_wide_charset
;
4713 gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
)
4715 gdb_assert (gdbarch
!= NULL
);
4716 if (gdbarch_debug
>= 2)
4717 fprintf_unfiltered (gdb_stdlog
, "gdbarch_solib_symbols_extension called\n");
4718 return gdbarch
->solib_symbols_extension
;
4722 set_gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
,
4723 const char * solib_symbols_extension
)
4725 gdbarch
->solib_symbols_extension
= solib_symbols_extension
;
4729 gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
)
4731 gdb_assert (gdbarch
!= NULL
);
4732 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
4733 if (gdbarch_debug
>= 2)
4734 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_dos_based_file_system called\n");
4735 return gdbarch
->has_dos_based_file_system
;
4739 set_gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
,
4740 int has_dos_based_file_system
)
4742 gdbarch
->has_dos_based_file_system
= has_dos_based_file_system
;
4746 gdbarch_gen_return_address (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, struct axs_value
*value
, CORE_ADDR scope
)
4748 gdb_assert (gdbarch
!= NULL
);
4749 gdb_assert (gdbarch
->gen_return_address
!= NULL
);
4750 if (gdbarch_debug
>= 2)
4751 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gen_return_address called\n");
4752 gdbarch
->gen_return_address (gdbarch
, ax
, value
, scope
);
4756 set_gdbarch_gen_return_address (struct gdbarch
*gdbarch
,
4757 gdbarch_gen_return_address_ftype gen_return_address
)
4759 gdbarch
->gen_return_address
= gen_return_address
;
4763 gdbarch_info_proc_p (struct gdbarch
*gdbarch
)
4765 gdb_assert (gdbarch
!= NULL
);
4766 return gdbarch
->info_proc
!= NULL
;
4770 gdbarch_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4772 gdb_assert (gdbarch
!= NULL
);
4773 gdb_assert (gdbarch
->info_proc
!= NULL
);
4774 if (gdbarch_debug
>= 2)
4775 fprintf_unfiltered (gdb_stdlog
, "gdbarch_info_proc called\n");
4776 gdbarch
->info_proc (gdbarch
, args
, what
);
4780 set_gdbarch_info_proc (struct gdbarch
*gdbarch
,
4781 gdbarch_info_proc_ftype info_proc
)
4783 gdbarch
->info_proc
= info_proc
;
4787 gdbarch_core_info_proc_p (struct gdbarch
*gdbarch
)
4789 gdb_assert (gdbarch
!= NULL
);
4790 return gdbarch
->core_info_proc
!= NULL
;
4794 gdbarch_core_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4796 gdb_assert (gdbarch
!= NULL
);
4797 gdb_assert (gdbarch
->core_info_proc
!= NULL
);
4798 if (gdbarch_debug
>= 2)
4799 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_info_proc called\n");
4800 gdbarch
->core_info_proc (gdbarch
, args
, what
);
4804 set_gdbarch_core_info_proc (struct gdbarch
*gdbarch
,
4805 gdbarch_core_info_proc_ftype core_info_proc
)
4807 gdbarch
->core_info_proc
= core_info_proc
;
4811 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
)
4813 gdb_assert (gdbarch
!= NULL
);
4814 gdb_assert (gdbarch
->iterate_over_objfiles_in_search_order
!= NULL
);
4815 if (gdbarch_debug
>= 2)
4816 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_objfiles_in_search_order called\n");
4817 gdbarch
->iterate_over_objfiles_in_search_order (gdbarch
, cb
, cb_data
, current_objfile
);
4821 set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch
*gdbarch
,
4822 gdbarch_iterate_over_objfiles_in_search_order_ftype iterate_over_objfiles_in_search_order
)
4824 gdbarch
->iterate_over_objfiles_in_search_order
= iterate_over_objfiles_in_search_order
;
4827 struct ravenscar_arch_ops
*
4828 gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
)
4830 gdb_assert (gdbarch
!= NULL
);
4831 /* Skip verify of ravenscar_ops, invalid_p == 0 */
4832 if (gdbarch_debug
>= 2)
4833 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ravenscar_ops called\n");
4834 return gdbarch
->ravenscar_ops
;
4838 set_gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
,
4839 struct ravenscar_arch_ops
* ravenscar_ops
)
4841 gdbarch
->ravenscar_ops
= ravenscar_ops
;
4845 gdbarch_insn_is_call (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4847 gdb_assert (gdbarch
!= NULL
);
4848 gdb_assert (gdbarch
->insn_is_call
!= NULL
);
4849 if (gdbarch_debug
>= 2)
4850 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_call called\n");
4851 return gdbarch
->insn_is_call (gdbarch
, addr
);
4855 set_gdbarch_insn_is_call (struct gdbarch
*gdbarch
,
4856 gdbarch_insn_is_call_ftype insn_is_call
)
4858 gdbarch
->insn_is_call
= insn_is_call
;
4862 gdbarch_insn_is_ret (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4864 gdb_assert (gdbarch
!= NULL
);
4865 gdb_assert (gdbarch
->insn_is_ret
!= NULL
);
4866 if (gdbarch_debug
>= 2)
4867 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_ret called\n");
4868 return gdbarch
->insn_is_ret (gdbarch
, addr
);
4872 set_gdbarch_insn_is_ret (struct gdbarch
*gdbarch
,
4873 gdbarch_insn_is_ret_ftype insn_is_ret
)
4875 gdbarch
->insn_is_ret
= insn_is_ret
;
4879 gdbarch_insn_is_jump (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4881 gdb_assert (gdbarch
!= NULL
);
4882 gdb_assert (gdbarch
->insn_is_jump
!= NULL
);
4883 if (gdbarch_debug
>= 2)
4884 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_jump called\n");
4885 return gdbarch
->insn_is_jump (gdbarch
, addr
);
4889 set_gdbarch_insn_is_jump (struct gdbarch
*gdbarch
,
4890 gdbarch_insn_is_jump_ftype insn_is_jump
)
4892 gdbarch
->insn_is_jump
= insn_is_jump
;
4896 gdbarch_program_breakpoint_here_p (struct gdbarch
*gdbarch
, CORE_ADDR address
)
4898 gdb_assert (gdbarch
!= NULL
);
4899 gdb_assert (gdbarch
->program_breakpoint_here_p
!= NULL
);
4900 if (gdbarch_debug
>= 2)
4901 fprintf_unfiltered (gdb_stdlog
, "gdbarch_program_breakpoint_here_p called\n");
4902 return gdbarch
->program_breakpoint_here_p (gdbarch
, address
);
4906 set_gdbarch_program_breakpoint_here_p (struct gdbarch
*gdbarch
,
4907 gdbarch_program_breakpoint_here_p_ftype program_breakpoint_here_p
)
4909 gdbarch
->program_breakpoint_here_p
= program_breakpoint_here_p
;
4913 gdbarch_auxv_parse_p (struct gdbarch
*gdbarch
)
4915 gdb_assert (gdbarch
!= NULL
);
4916 return gdbarch
->auxv_parse
!= NULL
;
4920 gdbarch_auxv_parse (struct gdbarch
*gdbarch
, gdb_byte
**readptr
, gdb_byte
*endptr
, CORE_ADDR
*typep
, CORE_ADDR
*valp
)
4922 gdb_assert (gdbarch
!= NULL
);
4923 gdb_assert (gdbarch
->auxv_parse
!= NULL
);
4924 if (gdbarch_debug
>= 2)
4925 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auxv_parse called\n");
4926 return gdbarch
->auxv_parse (gdbarch
, readptr
, endptr
, typep
, valp
);
4930 set_gdbarch_auxv_parse (struct gdbarch
*gdbarch
,
4931 gdbarch_auxv_parse_ftype auxv_parse
)
4933 gdbarch
->auxv_parse
= auxv_parse
;
4937 gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
, struct ui_file
*file
, CORE_ADDR type
, CORE_ADDR val
)
4939 gdb_assert (gdbarch
!= NULL
);
4940 gdb_assert (gdbarch
->print_auxv_entry
!= NULL
);
4941 if (gdbarch_debug
>= 2)
4942 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_auxv_entry called\n");
4943 gdbarch
->print_auxv_entry (gdbarch
, file
, type
, val
);
4947 set_gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
,
4948 gdbarch_print_auxv_entry_ftype print_auxv_entry
)
4950 gdbarch
->print_auxv_entry
= print_auxv_entry
;
4954 gdbarch_vsyscall_range (struct gdbarch
*gdbarch
, struct mem_range
*range
)
4956 gdb_assert (gdbarch
!= NULL
);
4957 gdb_assert (gdbarch
->vsyscall_range
!= NULL
);
4958 if (gdbarch_debug
>= 2)
4959 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vsyscall_range called\n");
4960 return gdbarch
->vsyscall_range (gdbarch
, range
);
4964 set_gdbarch_vsyscall_range (struct gdbarch
*gdbarch
,
4965 gdbarch_vsyscall_range_ftype vsyscall_range
)
4967 gdbarch
->vsyscall_range
= vsyscall_range
;
4971 gdbarch_infcall_mmap (struct gdbarch
*gdbarch
, CORE_ADDR size
, unsigned prot
)
4973 gdb_assert (gdbarch
!= NULL
);
4974 gdb_assert (gdbarch
->infcall_mmap
!= NULL
);
4975 if (gdbarch_debug
>= 2)
4976 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_mmap called\n");
4977 return gdbarch
->infcall_mmap (size
, prot
);
4981 set_gdbarch_infcall_mmap (struct gdbarch
*gdbarch
,
4982 gdbarch_infcall_mmap_ftype infcall_mmap
)
4984 gdbarch
->infcall_mmap
= infcall_mmap
;
4988 gdbarch_infcall_munmap (struct gdbarch
*gdbarch
, CORE_ADDR addr
, CORE_ADDR size
)
4990 gdb_assert (gdbarch
!= NULL
);
4991 gdb_assert (gdbarch
->infcall_munmap
!= NULL
);
4992 if (gdbarch_debug
>= 2)
4993 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_munmap called\n");
4994 gdbarch
->infcall_munmap (addr
, size
);
4998 set_gdbarch_infcall_munmap (struct gdbarch
*gdbarch
,
4999 gdbarch_infcall_munmap_ftype infcall_munmap
)
5001 gdbarch
->infcall_munmap
= infcall_munmap
;
5005 gdbarch_gcc_target_options (struct gdbarch
*gdbarch
)
5007 gdb_assert (gdbarch
!= NULL
);
5008 gdb_assert (gdbarch
->gcc_target_options
!= NULL
);
5009 if (gdbarch_debug
>= 2)
5010 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcc_target_options called\n");
5011 return gdbarch
->gcc_target_options (gdbarch
);
5015 set_gdbarch_gcc_target_options (struct gdbarch
*gdbarch
,
5016 gdbarch_gcc_target_options_ftype gcc_target_options
)
5018 gdbarch
->gcc_target_options
= gcc_target_options
;
5022 gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
)
5024 gdb_assert (gdbarch
!= NULL
);
5025 gdb_assert (gdbarch
->gnu_triplet_regexp
!= NULL
);
5026 if (gdbarch_debug
>= 2)
5027 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gnu_triplet_regexp called\n");
5028 return gdbarch
->gnu_triplet_regexp (gdbarch
);
5032 set_gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
,
5033 gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp
)
5035 gdbarch
->gnu_triplet_regexp
= gnu_triplet_regexp
;
5039 gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
)
5041 gdb_assert (gdbarch
!= NULL
);
5042 gdb_assert (gdbarch
->addressable_memory_unit_size
!= NULL
);
5043 if (gdbarch_debug
>= 2)
5044 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addressable_memory_unit_size called\n");
5045 return gdbarch
->addressable_memory_unit_size (gdbarch
);
5049 set_gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
,
5050 gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size
)
5052 gdbarch
->addressable_memory_unit_size
= addressable_memory_unit_size
;
5056 gdbarch_disassembler_options_implicit (struct gdbarch
*gdbarch
)
5058 gdb_assert (gdbarch
!= NULL
);
5059 /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
5060 if (gdbarch_debug
>= 2)
5061 fprintf_unfiltered (gdb_stdlog
, "gdbarch_disassembler_options_implicit called\n");
5062 return gdbarch
->disassembler_options_implicit
;
5066 set_gdbarch_disassembler_options_implicit (struct gdbarch
*gdbarch
,
5067 const char * disassembler_options_implicit
)
5069 gdbarch
->disassembler_options_implicit
= disassembler_options_implicit
;
5073 gdbarch_disassembler_options (struct gdbarch
*gdbarch
)
5075 gdb_assert (gdbarch
!= NULL
);
5076 /* Skip verify of disassembler_options, invalid_p == 0 */
5077 if (gdbarch_debug
>= 2)
5078 fprintf_unfiltered (gdb_stdlog
, "gdbarch_disassembler_options called\n");
5079 return gdbarch
->disassembler_options
;
5083 set_gdbarch_disassembler_options (struct gdbarch
*gdbarch
,
5084 char ** disassembler_options
)
5086 gdbarch
->disassembler_options
= disassembler_options
;
5089 const disasm_options_and_args_t
*
5090 gdbarch_valid_disassembler_options (struct gdbarch
*gdbarch
)
5092 gdb_assert (gdbarch
!= NULL
);
5093 /* Skip verify of valid_disassembler_options, invalid_p == 0 */
5094 if (gdbarch_debug
>= 2)
5095 fprintf_unfiltered (gdb_stdlog
, "gdbarch_valid_disassembler_options called\n");
5096 return gdbarch
->valid_disassembler_options
;
5100 set_gdbarch_valid_disassembler_options (struct gdbarch
*gdbarch
,
5101 const disasm_options_and_args_t
* valid_disassembler_options
)
5103 gdbarch
->valid_disassembler_options
= valid_disassembler_options
;
5107 gdbarch_type_align (struct gdbarch
*gdbarch
, struct type
*type
)
5109 gdb_assert (gdbarch
!= NULL
);
5110 gdb_assert (gdbarch
->type_align
!= NULL
);
5111 if (gdbarch_debug
>= 2)
5112 fprintf_unfiltered (gdb_stdlog
, "gdbarch_type_align called\n");
5113 return gdbarch
->type_align (gdbarch
, type
);
5117 set_gdbarch_type_align (struct gdbarch
*gdbarch
,
5118 gdbarch_type_align_ftype type_align
)
5120 gdbarch
->type_align
= type_align
;
5124 gdbarch_get_pc_address_flags (struct gdbarch
*gdbarch
, frame_info
*frame
, CORE_ADDR pc
)
5126 gdb_assert (gdbarch
!= NULL
);
5127 gdb_assert (gdbarch
->get_pc_address_flags
!= NULL
);
5128 if (gdbarch_debug
>= 2)
5129 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_pc_address_flags called\n");
5130 return gdbarch
->get_pc_address_flags (frame
, pc
);
5134 set_gdbarch_get_pc_address_flags (struct gdbarch
*gdbarch
,
5135 gdbarch_get_pc_address_flags_ftype get_pc_address_flags
)
5137 gdbarch
->get_pc_address_flags
= get_pc_address_flags
;
5141 /* Keep a registry of per-architecture data-pointers required by GDB
5148 gdbarch_data_pre_init_ftype
*pre_init
;
5149 gdbarch_data_post_init_ftype
*post_init
;
5152 struct gdbarch_data_registration
5154 struct gdbarch_data
*data
;
5155 struct gdbarch_data_registration
*next
;
5158 struct gdbarch_data_registry
5161 struct gdbarch_data_registration
*registrations
;
5164 struct gdbarch_data_registry gdbarch_data_registry
=
5169 static struct gdbarch_data
*
5170 gdbarch_data_register (gdbarch_data_pre_init_ftype
*pre_init
,
5171 gdbarch_data_post_init_ftype
*post_init
)
5173 struct gdbarch_data_registration
**curr
;
5175 /* Append the new registration. */
5176 for (curr
= &gdbarch_data_registry
.registrations
;
5178 curr
= &(*curr
)->next
);
5179 (*curr
) = XNEW (struct gdbarch_data_registration
);
5180 (*curr
)->next
= NULL
;
5181 (*curr
)->data
= XNEW (struct gdbarch_data
);
5182 (*curr
)->data
->index
= gdbarch_data_registry
.nr
++;
5183 (*curr
)->data
->pre_init
= pre_init
;
5184 (*curr
)->data
->post_init
= post_init
;
5185 (*curr
)->data
->init_p
= 1;
5186 return (*curr
)->data
;
5189 struct gdbarch_data
*
5190 gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype
*pre_init
)
5192 return gdbarch_data_register (pre_init
, NULL
);
5195 struct gdbarch_data
*
5196 gdbarch_data_register_post_init (gdbarch_data_post_init_ftype
*post_init
)
5198 return gdbarch_data_register (NULL
, post_init
);
5201 /* Create/delete the gdbarch data vector. */
5204 alloc_gdbarch_data (struct gdbarch
*gdbarch
)
5206 gdb_assert (gdbarch
->data
== NULL
);
5207 gdbarch
->nr_data
= gdbarch_data_registry
.nr
;
5208 gdbarch
->data
= GDBARCH_OBSTACK_CALLOC (gdbarch
, gdbarch
->nr_data
, void *);
5211 /* Return the current value of the specified per-architecture
5215 gdbarch_data (struct gdbarch
*gdbarch
, struct gdbarch_data
*data
)
5217 gdb_assert (data
->index
< gdbarch
->nr_data
);
5218 if (gdbarch
->data
[data
->index
] == NULL
)
5220 /* The data-pointer isn't initialized, call init() to get a
5222 if (data
->pre_init
!= NULL
)
5223 /* Mid architecture creation: pass just the obstack, and not
5224 the entire architecture, as that way it isn't possible for
5225 pre-init code to refer to undefined architecture
5227 gdbarch
->data
[data
->index
] = data
->pre_init (gdbarch
->obstack
);
5228 else if (gdbarch
->initialized_p
5229 && data
->post_init
!= NULL
)
5230 /* Post architecture creation: pass the entire architecture
5231 (as all fields are valid), but be careful to also detect
5232 recursive references. */
5234 gdb_assert (data
->init_p
);
5236 gdbarch
->data
[data
->index
] = data
->post_init (gdbarch
);
5240 internal_error (__FILE__
, __LINE__
,
5241 _("gdbarch post-init data field can only be used "
5242 "after gdbarch is fully initialised"));
5243 gdb_assert (gdbarch
->data
[data
->index
] != NULL
);
5245 return gdbarch
->data
[data
->index
];
5249 /* Keep a registry of the architectures known by GDB. */
5251 struct gdbarch_registration
5253 enum bfd_architecture bfd_architecture
;
5254 gdbarch_init_ftype
*init
;
5255 gdbarch_dump_tdep_ftype
*dump_tdep
;
5256 struct gdbarch_list
*arches
;
5257 struct gdbarch_registration
*next
;
5260 static struct gdbarch_registration
*gdbarch_registry
= NULL
;
5263 append_name (const char ***buf
, int *nr
, const char *name
)
5265 *buf
= XRESIZEVEC (const char *, *buf
, *nr
+ 1);
5271 gdbarch_printable_names (void)
5273 /* Accumulate a list of names based on the registed list of
5276 const char **arches
= NULL
;
5277 struct gdbarch_registration
*rego
;
5279 for (rego
= gdbarch_registry
;
5283 const struct bfd_arch_info
*ap
;
5284 ap
= bfd_lookup_arch (rego
->bfd_architecture
, 0);
5286 internal_error (__FILE__
, __LINE__
,
5287 _("gdbarch_architecture_names: multi-arch unknown"));
5290 append_name (&arches
, &nr_arches
, ap
->printable_name
);
5295 append_name (&arches
, &nr_arches
, NULL
);
5301 gdbarch_register (enum bfd_architecture bfd_architecture
,
5302 gdbarch_init_ftype
*init
,
5303 gdbarch_dump_tdep_ftype
*dump_tdep
)
5305 struct gdbarch_registration
**curr
;
5306 const struct bfd_arch_info
*bfd_arch_info
;
5308 /* Check that BFD recognizes this architecture */
5309 bfd_arch_info
= bfd_lookup_arch (bfd_architecture
, 0);
5310 if (bfd_arch_info
== NULL
)
5312 internal_error (__FILE__
, __LINE__
,
5313 _("gdbarch: Attempt to register "
5314 "unknown architecture (%d)"),
5317 /* Check that we haven't seen this architecture before. */
5318 for (curr
= &gdbarch_registry
;
5320 curr
= &(*curr
)->next
)
5322 if (bfd_architecture
== (*curr
)->bfd_architecture
)
5323 internal_error (__FILE__
, __LINE__
,
5324 _("gdbarch: Duplicate registration "
5325 "of architecture (%s)"),
5326 bfd_arch_info
->printable_name
);
5330 fprintf_unfiltered (gdb_stdlog
, "register_gdbarch_init (%s, %s)\n",
5331 bfd_arch_info
->printable_name
,
5332 host_address_to_string (init
));
5334 (*curr
) = XNEW (struct gdbarch_registration
);
5335 (*curr
)->bfd_architecture
= bfd_architecture
;
5336 (*curr
)->init
= init
;
5337 (*curr
)->dump_tdep
= dump_tdep
;
5338 (*curr
)->arches
= NULL
;
5339 (*curr
)->next
= NULL
;
5343 register_gdbarch_init (enum bfd_architecture bfd_architecture
,
5344 gdbarch_init_ftype
*init
)
5346 gdbarch_register (bfd_architecture
, init
, NULL
);
5350 /* Look for an architecture using gdbarch_info. */
5352 struct gdbarch_list
*
5353 gdbarch_list_lookup_by_info (struct gdbarch_list
*arches
,
5354 const struct gdbarch_info
*info
)
5356 for (; arches
!= NULL
; arches
= arches
->next
)
5358 if (info
->bfd_arch_info
!= arches
->gdbarch
->bfd_arch_info
)
5360 if (info
->byte_order
!= arches
->gdbarch
->byte_order
)
5362 if (info
->osabi
!= arches
->gdbarch
->osabi
)
5364 if (info
->target_desc
!= arches
->gdbarch
->target_desc
)
5372 /* Find an architecture that matches the specified INFO. Create a new
5373 architecture if needed. Return that new architecture. */
5376 gdbarch_find_by_info (struct gdbarch_info info
)
5378 struct gdbarch
*new_gdbarch
;
5379 struct gdbarch_registration
*rego
;
5381 /* Fill in missing parts of the INFO struct using a number of
5382 sources: "set ..."; INFOabfd supplied; and the global
5384 gdbarch_info_fill (&info
);
5386 /* Must have found some sort of architecture. */
5387 gdb_assert (info
.bfd_arch_info
!= NULL
);
5391 fprintf_unfiltered (gdb_stdlog
,
5392 "gdbarch_find_by_info: info.bfd_arch_info %s\n",
5393 (info
.bfd_arch_info
!= NULL
5394 ? info
.bfd_arch_info
->printable_name
5396 fprintf_unfiltered (gdb_stdlog
,
5397 "gdbarch_find_by_info: info.byte_order %d (%s)\n",
5399 (info
.byte_order
== BFD_ENDIAN_BIG
? "big"
5400 : info
.byte_order
== BFD_ENDIAN_LITTLE
? "little"
5402 fprintf_unfiltered (gdb_stdlog
,
5403 "gdbarch_find_by_info: info.osabi %d (%s)\n",
5404 info
.osabi
, gdbarch_osabi_name (info
.osabi
));
5405 fprintf_unfiltered (gdb_stdlog
,
5406 "gdbarch_find_by_info: info.abfd %s\n",
5407 host_address_to_string (info
.abfd
));
5408 fprintf_unfiltered (gdb_stdlog
,
5409 "gdbarch_find_by_info: info.tdep_info %s\n",
5410 host_address_to_string (info
.tdep_info
));
5413 /* Find the tdep code that knows about this architecture. */
5414 for (rego
= gdbarch_registry
;
5417 if (rego
->bfd_architecture
== info
.bfd_arch_info
->arch
)
5422 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5423 "No matching architecture\n");
5427 /* Ask the tdep code for an architecture that matches "info". */
5428 new_gdbarch
= rego
->init (info
, rego
->arches
);
5430 /* Did the tdep code like it? No. Reject the change and revert to
5431 the old architecture. */
5432 if (new_gdbarch
== NULL
)
5435 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5436 "Target rejected architecture\n");
5440 /* Is this a pre-existing architecture (as determined by already
5441 being initialized)? Move it to the front of the architecture
5442 list (keeping the list sorted Most Recently Used). */
5443 if (new_gdbarch
->initialized_p
)
5445 struct gdbarch_list
**list
;
5446 struct gdbarch_list
*self
;
5448 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5449 "Previous architecture %s (%s) selected\n",
5450 host_address_to_string (new_gdbarch
),
5451 new_gdbarch
->bfd_arch_info
->printable_name
);
5452 /* Find the existing arch in the list. */
5453 for (list
= ®o
->arches
;
5454 (*list
) != NULL
&& (*list
)->gdbarch
!= new_gdbarch
;
5455 list
= &(*list
)->next
);
5456 /* It had better be in the list of architectures. */
5457 gdb_assert ((*list
) != NULL
&& (*list
)->gdbarch
== new_gdbarch
);
5460 (*list
) = self
->next
;
5461 /* Insert SELF at the front. */
5462 self
->next
= rego
->arches
;
5463 rego
->arches
= self
;
5468 /* It's a new architecture. */
5470 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5471 "New architecture %s (%s) selected\n",
5472 host_address_to_string (new_gdbarch
),
5473 new_gdbarch
->bfd_arch_info
->printable_name
);
5475 /* Insert the new architecture into the front of the architecture
5476 list (keep the list sorted Most Recently Used). */
5478 struct gdbarch_list
*self
= XNEW (struct gdbarch_list
);
5479 self
->next
= rego
->arches
;
5480 self
->gdbarch
= new_gdbarch
;
5481 rego
->arches
= self
;
5484 /* Check that the newly installed architecture is valid. Plug in
5485 any post init values. */
5486 new_gdbarch
->dump_tdep
= rego
->dump_tdep
;
5487 verify_gdbarch (new_gdbarch
);
5488 new_gdbarch
->initialized_p
= 1;
5491 gdbarch_dump (new_gdbarch
, gdb_stdlog
);
5496 /* Make the specified architecture current. */
5499 set_target_gdbarch (struct gdbarch
*new_gdbarch
)
5501 gdb_assert (new_gdbarch
!= NULL
);
5502 gdb_assert (new_gdbarch
->initialized_p
);
5503 current_inferior ()->gdbarch
= new_gdbarch
;
5504 gdb::observers::architecture_changed
.notify (new_gdbarch
);
5505 registers_changed ();
5508 /* Return the current inferior's arch. */
5511 target_gdbarch (void)
5513 return current_inferior ()->gdbarch
;
5516 void _initialize_gdbarch ();
5518 _initialize_gdbarch ()
5520 add_setshow_zuinteger_cmd ("arch", class_maintenance
, &gdbarch_debug
, _("\
5521 Set architecture debugging."), _("\
5522 Show architecture debugging."), _("\
5523 When non-zero, architecture debugging is enabled."),
5526 &setdebuglist
, &showdebuglist
);