1 /* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
4 /* Dynamic architecture support for GDB, the GNU debugger.
6 Copyright (C) 1998-2016 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''.
25 The Bourne shell script ``gdbarch.sh'' creates the files
26 ``new-gdbarch.c'' and ``new-gdbarch.h and then compares them
27 against the existing ``gdbarch.[hc]''. Any differences found
30 If editing this file, please also run gdbarch.sh and merge any
31 changes into that script. Conversely, when making sweeping changes
32 to this file, modifying gdbarch.sh and using its output may prove
37 #include "arch-utils.h"
43 #include "floatformat.h"
44 #include "reggroups.h"
46 #include "gdb_obstack.h"
52 /* Static function declarations */
54 static void alloc_gdbarch_data (struct gdbarch
*);
56 /* Non-zero if we want to trace architecture code. */
59 #define GDBARCH_DEBUG 0
61 unsigned int gdbarch_debug
= GDBARCH_DEBUG
;
63 show_gdbarch_debug (struct ui_file
*file
, int from_tty
,
64 struct cmd_list_element
*c
, const char *value
)
66 fprintf_filtered (file
, _("Architecture debugging is %s.\n"), value
);
70 pformat (const struct floatformat
**format
)
75 /* Just print out one of them - this is only for diagnostics. */
76 return format
[0]->name
;
80 pstring (const char *string
)
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 int long_long_align_bit
;
172 const struct floatformat
** half_format
;
174 const struct floatformat
** float_format
;
176 const struct floatformat
** double_format
;
178 const struct floatformat
** long_double_format
;
179 gdbarch_floatformat_for_type_ftype
*floatformat_for_type
;
182 int dwarf2_addr_size
;
184 gdbarch_read_pc_ftype
*read_pc
;
185 gdbarch_write_pc_ftype
*write_pc
;
186 gdbarch_virtual_frame_pointer_ftype
*virtual_frame_pointer
;
187 gdbarch_pseudo_register_read_ftype
*pseudo_register_read
;
188 gdbarch_pseudo_register_read_value_ftype
*pseudo_register_read_value
;
189 gdbarch_pseudo_register_write_ftype
*pseudo_register_write
;
192 gdbarch_ax_pseudo_register_collect_ftype
*ax_pseudo_register_collect
;
193 gdbarch_ax_pseudo_register_push_stack_ftype
*ax_pseudo_register_push_stack
;
194 gdbarch_handle_segmentation_fault_ftype
*handle_segmentation_fault
;
199 gdbarch_stab_reg_to_regnum_ftype
*stab_reg_to_regnum
;
200 gdbarch_ecoff_reg_to_regnum_ftype
*ecoff_reg_to_regnum
;
201 gdbarch_sdb_reg_to_regnum_ftype
*sdb_reg_to_regnum
;
202 gdbarch_dwarf2_reg_to_regnum_ftype
*dwarf2_reg_to_regnum
;
203 gdbarch_register_name_ftype
*register_name
;
204 gdbarch_register_type_ftype
*register_type
;
205 gdbarch_dummy_id_ftype
*dummy_id
;
206 int deprecated_fp_regnum
;
207 gdbarch_push_dummy_call_ftype
*push_dummy_call
;
208 int call_dummy_location
;
209 gdbarch_push_dummy_code_ftype
*push_dummy_code
;
210 gdbarch_code_of_frame_writable_ftype
*code_of_frame_writable
;
211 gdbarch_print_registers_info_ftype
*print_registers_info
;
212 gdbarch_print_float_info_ftype
*print_float_info
;
213 gdbarch_print_vector_info_ftype
*print_vector_info
;
214 gdbarch_register_sim_regno_ftype
*register_sim_regno
;
215 gdbarch_cannot_fetch_register_ftype
*cannot_fetch_register
;
216 gdbarch_cannot_store_register_ftype
*cannot_store_register
;
217 gdbarch_get_longjmp_target_ftype
*get_longjmp_target
;
218 int believe_pcc_promotion
;
219 gdbarch_convert_register_p_ftype
*convert_register_p
;
220 gdbarch_register_to_value_ftype
*register_to_value
;
221 gdbarch_value_to_register_ftype
*value_to_register
;
222 gdbarch_value_from_register_ftype
*value_from_register
;
223 gdbarch_pointer_to_address_ftype
*pointer_to_address
;
224 gdbarch_address_to_pointer_ftype
*address_to_pointer
;
225 gdbarch_integer_to_address_ftype
*integer_to_address
;
226 gdbarch_return_value_ftype
*return_value
;
227 gdbarch_return_in_first_hidden_param_p_ftype
*return_in_first_hidden_param_p
;
228 gdbarch_skip_prologue_ftype
*skip_prologue
;
229 gdbarch_skip_main_prologue_ftype
*skip_main_prologue
;
230 gdbarch_skip_entrypoint_ftype
*skip_entrypoint
;
231 gdbarch_inner_than_ftype
*inner_than
;
232 gdbarch_breakpoint_from_pc_ftype
*breakpoint_from_pc
;
233 gdbarch_remote_breakpoint_from_pc_ftype
*remote_breakpoint_from_pc
;
234 gdbarch_adjust_breakpoint_address_ftype
*adjust_breakpoint_address
;
235 gdbarch_memory_insert_breakpoint_ftype
*memory_insert_breakpoint
;
236 gdbarch_memory_remove_breakpoint_ftype
*memory_remove_breakpoint
;
237 CORE_ADDR decr_pc_after_break
;
238 CORE_ADDR deprecated_function_start_offset
;
239 gdbarch_remote_register_number_ftype
*remote_register_number
;
240 gdbarch_fetch_tls_load_module_address_ftype
*fetch_tls_load_module_address
;
241 CORE_ADDR frame_args_skip
;
242 gdbarch_unwind_pc_ftype
*unwind_pc
;
243 gdbarch_unwind_sp_ftype
*unwind_sp
;
244 gdbarch_frame_num_args_ftype
*frame_num_args
;
245 gdbarch_frame_align_ftype
*frame_align
;
246 gdbarch_stabs_argument_has_addr_ftype
*stabs_argument_has_addr
;
247 int frame_red_zone_size
;
248 gdbarch_convert_from_func_ptr_addr_ftype
*convert_from_func_ptr_addr
;
249 gdbarch_addr_bits_remove_ftype
*addr_bits_remove
;
250 gdbarch_software_single_step_ftype
*software_single_step
;
251 gdbarch_single_step_through_delay_ftype
*single_step_through_delay
;
252 gdbarch_print_insn_ftype
*print_insn
;
253 gdbarch_skip_trampoline_code_ftype
*skip_trampoline_code
;
254 gdbarch_skip_solib_resolver_ftype
*skip_solib_resolver
;
255 gdbarch_in_solib_return_trampoline_ftype
*in_solib_return_trampoline
;
256 gdbarch_stack_frame_destroyed_p_ftype
*stack_frame_destroyed_p
;
257 gdbarch_elf_make_msymbol_special_ftype
*elf_make_msymbol_special
;
258 gdbarch_coff_make_msymbol_special_ftype
*coff_make_msymbol_special
;
259 gdbarch_make_symbol_special_ftype
*make_symbol_special
;
260 gdbarch_adjust_dwarf2_addr_ftype
*adjust_dwarf2_addr
;
261 gdbarch_adjust_dwarf2_line_ftype
*adjust_dwarf2_line
;
262 int cannot_step_breakpoint
;
263 int have_nonsteppable_watchpoint
;
264 gdbarch_address_class_type_flags_ftype
*address_class_type_flags
;
265 gdbarch_address_class_type_flags_to_name_ftype
*address_class_type_flags_to_name
;
266 gdbarch_address_class_name_to_type_flags_ftype
*address_class_name_to_type_flags
;
267 gdbarch_register_reggroup_p_ftype
*register_reggroup_p
;
268 gdbarch_fetch_pointer_argument_ftype
*fetch_pointer_argument
;
269 gdbarch_iterate_over_regset_sections_ftype
*iterate_over_regset_sections
;
270 gdbarch_make_corefile_notes_ftype
*make_corefile_notes
;
271 gdbarch_elfcore_write_linux_prpsinfo_ftype
*elfcore_write_linux_prpsinfo
;
272 gdbarch_find_memory_regions_ftype
*find_memory_regions
;
273 gdbarch_core_xfer_shared_libraries_ftype
*core_xfer_shared_libraries
;
274 gdbarch_core_xfer_shared_libraries_aix_ftype
*core_xfer_shared_libraries_aix
;
275 gdbarch_core_pid_to_str_ftype
*core_pid_to_str
;
276 gdbarch_core_thread_name_ftype
*core_thread_name
;
277 const char * gcore_bfd_target
;
278 int vtable_function_descriptors
;
280 gdbarch_skip_permanent_breakpoint_ftype
*skip_permanent_breakpoint
;
281 ULONGEST max_insn_length
;
282 gdbarch_displaced_step_copy_insn_ftype
*displaced_step_copy_insn
;
283 gdbarch_displaced_step_hw_singlestep_ftype
*displaced_step_hw_singlestep
;
284 gdbarch_displaced_step_fixup_ftype
*displaced_step_fixup
;
285 gdbarch_displaced_step_free_closure_ftype
*displaced_step_free_closure
;
286 gdbarch_displaced_step_location_ftype
*displaced_step_location
;
287 gdbarch_relocate_instruction_ftype
*relocate_instruction
;
288 gdbarch_overlay_update_ftype
*overlay_update
;
289 gdbarch_core_read_description_ftype
*core_read_description
;
290 gdbarch_static_transform_name_ftype
*static_transform_name
;
291 int sofun_address_maybe_missing
;
292 gdbarch_process_record_ftype
*process_record
;
293 gdbarch_process_record_signal_ftype
*process_record_signal
;
294 gdbarch_gdb_signal_from_target_ftype
*gdb_signal_from_target
;
295 gdbarch_gdb_signal_to_target_ftype
*gdb_signal_to_target
;
296 gdbarch_get_siginfo_type_ftype
*get_siginfo_type
;
297 gdbarch_record_special_symbol_ftype
*record_special_symbol
;
298 gdbarch_get_syscall_number_ftype
*get_syscall_number
;
299 const char * xml_syscall_file
;
300 struct syscalls_info
* syscalls_info
;
301 const char *const * stap_integer_prefixes
;
302 const char *const * stap_integer_suffixes
;
303 const char *const * stap_register_prefixes
;
304 const char *const * stap_register_suffixes
;
305 const char *const * stap_register_indirection_prefixes
;
306 const char *const * stap_register_indirection_suffixes
;
307 const char * stap_gdb_register_prefix
;
308 const char * stap_gdb_register_suffix
;
309 gdbarch_stap_is_single_operand_ftype
*stap_is_single_operand
;
310 gdbarch_stap_parse_special_token_ftype
*stap_parse_special_token
;
311 gdbarch_dtrace_parse_probe_argument_ftype
*dtrace_parse_probe_argument
;
312 gdbarch_dtrace_probe_is_enabled_ftype
*dtrace_probe_is_enabled
;
313 gdbarch_dtrace_enable_probe_ftype
*dtrace_enable_probe
;
314 gdbarch_dtrace_disable_probe_ftype
*dtrace_disable_probe
;
315 int has_global_solist
;
316 int has_global_breakpoints
;
317 gdbarch_has_shared_address_space_ftype
*has_shared_address_space
;
318 gdbarch_fast_tracepoint_valid_at_ftype
*fast_tracepoint_valid_at
;
319 gdbarch_guess_tracepoint_registers_ftype
*guess_tracepoint_registers
;
320 gdbarch_auto_charset_ftype
*auto_charset
;
321 gdbarch_auto_wide_charset_ftype
*auto_wide_charset
;
322 const char * solib_symbols_extension
;
323 int has_dos_based_file_system
;
324 gdbarch_gen_return_address_ftype
*gen_return_address
;
325 gdbarch_info_proc_ftype
*info_proc
;
326 gdbarch_core_info_proc_ftype
*core_info_proc
;
327 gdbarch_iterate_over_objfiles_in_search_order_ftype
*iterate_over_objfiles_in_search_order
;
328 struct ravenscar_arch_ops
* ravenscar_ops
;
329 gdbarch_insn_is_call_ftype
*insn_is_call
;
330 gdbarch_insn_is_ret_ftype
*insn_is_ret
;
331 gdbarch_insn_is_jump_ftype
*insn_is_jump
;
332 gdbarch_auxv_parse_ftype
*auxv_parse
;
333 gdbarch_print_auxv_entry_ftype
*print_auxv_entry
;
334 gdbarch_vsyscall_range_ftype
*vsyscall_range
;
335 gdbarch_infcall_mmap_ftype
*infcall_mmap
;
336 gdbarch_infcall_munmap_ftype
*infcall_munmap
;
337 gdbarch_gcc_target_options_ftype
*gcc_target_options
;
338 gdbarch_gnu_triplet_regexp_ftype
*gnu_triplet_regexp
;
339 gdbarch_addressable_memory_unit_size_ftype
*addressable_memory_unit_size
;
342 /* Create a new ``struct gdbarch'' based on information provided by
343 ``struct gdbarch_info''. */
346 gdbarch_alloc (const struct gdbarch_info
*info
,
347 struct gdbarch_tdep
*tdep
)
349 struct gdbarch
*gdbarch
;
351 /* Create an obstack for allocating all the per-architecture memory,
352 then use that to allocate the architecture vector. */
353 struct obstack
*obstack
= XNEW (struct obstack
);
354 obstack_init (obstack
);
355 gdbarch
= XOBNEW (obstack
, struct gdbarch
);
356 memset (gdbarch
, 0, sizeof (*gdbarch
));
357 gdbarch
->obstack
= obstack
;
359 alloc_gdbarch_data (gdbarch
);
361 gdbarch
->tdep
= tdep
;
363 gdbarch
->bfd_arch_info
= info
->bfd_arch_info
;
364 gdbarch
->byte_order
= info
->byte_order
;
365 gdbarch
->byte_order_for_code
= info
->byte_order_for_code
;
366 gdbarch
->osabi
= info
->osabi
;
367 gdbarch
->target_desc
= info
->target_desc
;
369 /* Force the explicit initialization of these. */
370 gdbarch
->bits_big_endian
= (gdbarch
->byte_order
== BFD_ENDIAN_BIG
);
371 gdbarch
->short_bit
= 2*TARGET_CHAR_BIT
;
372 gdbarch
->int_bit
= 4*TARGET_CHAR_BIT
;
373 gdbarch
->long_bit
= 4*TARGET_CHAR_BIT
;
374 gdbarch
->long_long_bit
= 2*gdbarch
->long_bit
;
375 gdbarch
->long_long_align_bit
= 2*gdbarch
->long_bit
;
376 gdbarch
->half_bit
= 2*TARGET_CHAR_BIT
;
377 gdbarch
->float_bit
= 4*TARGET_CHAR_BIT
;
378 gdbarch
->double_bit
= 8*TARGET_CHAR_BIT
;
379 gdbarch
->long_double_bit
= 8*TARGET_CHAR_BIT
;
380 gdbarch
->floatformat_for_type
= default_floatformat_for_type
;
381 gdbarch
->ptr_bit
= gdbarch
->int_bit
;
382 gdbarch
->char_signed
= -1;
383 gdbarch
->virtual_frame_pointer
= legacy_virtual_frame_pointer
;
384 gdbarch
->num_regs
= -1;
385 gdbarch
->sp_regnum
= -1;
386 gdbarch
->pc_regnum
= -1;
387 gdbarch
->ps_regnum
= -1;
388 gdbarch
->fp0_regnum
= -1;
389 gdbarch
->stab_reg_to_regnum
= no_op_reg_to_regnum
;
390 gdbarch
->ecoff_reg_to_regnum
= no_op_reg_to_regnum
;
391 gdbarch
->sdb_reg_to_regnum
= no_op_reg_to_regnum
;
392 gdbarch
->dwarf2_reg_to_regnum
= no_op_reg_to_regnum
;
393 gdbarch
->deprecated_fp_regnum
= -1;
394 gdbarch
->call_dummy_location
= AT_ENTRY_POINT
;
395 gdbarch
->code_of_frame_writable
= default_code_of_frame_writable
;
396 gdbarch
->print_registers_info
= default_print_registers_info
;
397 gdbarch
->print_float_info
= default_print_float_info
;
398 gdbarch
->register_sim_regno
= legacy_register_sim_regno
;
399 gdbarch
->cannot_fetch_register
= cannot_register_not
;
400 gdbarch
->cannot_store_register
= cannot_register_not
;
401 gdbarch
->convert_register_p
= generic_convert_register_p
;
402 gdbarch
->value_from_register
= default_value_from_register
;
403 gdbarch
->pointer_to_address
= unsigned_pointer_to_address
;
404 gdbarch
->address_to_pointer
= unsigned_address_to_pointer
;
405 gdbarch
->return_in_first_hidden_param_p
= default_return_in_first_hidden_param_p
;
406 gdbarch
->remote_breakpoint_from_pc
= default_remote_breakpoint_from_pc
;
407 gdbarch
->memory_insert_breakpoint
= default_memory_insert_breakpoint
;
408 gdbarch
->memory_remove_breakpoint
= default_memory_remove_breakpoint
;
409 gdbarch
->remote_register_number
= default_remote_register_number
;
410 gdbarch
->stabs_argument_has_addr
= default_stabs_argument_has_addr
;
411 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr_identity
;
412 gdbarch
->addr_bits_remove
= core_addr_identity
;
413 gdbarch
->skip_trampoline_code
= generic_skip_trampoline_code
;
414 gdbarch
->skip_solib_resolver
= generic_skip_solib_resolver
;
415 gdbarch
->in_solib_return_trampoline
= generic_in_solib_return_trampoline
;
416 gdbarch
->stack_frame_destroyed_p
= generic_stack_frame_destroyed_p
;
417 gdbarch
->coff_make_msymbol_special
= default_coff_make_msymbol_special
;
418 gdbarch
->make_symbol_special
= default_make_symbol_special
;
419 gdbarch
->adjust_dwarf2_addr
= default_adjust_dwarf2_addr
;
420 gdbarch
->adjust_dwarf2_line
= default_adjust_dwarf2_line
;
421 gdbarch
->register_reggroup_p
= default_register_reggroup_p
;
422 gdbarch
->skip_permanent_breakpoint
= default_skip_permanent_breakpoint
;
423 gdbarch
->displaced_step_hw_singlestep
= default_displaced_step_hw_singlestep
;
424 gdbarch
->displaced_step_fixup
= NULL
;
425 gdbarch
->displaced_step_free_closure
= NULL
;
426 gdbarch
->displaced_step_location
= NULL
;
427 gdbarch
->relocate_instruction
= NULL
;
428 gdbarch
->has_shared_address_space
= default_has_shared_address_space
;
429 gdbarch
->fast_tracepoint_valid_at
= default_fast_tracepoint_valid_at
;
430 gdbarch
->guess_tracepoint_registers
= default_guess_tracepoint_registers
;
431 gdbarch
->auto_charset
= default_auto_charset
;
432 gdbarch
->auto_wide_charset
= default_auto_wide_charset
;
433 gdbarch
->gen_return_address
= default_gen_return_address
;
434 gdbarch
->iterate_over_objfiles_in_search_order
= default_iterate_over_objfiles_in_search_order
;
435 gdbarch
->ravenscar_ops
= NULL
;
436 gdbarch
->insn_is_call
= default_insn_is_call
;
437 gdbarch
->insn_is_ret
= default_insn_is_ret
;
438 gdbarch
->insn_is_jump
= default_insn_is_jump
;
439 gdbarch
->print_auxv_entry
= default_print_auxv_entry
;
440 gdbarch
->vsyscall_range
= default_vsyscall_range
;
441 gdbarch
->infcall_mmap
= default_infcall_mmap
;
442 gdbarch
->infcall_munmap
= default_infcall_munmap
;
443 gdbarch
->gcc_target_options
= default_gcc_target_options
;
444 gdbarch
->gnu_triplet_regexp
= default_gnu_triplet_regexp
;
445 gdbarch
->addressable_memory_unit_size
= default_addressable_memory_unit_size
;
446 /* gdbarch_alloc() */
452 /* Allocate extra space using the per-architecture obstack. */
455 gdbarch_obstack_zalloc (struct gdbarch
*arch
, long size
)
457 void *data
= obstack_alloc (arch
->obstack
, size
);
459 memset (data
, 0, size
);
466 gdbarch_obstack_strdup (struct gdbarch
*arch
, const char *string
)
468 return obstack_strdup (arch
->obstack
, string
);
472 /* Free a gdbarch struct. This should never happen in normal
473 operation --- once you've created a gdbarch, you keep it around.
474 However, if an architecture's init function encounters an error
475 building the structure, it may need to clean up a partially
476 constructed gdbarch. */
479 gdbarch_free (struct gdbarch
*arch
)
481 struct obstack
*obstack
;
483 gdb_assert (arch
!= NULL
);
484 gdb_assert (!arch
->initialized_p
);
485 obstack
= arch
->obstack
;
486 obstack_free (obstack
, 0); /* Includes the ARCH. */
491 /* Ensure that all values in a GDBARCH are reasonable. */
494 verify_gdbarch (struct gdbarch
*gdbarch
)
497 struct cleanup
*cleanups
;
501 log
= mem_fileopen ();
502 cleanups
= make_cleanup_ui_file_delete (log
);
504 if (gdbarch
->byte_order
== BFD_ENDIAN_UNKNOWN
)
505 fprintf_unfiltered (log
, "\n\tbyte-order");
506 if (gdbarch
->bfd_arch_info
== NULL
)
507 fprintf_unfiltered (log
, "\n\tbfd_arch_info");
508 /* Check those that need to be defined for the given multi-arch level. */
509 /* Skip verify of bits_big_endian, invalid_p == 0 */
510 /* Skip verify of short_bit, invalid_p == 0 */
511 /* Skip verify of int_bit, invalid_p == 0 */
512 /* Skip verify of long_bit, invalid_p == 0 */
513 /* Skip verify of long_long_bit, invalid_p == 0 */
514 /* Skip verify of long_long_align_bit, invalid_p == 0 */
515 /* Skip verify of half_bit, invalid_p == 0 */
516 if (gdbarch
->half_format
== 0)
517 gdbarch
->half_format
= floatformats_ieee_half
;
518 /* Skip verify of float_bit, invalid_p == 0 */
519 if (gdbarch
->float_format
== 0)
520 gdbarch
->float_format
= floatformats_ieee_single
;
521 /* Skip verify of double_bit, invalid_p == 0 */
522 if (gdbarch
->double_format
== 0)
523 gdbarch
->double_format
= floatformats_ieee_double
;
524 /* Skip verify of long_double_bit, invalid_p == 0 */
525 if (gdbarch
->long_double_format
== 0)
526 gdbarch
->long_double_format
= floatformats_ieee_double
;
527 /* Skip verify of floatformat_for_type, invalid_p == 0 */
528 /* Skip verify of ptr_bit, invalid_p == 0 */
529 if (gdbarch
->addr_bit
== 0)
530 gdbarch
->addr_bit
= gdbarch_ptr_bit (gdbarch
);
531 if (gdbarch
->dwarf2_addr_size
== 0)
532 gdbarch
->dwarf2_addr_size
= gdbarch_ptr_bit (gdbarch
) / TARGET_CHAR_BIT
;
533 if (gdbarch
->char_signed
== -1)
534 gdbarch
->char_signed
= 1;
535 /* Skip verify of read_pc, has predicate. */
536 /* Skip verify of write_pc, has predicate. */
537 /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
538 /* Skip verify of pseudo_register_read, has predicate. */
539 /* Skip verify of pseudo_register_read_value, has predicate. */
540 /* Skip verify of pseudo_register_write, has predicate. */
541 if (gdbarch
->num_regs
== -1)
542 fprintf_unfiltered (log
, "\n\tnum_regs");
543 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
544 /* Skip verify of ax_pseudo_register_collect, has predicate. */
545 /* Skip verify of ax_pseudo_register_push_stack, has predicate. */
546 /* Skip verify of handle_segmentation_fault, has predicate. */
547 /* Skip verify of sp_regnum, invalid_p == 0 */
548 /* Skip verify of pc_regnum, invalid_p == 0 */
549 /* Skip verify of ps_regnum, invalid_p == 0 */
550 /* Skip verify of fp0_regnum, invalid_p == 0 */
551 /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
552 /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
553 /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
554 /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
555 if (gdbarch
->register_name
== 0)
556 fprintf_unfiltered (log
, "\n\tregister_name");
557 /* Skip verify of register_type, has predicate. */
558 /* Skip verify of dummy_id, has predicate. */
559 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
560 /* Skip verify of push_dummy_call, has predicate. */
561 /* Skip verify of call_dummy_location, invalid_p == 0 */
562 /* Skip verify of push_dummy_code, has predicate. */
563 /* Skip verify of code_of_frame_writable, invalid_p == 0 */
564 /* Skip verify of print_registers_info, invalid_p == 0 */
565 /* Skip verify of print_float_info, invalid_p == 0 */
566 /* Skip verify of print_vector_info, has predicate. */
567 /* Skip verify of register_sim_regno, invalid_p == 0 */
568 /* Skip verify of cannot_fetch_register, invalid_p == 0 */
569 /* Skip verify of cannot_store_register, invalid_p == 0 */
570 /* Skip verify of get_longjmp_target, has predicate. */
571 /* Skip verify of convert_register_p, invalid_p == 0 */
572 /* Skip verify of value_from_register, invalid_p == 0 */
573 /* Skip verify of pointer_to_address, invalid_p == 0 */
574 /* Skip verify of address_to_pointer, invalid_p == 0 */
575 /* Skip verify of integer_to_address, has predicate. */
576 /* Skip verify of return_value, has predicate. */
577 /* Skip verify of return_in_first_hidden_param_p, invalid_p == 0 */
578 if (gdbarch
->skip_prologue
== 0)
579 fprintf_unfiltered (log
, "\n\tskip_prologue");
580 /* Skip verify of skip_main_prologue, has predicate. */
581 /* Skip verify of skip_entrypoint, has predicate. */
582 if (gdbarch
->inner_than
== 0)
583 fprintf_unfiltered (log
, "\n\tinner_than");
584 if (gdbarch
->breakpoint_from_pc
== 0)
585 fprintf_unfiltered (log
, "\n\tbreakpoint_from_pc");
586 /* Skip verify of remote_breakpoint_from_pc, invalid_p == 0 */
587 /* Skip verify of adjust_breakpoint_address, has predicate. */
588 /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
589 /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
590 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
591 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
592 /* Skip verify of remote_register_number, invalid_p == 0 */
593 /* Skip verify of fetch_tls_load_module_address, has predicate. */
594 /* Skip verify of frame_args_skip, invalid_p == 0 */
595 /* Skip verify of unwind_pc, has predicate. */
596 /* Skip verify of unwind_sp, has predicate. */
597 /* Skip verify of frame_num_args, has predicate. */
598 /* Skip verify of frame_align, has predicate. */
599 /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
600 /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
601 /* Skip verify of addr_bits_remove, invalid_p == 0 */
602 /* Skip verify of software_single_step, has predicate. */
603 /* Skip verify of single_step_through_delay, has predicate. */
604 if (gdbarch
->print_insn
== 0)
605 fprintf_unfiltered (log
, "\n\tprint_insn");
606 /* Skip verify of skip_trampoline_code, invalid_p == 0 */
607 /* Skip verify of skip_solib_resolver, invalid_p == 0 */
608 /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
609 /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
610 /* Skip verify of elf_make_msymbol_special, has predicate. */
611 /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
612 /* Skip verify of make_symbol_special, invalid_p == 0 */
613 /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */
614 /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */
615 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
616 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
617 /* Skip verify of address_class_type_flags, has predicate. */
618 /* Skip verify of address_class_type_flags_to_name, has predicate. */
619 /* Skip verify of address_class_name_to_type_flags, has predicate. */
620 /* Skip verify of register_reggroup_p, invalid_p == 0 */
621 /* Skip verify of fetch_pointer_argument, has predicate. */
622 /* Skip verify of iterate_over_regset_sections, has predicate. */
623 /* Skip verify of make_corefile_notes, has predicate. */
624 /* Skip verify of elfcore_write_linux_prpsinfo, has predicate. */
625 /* Skip verify of find_memory_regions, has predicate. */
626 /* Skip verify of core_xfer_shared_libraries, has predicate. */
627 /* Skip verify of core_xfer_shared_libraries_aix, has predicate. */
628 /* Skip verify of core_pid_to_str, has predicate. */
629 /* Skip verify of core_thread_name, has predicate. */
630 /* Skip verify of gcore_bfd_target, has predicate. */
631 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
632 /* Skip verify of vbit_in_delta, invalid_p == 0 */
633 /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */
634 /* Skip verify of max_insn_length, has predicate. */
635 /* Skip verify of displaced_step_copy_insn, has predicate. */
636 /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */
637 /* Skip verify of displaced_step_fixup, has predicate. */
638 if ((! gdbarch
->displaced_step_free_closure
) != (! gdbarch
->displaced_step_copy_insn
))
639 fprintf_unfiltered (log
, "\n\tdisplaced_step_free_closure");
640 if ((! gdbarch
->displaced_step_location
) != (! gdbarch
->displaced_step_copy_insn
))
641 fprintf_unfiltered (log
, "\n\tdisplaced_step_location");
642 /* Skip verify of relocate_instruction, has predicate. */
643 /* Skip verify of overlay_update, has predicate. */
644 /* Skip verify of core_read_description, has predicate. */
645 /* Skip verify of static_transform_name, has predicate. */
646 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
647 /* Skip verify of process_record, has predicate. */
648 /* Skip verify of process_record_signal, has predicate. */
649 /* Skip verify of gdb_signal_from_target, has predicate. */
650 /* Skip verify of gdb_signal_to_target, has predicate. */
651 /* Skip verify of get_siginfo_type, has predicate. */
652 /* Skip verify of record_special_symbol, has predicate. */
653 /* Skip verify of get_syscall_number, has predicate. */
654 /* Skip verify of xml_syscall_file, invalid_p == 0 */
655 /* Skip verify of syscalls_info, invalid_p == 0 */
656 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
657 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
658 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
659 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
660 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
661 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
662 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
663 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
664 /* Skip verify of stap_is_single_operand, has predicate. */
665 /* Skip verify of stap_parse_special_token, has predicate. */
666 /* Skip verify of dtrace_parse_probe_argument, has predicate. */
667 /* Skip verify of dtrace_probe_is_enabled, has predicate. */
668 /* Skip verify of dtrace_enable_probe, has predicate. */
669 /* Skip verify of dtrace_disable_probe, has predicate. */
670 /* Skip verify of has_global_solist, invalid_p == 0 */
671 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
672 /* Skip verify of has_shared_address_space, invalid_p == 0 */
673 /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */
674 /* Skip verify of guess_tracepoint_registers, invalid_p == 0 */
675 /* Skip verify of auto_charset, invalid_p == 0 */
676 /* Skip verify of auto_wide_charset, invalid_p == 0 */
677 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
678 /* Skip verify of gen_return_address, invalid_p == 0 */
679 /* Skip verify of info_proc, has predicate. */
680 /* Skip verify of core_info_proc, has predicate. */
681 /* Skip verify of iterate_over_objfiles_in_search_order, invalid_p == 0 */
682 /* Skip verify of ravenscar_ops, invalid_p == 0 */
683 /* Skip verify of insn_is_call, invalid_p == 0 */
684 /* Skip verify of insn_is_ret, invalid_p == 0 */
685 /* Skip verify of insn_is_jump, invalid_p == 0 */
686 /* Skip verify of auxv_parse, has predicate. */
687 /* Skip verify of print_auxv_entry, invalid_p == 0 */
688 /* Skip verify of vsyscall_range, invalid_p == 0 */
689 /* Skip verify of infcall_mmap, invalid_p == 0 */
690 /* Skip verify of infcall_munmap, invalid_p == 0 */
691 /* Skip verify of gcc_target_options, invalid_p == 0 */
692 /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
693 /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
694 buf
= ui_file_xstrdup (log
, &length
);
695 make_cleanup (xfree
, buf
);
697 internal_error (__FILE__
, __LINE__
,
698 _("verify_gdbarch: the following are invalid ...%s"),
700 do_cleanups (cleanups
);
704 /* Print out the details of the current architecture. */
707 gdbarch_dump (struct gdbarch
*gdbarch
, struct ui_file
*file
)
709 const char *gdb_nm_file
= "<not-defined>";
711 #if defined (GDB_NM_FILE)
712 gdb_nm_file
= GDB_NM_FILE
;
714 fprintf_unfiltered (file
,
715 "gdbarch_dump: GDB_NM_FILE = %s\n",
717 fprintf_unfiltered (file
,
718 "gdbarch_dump: addr_bit = %s\n",
719 plongest (gdbarch
->addr_bit
));
720 fprintf_unfiltered (file
,
721 "gdbarch_dump: addr_bits_remove = <%s>\n",
722 host_address_to_string (gdbarch
->addr_bits_remove
));
723 fprintf_unfiltered (file
,
724 "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
725 gdbarch_address_class_name_to_type_flags_p (gdbarch
));
726 fprintf_unfiltered (file
,
727 "gdbarch_dump: address_class_name_to_type_flags = <%s>\n",
728 host_address_to_string (gdbarch
->address_class_name_to_type_flags
));
729 fprintf_unfiltered (file
,
730 "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
731 gdbarch_address_class_type_flags_p (gdbarch
));
732 fprintf_unfiltered (file
,
733 "gdbarch_dump: address_class_type_flags = <%s>\n",
734 host_address_to_string (gdbarch
->address_class_type_flags
));
735 fprintf_unfiltered (file
,
736 "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
737 gdbarch_address_class_type_flags_to_name_p (gdbarch
));
738 fprintf_unfiltered (file
,
739 "gdbarch_dump: address_class_type_flags_to_name = <%s>\n",
740 host_address_to_string (gdbarch
->address_class_type_flags_to_name
));
741 fprintf_unfiltered (file
,
742 "gdbarch_dump: address_to_pointer = <%s>\n",
743 host_address_to_string (gdbarch
->address_to_pointer
));
744 fprintf_unfiltered (file
,
745 "gdbarch_dump: addressable_memory_unit_size = <%s>\n",
746 host_address_to_string (gdbarch
->addressable_memory_unit_size
));
747 fprintf_unfiltered (file
,
748 "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
749 gdbarch_adjust_breakpoint_address_p (gdbarch
));
750 fprintf_unfiltered (file
,
751 "gdbarch_dump: adjust_breakpoint_address = <%s>\n",
752 host_address_to_string (gdbarch
->adjust_breakpoint_address
));
753 fprintf_unfiltered (file
,
754 "gdbarch_dump: adjust_dwarf2_addr = <%s>\n",
755 host_address_to_string (gdbarch
->adjust_dwarf2_addr
));
756 fprintf_unfiltered (file
,
757 "gdbarch_dump: adjust_dwarf2_line = <%s>\n",
758 host_address_to_string (gdbarch
->adjust_dwarf2_line
));
759 fprintf_unfiltered (file
,
760 "gdbarch_dump: auto_charset = <%s>\n",
761 host_address_to_string (gdbarch
->auto_charset
));
762 fprintf_unfiltered (file
,
763 "gdbarch_dump: auto_wide_charset = <%s>\n",
764 host_address_to_string (gdbarch
->auto_wide_charset
));
765 fprintf_unfiltered (file
,
766 "gdbarch_dump: gdbarch_auxv_parse_p() = %d\n",
767 gdbarch_auxv_parse_p (gdbarch
));
768 fprintf_unfiltered (file
,
769 "gdbarch_dump: auxv_parse = <%s>\n",
770 host_address_to_string (gdbarch
->auxv_parse
));
771 fprintf_unfiltered (file
,
772 "gdbarch_dump: gdbarch_ax_pseudo_register_collect_p() = %d\n",
773 gdbarch_ax_pseudo_register_collect_p (gdbarch
));
774 fprintf_unfiltered (file
,
775 "gdbarch_dump: ax_pseudo_register_collect = <%s>\n",
776 host_address_to_string (gdbarch
->ax_pseudo_register_collect
));
777 fprintf_unfiltered (file
,
778 "gdbarch_dump: gdbarch_ax_pseudo_register_push_stack_p() = %d\n",
779 gdbarch_ax_pseudo_register_push_stack_p (gdbarch
));
780 fprintf_unfiltered (file
,
781 "gdbarch_dump: ax_pseudo_register_push_stack = <%s>\n",
782 host_address_to_string (gdbarch
->ax_pseudo_register_push_stack
));
783 fprintf_unfiltered (file
,
784 "gdbarch_dump: believe_pcc_promotion = %s\n",
785 plongest (gdbarch
->believe_pcc_promotion
));
786 fprintf_unfiltered (file
,
787 "gdbarch_dump: bfd_arch_info = %s\n",
788 gdbarch_bfd_arch_info (gdbarch
)->printable_name
);
789 fprintf_unfiltered (file
,
790 "gdbarch_dump: bits_big_endian = %s\n",
791 plongest (gdbarch
->bits_big_endian
));
792 fprintf_unfiltered (file
,
793 "gdbarch_dump: breakpoint_from_pc = <%s>\n",
794 host_address_to_string (gdbarch
->breakpoint_from_pc
));
795 fprintf_unfiltered (file
,
796 "gdbarch_dump: byte_order = %s\n",
797 plongest (gdbarch
->byte_order
));
798 fprintf_unfiltered (file
,
799 "gdbarch_dump: byte_order_for_code = %s\n",
800 plongest (gdbarch
->byte_order_for_code
));
801 fprintf_unfiltered (file
,
802 "gdbarch_dump: call_dummy_location = %s\n",
803 plongest (gdbarch
->call_dummy_location
));
804 fprintf_unfiltered (file
,
805 "gdbarch_dump: cannot_fetch_register = <%s>\n",
806 host_address_to_string (gdbarch
->cannot_fetch_register
));
807 fprintf_unfiltered (file
,
808 "gdbarch_dump: cannot_step_breakpoint = %s\n",
809 plongest (gdbarch
->cannot_step_breakpoint
));
810 fprintf_unfiltered (file
,
811 "gdbarch_dump: cannot_store_register = <%s>\n",
812 host_address_to_string (gdbarch
->cannot_store_register
));
813 fprintf_unfiltered (file
,
814 "gdbarch_dump: char_signed = %s\n",
815 plongest (gdbarch
->char_signed
));
816 fprintf_unfiltered (file
,
817 "gdbarch_dump: code_of_frame_writable = <%s>\n",
818 host_address_to_string (gdbarch
->code_of_frame_writable
));
819 fprintf_unfiltered (file
,
820 "gdbarch_dump: coff_make_msymbol_special = <%s>\n",
821 host_address_to_string (gdbarch
->coff_make_msymbol_special
));
822 fprintf_unfiltered (file
,
823 "gdbarch_dump: convert_from_func_ptr_addr = <%s>\n",
824 host_address_to_string (gdbarch
->convert_from_func_ptr_addr
));
825 fprintf_unfiltered (file
,
826 "gdbarch_dump: convert_register_p = <%s>\n",
827 host_address_to_string (gdbarch
->convert_register_p
));
828 fprintf_unfiltered (file
,
829 "gdbarch_dump: gdbarch_core_info_proc_p() = %d\n",
830 gdbarch_core_info_proc_p (gdbarch
));
831 fprintf_unfiltered (file
,
832 "gdbarch_dump: core_info_proc = <%s>\n",
833 host_address_to_string (gdbarch
->core_info_proc
));
834 fprintf_unfiltered (file
,
835 "gdbarch_dump: gdbarch_core_pid_to_str_p() = %d\n",
836 gdbarch_core_pid_to_str_p (gdbarch
));
837 fprintf_unfiltered (file
,
838 "gdbarch_dump: core_pid_to_str = <%s>\n",
839 host_address_to_string (gdbarch
->core_pid_to_str
));
840 fprintf_unfiltered (file
,
841 "gdbarch_dump: gdbarch_core_read_description_p() = %d\n",
842 gdbarch_core_read_description_p (gdbarch
));
843 fprintf_unfiltered (file
,
844 "gdbarch_dump: core_read_description = <%s>\n",
845 host_address_to_string (gdbarch
->core_read_description
));
846 fprintf_unfiltered (file
,
847 "gdbarch_dump: gdbarch_core_thread_name_p() = %d\n",
848 gdbarch_core_thread_name_p (gdbarch
));
849 fprintf_unfiltered (file
,
850 "gdbarch_dump: core_thread_name = <%s>\n",
851 host_address_to_string (gdbarch
->core_thread_name
));
852 fprintf_unfiltered (file
,
853 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
854 gdbarch_core_xfer_shared_libraries_p (gdbarch
));
855 fprintf_unfiltered (file
,
856 "gdbarch_dump: core_xfer_shared_libraries = <%s>\n",
857 host_address_to_string (gdbarch
->core_xfer_shared_libraries
));
858 fprintf_unfiltered (file
,
859 "gdbarch_dump: gdbarch_core_xfer_shared_libraries_aix_p() = %d\n",
860 gdbarch_core_xfer_shared_libraries_aix_p (gdbarch
));
861 fprintf_unfiltered (file
,
862 "gdbarch_dump: core_xfer_shared_libraries_aix = <%s>\n",
863 host_address_to_string (gdbarch
->core_xfer_shared_libraries_aix
));
864 fprintf_unfiltered (file
,
865 "gdbarch_dump: decr_pc_after_break = %s\n",
866 core_addr_to_string_nz (gdbarch
->decr_pc_after_break
));
867 fprintf_unfiltered (file
,
868 "gdbarch_dump: deprecated_fp_regnum = %s\n",
869 plongest (gdbarch
->deprecated_fp_regnum
));
870 fprintf_unfiltered (file
,
871 "gdbarch_dump: deprecated_function_start_offset = %s\n",
872 core_addr_to_string_nz (gdbarch
->deprecated_function_start_offset
));
873 fprintf_unfiltered (file
,
874 "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
875 gdbarch_displaced_step_copy_insn_p (gdbarch
));
876 fprintf_unfiltered (file
,
877 "gdbarch_dump: displaced_step_copy_insn = <%s>\n",
878 host_address_to_string (gdbarch
->displaced_step_copy_insn
));
879 fprintf_unfiltered (file
,
880 "gdbarch_dump: gdbarch_displaced_step_fixup_p() = %d\n",
881 gdbarch_displaced_step_fixup_p (gdbarch
));
882 fprintf_unfiltered (file
,
883 "gdbarch_dump: displaced_step_fixup = <%s>\n",
884 host_address_to_string (gdbarch
->displaced_step_fixup
));
885 fprintf_unfiltered (file
,
886 "gdbarch_dump: displaced_step_free_closure = <%s>\n",
887 host_address_to_string (gdbarch
->displaced_step_free_closure
));
888 fprintf_unfiltered (file
,
889 "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n",
890 host_address_to_string (gdbarch
->displaced_step_hw_singlestep
));
891 fprintf_unfiltered (file
,
892 "gdbarch_dump: displaced_step_location = <%s>\n",
893 host_address_to_string (gdbarch
->displaced_step_location
));
894 fprintf_unfiltered (file
,
895 "gdbarch_dump: double_bit = %s\n",
896 plongest (gdbarch
->double_bit
));
897 fprintf_unfiltered (file
,
898 "gdbarch_dump: double_format = %s\n",
899 pformat (gdbarch
->double_format
));
900 fprintf_unfiltered (file
,
901 "gdbarch_dump: gdbarch_dtrace_disable_probe_p() = %d\n",
902 gdbarch_dtrace_disable_probe_p (gdbarch
));
903 fprintf_unfiltered (file
,
904 "gdbarch_dump: dtrace_disable_probe = <%s>\n",
905 host_address_to_string (gdbarch
->dtrace_disable_probe
));
906 fprintf_unfiltered (file
,
907 "gdbarch_dump: gdbarch_dtrace_enable_probe_p() = %d\n",
908 gdbarch_dtrace_enable_probe_p (gdbarch
));
909 fprintf_unfiltered (file
,
910 "gdbarch_dump: dtrace_enable_probe = <%s>\n",
911 host_address_to_string (gdbarch
->dtrace_enable_probe
));
912 fprintf_unfiltered (file
,
913 "gdbarch_dump: gdbarch_dtrace_parse_probe_argument_p() = %d\n",
914 gdbarch_dtrace_parse_probe_argument_p (gdbarch
));
915 fprintf_unfiltered (file
,
916 "gdbarch_dump: dtrace_parse_probe_argument = <%s>\n",
917 host_address_to_string (gdbarch
->dtrace_parse_probe_argument
));
918 fprintf_unfiltered (file
,
919 "gdbarch_dump: gdbarch_dtrace_probe_is_enabled_p() = %d\n",
920 gdbarch_dtrace_probe_is_enabled_p (gdbarch
));
921 fprintf_unfiltered (file
,
922 "gdbarch_dump: dtrace_probe_is_enabled = <%s>\n",
923 host_address_to_string (gdbarch
->dtrace_probe_is_enabled
));
924 fprintf_unfiltered (file
,
925 "gdbarch_dump: gdbarch_dummy_id_p() = %d\n",
926 gdbarch_dummy_id_p (gdbarch
));
927 fprintf_unfiltered (file
,
928 "gdbarch_dump: dummy_id = <%s>\n",
929 host_address_to_string (gdbarch
->dummy_id
));
930 fprintf_unfiltered (file
,
931 "gdbarch_dump: dwarf2_addr_size = %s\n",
932 plongest (gdbarch
->dwarf2_addr_size
));
933 fprintf_unfiltered (file
,
934 "gdbarch_dump: dwarf2_reg_to_regnum = <%s>\n",
935 host_address_to_string (gdbarch
->dwarf2_reg_to_regnum
));
936 fprintf_unfiltered (file
,
937 "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n",
938 host_address_to_string (gdbarch
->ecoff_reg_to_regnum
));
939 fprintf_unfiltered (file
,
940 "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n",
941 gdbarch_elf_make_msymbol_special_p (gdbarch
));
942 fprintf_unfiltered (file
,
943 "gdbarch_dump: elf_make_msymbol_special = <%s>\n",
944 host_address_to_string (gdbarch
->elf_make_msymbol_special
));
945 fprintf_unfiltered (file
,
946 "gdbarch_dump: gdbarch_elfcore_write_linux_prpsinfo_p() = %d\n",
947 gdbarch_elfcore_write_linux_prpsinfo_p (gdbarch
));
948 fprintf_unfiltered (file
,
949 "gdbarch_dump: elfcore_write_linux_prpsinfo = <%s>\n",
950 host_address_to_string (gdbarch
->elfcore_write_linux_prpsinfo
));
951 fprintf_unfiltered (file
,
952 "gdbarch_dump: fast_tracepoint_valid_at = <%s>\n",
953 host_address_to_string (gdbarch
->fast_tracepoint_valid_at
));
954 fprintf_unfiltered (file
,
955 "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
956 gdbarch_fetch_pointer_argument_p (gdbarch
));
957 fprintf_unfiltered (file
,
958 "gdbarch_dump: fetch_pointer_argument = <%s>\n",
959 host_address_to_string (gdbarch
->fetch_pointer_argument
));
960 fprintf_unfiltered (file
,
961 "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
962 gdbarch_fetch_tls_load_module_address_p (gdbarch
));
963 fprintf_unfiltered (file
,
964 "gdbarch_dump: fetch_tls_load_module_address = <%s>\n",
965 host_address_to_string (gdbarch
->fetch_tls_load_module_address
));
966 fprintf_unfiltered (file
,
967 "gdbarch_dump: gdbarch_find_memory_regions_p() = %d\n",
968 gdbarch_find_memory_regions_p (gdbarch
));
969 fprintf_unfiltered (file
,
970 "gdbarch_dump: find_memory_regions = <%s>\n",
971 host_address_to_string (gdbarch
->find_memory_regions
));
972 fprintf_unfiltered (file
,
973 "gdbarch_dump: float_bit = %s\n",
974 plongest (gdbarch
->float_bit
));
975 fprintf_unfiltered (file
,
976 "gdbarch_dump: float_format = %s\n",
977 pformat (gdbarch
->float_format
));
978 fprintf_unfiltered (file
,
979 "gdbarch_dump: floatformat_for_type = <%s>\n",
980 host_address_to_string (gdbarch
->floatformat_for_type
));
981 fprintf_unfiltered (file
,
982 "gdbarch_dump: fp0_regnum = %s\n",
983 plongest (gdbarch
->fp0_regnum
));
984 fprintf_unfiltered (file
,
985 "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
986 gdbarch_frame_align_p (gdbarch
));
987 fprintf_unfiltered (file
,
988 "gdbarch_dump: frame_align = <%s>\n",
989 host_address_to_string (gdbarch
->frame_align
));
990 fprintf_unfiltered (file
,
991 "gdbarch_dump: frame_args_skip = %s\n",
992 core_addr_to_string_nz (gdbarch
->frame_args_skip
));
993 fprintf_unfiltered (file
,
994 "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
995 gdbarch_frame_num_args_p (gdbarch
));
996 fprintf_unfiltered (file
,
997 "gdbarch_dump: frame_num_args = <%s>\n",
998 host_address_to_string (gdbarch
->frame_num_args
));
999 fprintf_unfiltered (file
,
1000 "gdbarch_dump: frame_red_zone_size = %s\n",
1001 plongest (gdbarch
->frame_red_zone_size
));
1002 fprintf_unfiltered (file
,
1003 "gdbarch_dump: gcc_target_options = <%s>\n",
1004 host_address_to_string (gdbarch
->gcc_target_options
));
1005 fprintf_unfiltered (file
,
1006 "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n",
1007 gdbarch_gcore_bfd_target_p (gdbarch
));
1008 fprintf_unfiltered (file
,
1009 "gdbarch_dump: gcore_bfd_target = %s\n",
1010 pstring (gdbarch
->gcore_bfd_target
));
1011 fprintf_unfiltered (file
,
1012 "gdbarch_dump: gdbarch_gdb_signal_from_target_p() = %d\n",
1013 gdbarch_gdb_signal_from_target_p (gdbarch
));
1014 fprintf_unfiltered (file
,
1015 "gdbarch_dump: gdb_signal_from_target = <%s>\n",
1016 host_address_to_string (gdbarch
->gdb_signal_from_target
));
1017 fprintf_unfiltered (file
,
1018 "gdbarch_dump: gdbarch_gdb_signal_to_target_p() = %d\n",
1019 gdbarch_gdb_signal_to_target_p (gdbarch
));
1020 fprintf_unfiltered (file
,
1021 "gdbarch_dump: gdb_signal_to_target = <%s>\n",
1022 host_address_to_string (gdbarch
->gdb_signal_to_target
));
1023 fprintf_unfiltered (file
,
1024 "gdbarch_dump: gen_return_address = <%s>\n",
1025 host_address_to_string (gdbarch
->gen_return_address
));
1026 fprintf_unfiltered (file
,
1027 "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
1028 gdbarch_get_longjmp_target_p (gdbarch
));
1029 fprintf_unfiltered (file
,
1030 "gdbarch_dump: get_longjmp_target = <%s>\n",
1031 host_address_to_string (gdbarch
->get_longjmp_target
));
1032 fprintf_unfiltered (file
,
1033 "gdbarch_dump: gdbarch_get_siginfo_type_p() = %d\n",
1034 gdbarch_get_siginfo_type_p (gdbarch
));
1035 fprintf_unfiltered (file
,
1036 "gdbarch_dump: get_siginfo_type = <%s>\n",
1037 host_address_to_string (gdbarch
->get_siginfo_type
));
1038 fprintf_unfiltered (file
,
1039 "gdbarch_dump: gdbarch_get_syscall_number_p() = %d\n",
1040 gdbarch_get_syscall_number_p (gdbarch
));
1041 fprintf_unfiltered (file
,
1042 "gdbarch_dump: get_syscall_number = <%s>\n",
1043 host_address_to_string (gdbarch
->get_syscall_number
));
1044 fprintf_unfiltered (file
,
1045 "gdbarch_dump: gnu_triplet_regexp = <%s>\n",
1046 host_address_to_string (gdbarch
->gnu_triplet_regexp
));
1047 fprintf_unfiltered (file
,
1048 "gdbarch_dump: guess_tracepoint_registers = <%s>\n",
1049 host_address_to_string (gdbarch
->guess_tracepoint_registers
));
1050 fprintf_unfiltered (file
,
1051 "gdbarch_dump: half_bit = %s\n",
1052 plongest (gdbarch
->half_bit
));
1053 fprintf_unfiltered (file
,
1054 "gdbarch_dump: half_format = %s\n",
1055 pformat (gdbarch
->half_format
));
1056 fprintf_unfiltered (file
,
1057 "gdbarch_dump: gdbarch_handle_segmentation_fault_p() = %d\n",
1058 gdbarch_handle_segmentation_fault_p (gdbarch
));
1059 fprintf_unfiltered (file
,
1060 "gdbarch_dump: handle_segmentation_fault = <%s>\n",
1061 host_address_to_string (gdbarch
->handle_segmentation_fault
));
1062 fprintf_unfiltered (file
,
1063 "gdbarch_dump: has_dos_based_file_system = %s\n",
1064 plongest (gdbarch
->has_dos_based_file_system
));
1065 fprintf_unfiltered (file
,
1066 "gdbarch_dump: has_global_breakpoints = %s\n",
1067 plongest (gdbarch
->has_global_breakpoints
));
1068 fprintf_unfiltered (file
,
1069 "gdbarch_dump: has_global_solist = %s\n",
1070 plongest (gdbarch
->has_global_solist
));
1071 fprintf_unfiltered (file
,
1072 "gdbarch_dump: has_shared_address_space = <%s>\n",
1073 host_address_to_string (gdbarch
->has_shared_address_space
));
1074 fprintf_unfiltered (file
,
1075 "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
1076 plongest (gdbarch
->have_nonsteppable_watchpoint
));
1077 fprintf_unfiltered (file
,
1078 "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
1079 host_address_to_string (gdbarch
->in_solib_return_trampoline
));
1080 fprintf_unfiltered (file
,
1081 "gdbarch_dump: infcall_mmap = <%s>\n",
1082 host_address_to_string (gdbarch
->infcall_mmap
));
1083 fprintf_unfiltered (file
,
1084 "gdbarch_dump: infcall_munmap = <%s>\n",
1085 host_address_to_string (gdbarch
->infcall_munmap
));
1086 fprintf_unfiltered (file
,
1087 "gdbarch_dump: gdbarch_info_proc_p() = %d\n",
1088 gdbarch_info_proc_p (gdbarch
));
1089 fprintf_unfiltered (file
,
1090 "gdbarch_dump: info_proc = <%s>\n",
1091 host_address_to_string (gdbarch
->info_proc
));
1092 fprintf_unfiltered (file
,
1093 "gdbarch_dump: inner_than = <%s>\n",
1094 host_address_to_string (gdbarch
->inner_than
));
1095 fprintf_unfiltered (file
,
1096 "gdbarch_dump: insn_is_call = <%s>\n",
1097 host_address_to_string (gdbarch
->insn_is_call
));
1098 fprintf_unfiltered (file
,
1099 "gdbarch_dump: insn_is_jump = <%s>\n",
1100 host_address_to_string (gdbarch
->insn_is_jump
));
1101 fprintf_unfiltered (file
,
1102 "gdbarch_dump: insn_is_ret = <%s>\n",
1103 host_address_to_string (gdbarch
->insn_is_ret
));
1104 fprintf_unfiltered (file
,
1105 "gdbarch_dump: int_bit = %s\n",
1106 plongest (gdbarch
->int_bit
));
1107 fprintf_unfiltered (file
,
1108 "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
1109 gdbarch_integer_to_address_p (gdbarch
));
1110 fprintf_unfiltered (file
,
1111 "gdbarch_dump: integer_to_address = <%s>\n",
1112 host_address_to_string (gdbarch
->integer_to_address
));
1113 fprintf_unfiltered (file
,
1114 "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n",
1115 host_address_to_string (gdbarch
->iterate_over_objfiles_in_search_order
));
1116 fprintf_unfiltered (file
,
1117 "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n",
1118 gdbarch_iterate_over_regset_sections_p (gdbarch
));
1119 fprintf_unfiltered (file
,
1120 "gdbarch_dump: iterate_over_regset_sections = <%s>\n",
1121 host_address_to_string (gdbarch
->iterate_over_regset_sections
));
1122 fprintf_unfiltered (file
,
1123 "gdbarch_dump: long_bit = %s\n",
1124 plongest (gdbarch
->long_bit
));
1125 fprintf_unfiltered (file
,
1126 "gdbarch_dump: long_double_bit = %s\n",
1127 plongest (gdbarch
->long_double_bit
));
1128 fprintf_unfiltered (file
,
1129 "gdbarch_dump: long_double_format = %s\n",
1130 pformat (gdbarch
->long_double_format
));
1131 fprintf_unfiltered (file
,
1132 "gdbarch_dump: long_long_align_bit = %s\n",
1133 plongest (gdbarch
->long_long_align_bit
));
1134 fprintf_unfiltered (file
,
1135 "gdbarch_dump: long_long_bit = %s\n",
1136 plongest (gdbarch
->long_long_bit
));
1137 fprintf_unfiltered (file
,
1138 "gdbarch_dump: gdbarch_make_corefile_notes_p() = %d\n",
1139 gdbarch_make_corefile_notes_p (gdbarch
));
1140 fprintf_unfiltered (file
,
1141 "gdbarch_dump: make_corefile_notes = <%s>\n",
1142 host_address_to_string (gdbarch
->make_corefile_notes
));
1143 fprintf_unfiltered (file
,
1144 "gdbarch_dump: make_symbol_special = <%s>\n",
1145 host_address_to_string (gdbarch
->make_symbol_special
));
1146 fprintf_unfiltered (file
,
1147 "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
1148 gdbarch_max_insn_length_p (gdbarch
));
1149 fprintf_unfiltered (file
,
1150 "gdbarch_dump: max_insn_length = %s\n",
1151 plongest (gdbarch
->max_insn_length
));
1152 fprintf_unfiltered (file
,
1153 "gdbarch_dump: memory_insert_breakpoint = <%s>\n",
1154 host_address_to_string (gdbarch
->memory_insert_breakpoint
));
1155 fprintf_unfiltered (file
,
1156 "gdbarch_dump: memory_remove_breakpoint = <%s>\n",
1157 host_address_to_string (gdbarch
->memory_remove_breakpoint
));
1158 fprintf_unfiltered (file
,
1159 "gdbarch_dump: num_pseudo_regs = %s\n",
1160 plongest (gdbarch
->num_pseudo_regs
));
1161 fprintf_unfiltered (file
,
1162 "gdbarch_dump: num_regs = %s\n",
1163 plongest (gdbarch
->num_regs
));
1164 fprintf_unfiltered (file
,
1165 "gdbarch_dump: osabi = %s\n",
1166 plongest (gdbarch
->osabi
));
1167 fprintf_unfiltered (file
,
1168 "gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
1169 gdbarch_overlay_update_p (gdbarch
));
1170 fprintf_unfiltered (file
,
1171 "gdbarch_dump: overlay_update = <%s>\n",
1172 host_address_to_string (gdbarch
->overlay_update
));
1173 fprintf_unfiltered (file
,
1174 "gdbarch_dump: pc_regnum = %s\n",
1175 plongest (gdbarch
->pc_regnum
));
1176 fprintf_unfiltered (file
,
1177 "gdbarch_dump: pointer_to_address = <%s>\n",
1178 host_address_to_string (gdbarch
->pointer_to_address
));
1179 fprintf_unfiltered (file
,
1180 "gdbarch_dump: print_auxv_entry = <%s>\n",
1181 host_address_to_string (gdbarch
->print_auxv_entry
));
1182 fprintf_unfiltered (file
,
1183 "gdbarch_dump: print_float_info = <%s>\n",
1184 host_address_to_string (gdbarch
->print_float_info
));
1185 fprintf_unfiltered (file
,
1186 "gdbarch_dump: print_insn = <%s>\n",
1187 host_address_to_string (gdbarch
->print_insn
));
1188 fprintf_unfiltered (file
,
1189 "gdbarch_dump: print_registers_info = <%s>\n",
1190 host_address_to_string (gdbarch
->print_registers_info
));
1191 fprintf_unfiltered (file
,
1192 "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
1193 gdbarch_print_vector_info_p (gdbarch
));
1194 fprintf_unfiltered (file
,
1195 "gdbarch_dump: print_vector_info = <%s>\n",
1196 host_address_to_string (gdbarch
->print_vector_info
));
1197 fprintf_unfiltered (file
,
1198 "gdbarch_dump: gdbarch_process_record_p() = %d\n",
1199 gdbarch_process_record_p (gdbarch
));
1200 fprintf_unfiltered (file
,
1201 "gdbarch_dump: process_record = <%s>\n",
1202 host_address_to_string (gdbarch
->process_record
));
1203 fprintf_unfiltered (file
,
1204 "gdbarch_dump: gdbarch_process_record_signal_p() = %d\n",
1205 gdbarch_process_record_signal_p (gdbarch
));
1206 fprintf_unfiltered (file
,
1207 "gdbarch_dump: process_record_signal = <%s>\n",
1208 host_address_to_string (gdbarch
->process_record_signal
));
1209 fprintf_unfiltered (file
,
1210 "gdbarch_dump: ps_regnum = %s\n",
1211 plongest (gdbarch
->ps_regnum
));
1212 fprintf_unfiltered (file
,
1213 "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
1214 gdbarch_pseudo_register_read_p (gdbarch
));
1215 fprintf_unfiltered (file
,
1216 "gdbarch_dump: pseudo_register_read = <%s>\n",
1217 host_address_to_string (gdbarch
->pseudo_register_read
));
1218 fprintf_unfiltered (file
,
1219 "gdbarch_dump: gdbarch_pseudo_register_read_value_p() = %d\n",
1220 gdbarch_pseudo_register_read_value_p (gdbarch
));
1221 fprintf_unfiltered (file
,
1222 "gdbarch_dump: pseudo_register_read_value = <%s>\n",
1223 host_address_to_string (gdbarch
->pseudo_register_read_value
));
1224 fprintf_unfiltered (file
,
1225 "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
1226 gdbarch_pseudo_register_write_p (gdbarch
));
1227 fprintf_unfiltered (file
,
1228 "gdbarch_dump: pseudo_register_write = <%s>\n",
1229 host_address_to_string (gdbarch
->pseudo_register_write
));
1230 fprintf_unfiltered (file
,
1231 "gdbarch_dump: ptr_bit = %s\n",
1232 plongest (gdbarch
->ptr_bit
));
1233 fprintf_unfiltered (file
,
1234 "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
1235 gdbarch_push_dummy_call_p (gdbarch
));
1236 fprintf_unfiltered (file
,
1237 "gdbarch_dump: push_dummy_call = <%s>\n",
1238 host_address_to_string (gdbarch
->push_dummy_call
));
1239 fprintf_unfiltered (file
,
1240 "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
1241 gdbarch_push_dummy_code_p (gdbarch
));
1242 fprintf_unfiltered (file
,
1243 "gdbarch_dump: push_dummy_code = <%s>\n",
1244 host_address_to_string (gdbarch
->push_dummy_code
));
1245 fprintf_unfiltered (file
,
1246 "gdbarch_dump: ravenscar_ops = %s\n",
1247 host_address_to_string (gdbarch
->ravenscar_ops
));
1248 fprintf_unfiltered (file
,
1249 "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
1250 gdbarch_read_pc_p (gdbarch
));
1251 fprintf_unfiltered (file
,
1252 "gdbarch_dump: read_pc = <%s>\n",
1253 host_address_to_string (gdbarch
->read_pc
));
1254 fprintf_unfiltered (file
,
1255 "gdbarch_dump: gdbarch_record_special_symbol_p() = %d\n",
1256 gdbarch_record_special_symbol_p (gdbarch
));
1257 fprintf_unfiltered (file
,
1258 "gdbarch_dump: record_special_symbol = <%s>\n",
1259 host_address_to_string (gdbarch
->record_special_symbol
));
1260 fprintf_unfiltered (file
,
1261 "gdbarch_dump: register_name = <%s>\n",
1262 host_address_to_string (gdbarch
->register_name
));
1263 fprintf_unfiltered (file
,
1264 "gdbarch_dump: register_reggroup_p = <%s>\n",
1265 host_address_to_string (gdbarch
->register_reggroup_p
));
1266 fprintf_unfiltered (file
,
1267 "gdbarch_dump: register_sim_regno = <%s>\n",
1268 host_address_to_string (gdbarch
->register_sim_regno
));
1269 fprintf_unfiltered (file
,
1270 "gdbarch_dump: register_to_value = <%s>\n",
1271 host_address_to_string (gdbarch
->register_to_value
));
1272 fprintf_unfiltered (file
,
1273 "gdbarch_dump: gdbarch_register_type_p() = %d\n",
1274 gdbarch_register_type_p (gdbarch
));
1275 fprintf_unfiltered (file
,
1276 "gdbarch_dump: register_type = <%s>\n",
1277 host_address_to_string (gdbarch
->register_type
));
1278 fprintf_unfiltered (file
,
1279 "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n",
1280 gdbarch_relocate_instruction_p (gdbarch
));
1281 fprintf_unfiltered (file
,
1282 "gdbarch_dump: relocate_instruction = <%s>\n",
1283 host_address_to_string (gdbarch
->relocate_instruction
));
1284 fprintf_unfiltered (file
,
1285 "gdbarch_dump: remote_breakpoint_from_pc = <%s>\n",
1286 host_address_to_string (gdbarch
->remote_breakpoint_from_pc
));
1287 fprintf_unfiltered (file
,
1288 "gdbarch_dump: remote_register_number = <%s>\n",
1289 host_address_to_string (gdbarch
->remote_register_number
));
1290 fprintf_unfiltered (file
,
1291 "gdbarch_dump: return_in_first_hidden_param_p = <%s>\n",
1292 host_address_to_string (gdbarch
->return_in_first_hidden_param_p
));
1293 fprintf_unfiltered (file
,
1294 "gdbarch_dump: gdbarch_return_value_p() = %d\n",
1295 gdbarch_return_value_p (gdbarch
));
1296 fprintf_unfiltered (file
,
1297 "gdbarch_dump: return_value = <%s>\n",
1298 host_address_to_string (gdbarch
->return_value
));
1299 fprintf_unfiltered (file
,
1300 "gdbarch_dump: sdb_reg_to_regnum = <%s>\n",
1301 host_address_to_string (gdbarch
->sdb_reg_to_regnum
));
1302 fprintf_unfiltered (file
,
1303 "gdbarch_dump: short_bit = %s\n",
1304 plongest (gdbarch
->short_bit
));
1305 fprintf_unfiltered (file
,
1306 "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
1307 gdbarch_single_step_through_delay_p (gdbarch
));
1308 fprintf_unfiltered (file
,
1309 "gdbarch_dump: single_step_through_delay = <%s>\n",
1310 host_address_to_string (gdbarch
->single_step_through_delay
));
1311 fprintf_unfiltered (file
,
1312 "gdbarch_dump: gdbarch_skip_entrypoint_p() = %d\n",
1313 gdbarch_skip_entrypoint_p (gdbarch
));
1314 fprintf_unfiltered (file
,
1315 "gdbarch_dump: skip_entrypoint = <%s>\n",
1316 host_address_to_string (gdbarch
->skip_entrypoint
));
1317 fprintf_unfiltered (file
,
1318 "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n",
1319 gdbarch_skip_main_prologue_p (gdbarch
));
1320 fprintf_unfiltered (file
,
1321 "gdbarch_dump: skip_main_prologue = <%s>\n",
1322 host_address_to_string (gdbarch
->skip_main_prologue
));
1323 fprintf_unfiltered (file
,
1324 "gdbarch_dump: skip_permanent_breakpoint = <%s>\n",
1325 host_address_to_string (gdbarch
->skip_permanent_breakpoint
));
1326 fprintf_unfiltered (file
,
1327 "gdbarch_dump: skip_prologue = <%s>\n",
1328 host_address_to_string (gdbarch
->skip_prologue
));
1329 fprintf_unfiltered (file
,
1330 "gdbarch_dump: skip_solib_resolver = <%s>\n",
1331 host_address_to_string (gdbarch
->skip_solib_resolver
));
1332 fprintf_unfiltered (file
,
1333 "gdbarch_dump: skip_trampoline_code = <%s>\n",
1334 host_address_to_string (gdbarch
->skip_trampoline_code
));
1335 fprintf_unfiltered (file
,
1336 "gdbarch_dump: gdbarch_software_single_step_p() = %d\n",
1337 gdbarch_software_single_step_p (gdbarch
));
1338 fprintf_unfiltered (file
,
1339 "gdbarch_dump: software_single_step = <%s>\n",
1340 host_address_to_string (gdbarch
->software_single_step
));
1341 fprintf_unfiltered (file
,
1342 "gdbarch_dump: sofun_address_maybe_missing = %s\n",
1343 plongest (gdbarch
->sofun_address_maybe_missing
));
1344 fprintf_unfiltered (file
,
1345 "gdbarch_dump: solib_symbols_extension = %s\n",
1346 pstring (gdbarch
->solib_symbols_extension
));
1347 fprintf_unfiltered (file
,
1348 "gdbarch_dump: sp_regnum = %s\n",
1349 plongest (gdbarch
->sp_regnum
));
1350 fprintf_unfiltered (file
,
1351 "gdbarch_dump: stab_reg_to_regnum = <%s>\n",
1352 host_address_to_string (gdbarch
->stab_reg_to_regnum
));
1353 fprintf_unfiltered (file
,
1354 "gdbarch_dump: stabs_argument_has_addr = <%s>\n",
1355 host_address_to_string (gdbarch
->stabs_argument_has_addr
));
1356 fprintf_unfiltered (file
,
1357 "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
1358 host_address_to_string (gdbarch
->stack_frame_destroyed_p
));
1359 fprintf_unfiltered (file
,
1360 "gdbarch_dump: stap_gdb_register_prefix = %s\n",
1361 pstring (gdbarch
->stap_gdb_register_prefix
));
1362 fprintf_unfiltered (file
,
1363 "gdbarch_dump: stap_gdb_register_suffix = %s\n",
1364 pstring (gdbarch
->stap_gdb_register_suffix
));
1365 fprintf_unfiltered (file
,
1366 "gdbarch_dump: stap_integer_prefixes = %s\n",
1367 pstring_list (gdbarch
->stap_integer_prefixes
));
1368 fprintf_unfiltered (file
,
1369 "gdbarch_dump: stap_integer_suffixes = %s\n",
1370 pstring_list (gdbarch
->stap_integer_suffixes
));
1371 fprintf_unfiltered (file
,
1372 "gdbarch_dump: gdbarch_stap_is_single_operand_p() = %d\n",
1373 gdbarch_stap_is_single_operand_p (gdbarch
));
1374 fprintf_unfiltered (file
,
1375 "gdbarch_dump: stap_is_single_operand = <%s>\n",
1376 host_address_to_string (gdbarch
->stap_is_single_operand
));
1377 fprintf_unfiltered (file
,
1378 "gdbarch_dump: gdbarch_stap_parse_special_token_p() = %d\n",
1379 gdbarch_stap_parse_special_token_p (gdbarch
));
1380 fprintf_unfiltered (file
,
1381 "gdbarch_dump: stap_parse_special_token = <%s>\n",
1382 host_address_to_string (gdbarch
->stap_parse_special_token
));
1383 fprintf_unfiltered (file
,
1384 "gdbarch_dump: stap_register_indirection_prefixes = %s\n",
1385 pstring_list (gdbarch
->stap_register_indirection_prefixes
));
1386 fprintf_unfiltered (file
,
1387 "gdbarch_dump: stap_register_indirection_suffixes = %s\n",
1388 pstring_list (gdbarch
->stap_register_indirection_suffixes
));
1389 fprintf_unfiltered (file
,
1390 "gdbarch_dump: stap_register_prefixes = %s\n",
1391 pstring_list (gdbarch
->stap_register_prefixes
));
1392 fprintf_unfiltered (file
,
1393 "gdbarch_dump: stap_register_suffixes = %s\n",
1394 pstring_list (gdbarch
->stap_register_suffixes
));
1395 fprintf_unfiltered (file
,
1396 "gdbarch_dump: gdbarch_static_transform_name_p() = %d\n",
1397 gdbarch_static_transform_name_p (gdbarch
));
1398 fprintf_unfiltered (file
,
1399 "gdbarch_dump: static_transform_name = <%s>\n",
1400 host_address_to_string (gdbarch
->static_transform_name
));
1401 fprintf_unfiltered (file
,
1402 "gdbarch_dump: syscalls_info = %s\n",
1403 host_address_to_string (gdbarch
->syscalls_info
));
1404 fprintf_unfiltered (file
,
1405 "gdbarch_dump: target_desc = %s\n",
1406 host_address_to_string (gdbarch
->target_desc
));
1407 fprintf_unfiltered (file
,
1408 "gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
1409 gdbarch_unwind_pc_p (gdbarch
));
1410 fprintf_unfiltered (file
,
1411 "gdbarch_dump: unwind_pc = <%s>\n",
1412 host_address_to_string (gdbarch
->unwind_pc
));
1413 fprintf_unfiltered (file
,
1414 "gdbarch_dump: gdbarch_unwind_sp_p() = %d\n",
1415 gdbarch_unwind_sp_p (gdbarch
));
1416 fprintf_unfiltered (file
,
1417 "gdbarch_dump: unwind_sp = <%s>\n",
1418 host_address_to_string (gdbarch
->unwind_sp
));
1419 fprintf_unfiltered (file
,
1420 "gdbarch_dump: value_from_register = <%s>\n",
1421 host_address_to_string (gdbarch
->value_from_register
));
1422 fprintf_unfiltered (file
,
1423 "gdbarch_dump: value_to_register = <%s>\n",
1424 host_address_to_string (gdbarch
->value_to_register
));
1425 fprintf_unfiltered (file
,
1426 "gdbarch_dump: vbit_in_delta = %s\n",
1427 plongest (gdbarch
->vbit_in_delta
));
1428 fprintf_unfiltered (file
,
1429 "gdbarch_dump: virtual_frame_pointer = <%s>\n",
1430 host_address_to_string (gdbarch
->virtual_frame_pointer
));
1431 fprintf_unfiltered (file
,
1432 "gdbarch_dump: vsyscall_range = <%s>\n",
1433 host_address_to_string (gdbarch
->vsyscall_range
));
1434 fprintf_unfiltered (file
,
1435 "gdbarch_dump: vtable_function_descriptors = %s\n",
1436 plongest (gdbarch
->vtable_function_descriptors
));
1437 fprintf_unfiltered (file
,
1438 "gdbarch_dump: gdbarch_write_pc_p() = %d\n",
1439 gdbarch_write_pc_p (gdbarch
));
1440 fprintf_unfiltered (file
,
1441 "gdbarch_dump: write_pc = <%s>\n",
1442 host_address_to_string (gdbarch
->write_pc
));
1443 fprintf_unfiltered (file
,
1444 "gdbarch_dump: xml_syscall_file = %s\n",
1445 pstring (gdbarch
->xml_syscall_file
));
1446 if (gdbarch
->dump_tdep
!= NULL
)
1447 gdbarch
->dump_tdep (gdbarch
, file
);
1450 struct gdbarch_tdep
*
1451 gdbarch_tdep (struct gdbarch
*gdbarch
)
1453 if (gdbarch_debug
>= 2)
1454 fprintf_unfiltered (gdb_stdlog
, "gdbarch_tdep called\n");
1455 return gdbarch
->tdep
;
1459 const struct bfd_arch_info
*
1460 gdbarch_bfd_arch_info (struct gdbarch
*gdbarch
)
1462 gdb_assert (gdbarch
!= NULL
);
1463 if (gdbarch_debug
>= 2)
1464 fprintf_unfiltered (gdb_stdlog
, "gdbarch_bfd_arch_info called\n");
1465 return gdbarch
->bfd_arch_info
;
1469 gdbarch_byte_order (struct gdbarch
*gdbarch
)
1471 gdb_assert (gdbarch
!= NULL
);
1472 if (gdbarch_debug
>= 2)
1473 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order called\n");
1474 return gdbarch
->byte_order
;
1478 gdbarch_byte_order_for_code (struct gdbarch
*gdbarch
)
1480 gdb_assert (gdbarch
!= NULL
);
1481 if (gdbarch_debug
>= 2)
1482 fprintf_unfiltered (gdb_stdlog
, "gdbarch_byte_order_for_code called\n");
1483 return gdbarch
->byte_order_for_code
;
1487 gdbarch_osabi (struct gdbarch
*gdbarch
)
1489 gdb_assert (gdbarch
!= NULL
);
1490 if (gdbarch_debug
>= 2)
1491 fprintf_unfiltered (gdb_stdlog
, "gdbarch_osabi called\n");
1492 return gdbarch
->osabi
;
1495 const struct target_desc
*
1496 gdbarch_target_desc (struct gdbarch
*gdbarch
)
1498 gdb_assert (gdbarch
!= NULL
);
1499 if (gdbarch_debug
>= 2)
1500 fprintf_unfiltered (gdb_stdlog
, "gdbarch_target_desc called\n");
1501 return gdbarch
->target_desc
;
1505 gdbarch_bits_big_endian (struct gdbarch
*gdbarch
)
1507 gdb_assert (gdbarch
!= NULL
);
1508 /* Skip verify of bits_big_endian, invalid_p == 0 */
1509 if (gdbarch_debug
>= 2)
1510 fprintf_unfiltered (gdb_stdlog
, "gdbarch_bits_big_endian called\n");
1511 return gdbarch
->bits_big_endian
;
1515 set_gdbarch_bits_big_endian (struct gdbarch
*gdbarch
,
1516 int bits_big_endian
)
1518 gdbarch
->bits_big_endian
= bits_big_endian
;
1522 gdbarch_short_bit (struct gdbarch
*gdbarch
)
1524 gdb_assert (gdbarch
!= NULL
);
1525 /* Skip verify of short_bit, invalid_p == 0 */
1526 if (gdbarch_debug
>= 2)
1527 fprintf_unfiltered (gdb_stdlog
, "gdbarch_short_bit called\n");
1528 return gdbarch
->short_bit
;
1532 set_gdbarch_short_bit (struct gdbarch
*gdbarch
,
1535 gdbarch
->short_bit
= short_bit
;
1539 gdbarch_int_bit (struct gdbarch
*gdbarch
)
1541 gdb_assert (gdbarch
!= NULL
);
1542 /* Skip verify of int_bit, invalid_p == 0 */
1543 if (gdbarch_debug
>= 2)
1544 fprintf_unfiltered (gdb_stdlog
, "gdbarch_int_bit called\n");
1545 return gdbarch
->int_bit
;
1549 set_gdbarch_int_bit (struct gdbarch
*gdbarch
,
1552 gdbarch
->int_bit
= int_bit
;
1556 gdbarch_long_bit (struct gdbarch
*gdbarch
)
1558 gdb_assert (gdbarch
!= NULL
);
1559 /* Skip verify of long_bit, invalid_p == 0 */
1560 if (gdbarch_debug
>= 2)
1561 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_bit called\n");
1562 return gdbarch
->long_bit
;
1566 set_gdbarch_long_bit (struct gdbarch
*gdbarch
,
1569 gdbarch
->long_bit
= long_bit
;
1573 gdbarch_long_long_bit (struct gdbarch
*gdbarch
)
1575 gdb_assert (gdbarch
!= NULL
);
1576 /* Skip verify of long_long_bit, invalid_p == 0 */
1577 if (gdbarch_debug
>= 2)
1578 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_long_bit called\n");
1579 return gdbarch
->long_long_bit
;
1583 set_gdbarch_long_long_bit (struct gdbarch
*gdbarch
,
1586 gdbarch
->long_long_bit
= long_long_bit
;
1590 gdbarch_long_long_align_bit (struct gdbarch
*gdbarch
)
1592 gdb_assert (gdbarch
!= NULL
);
1593 /* Skip verify of long_long_align_bit, invalid_p == 0 */
1594 if (gdbarch_debug
>= 2)
1595 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_long_align_bit called\n");
1596 return gdbarch
->long_long_align_bit
;
1600 set_gdbarch_long_long_align_bit (struct gdbarch
*gdbarch
,
1601 int long_long_align_bit
)
1603 gdbarch
->long_long_align_bit
= long_long_align_bit
;
1607 gdbarch_half_bit (struct gdbarch
*gdbarch
)
1609 gdb_assert (gdbarch
!= NULL
);
1610 /* Skip verify of half_bit, invalid_p == 0 */
1611 if (gdbarch_debug
>= 2)
1612 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_bit called\n");
1613 return gdbarch
->half_bit
;
1617 set_gdbarch_half_bit (struct gdbarch
*gdbarch
,
1620 gdbarch
->half_bit
= half_bit
;
1623 const struct floatformat
**
1624 gdbarch_half_format (struct gdbarch
*gdbarch
)
1626 gdb_assert (gdbarch
!= NULL
);
1627 if (gdbarch_debug
>= 2)
1628 fprintf_unfiltered (gdb_stdlog
, "gdbarch_half_format called\n");
1629 return gdbarch
->half_format
;
1633 set_gdbarch_half_format (struct gdbarch
*gdbarch
,
1634 const struct floatformat
** half_format
)
1636 gdbarch
->half_format
= half_format
;
1640 gdbarch_float_bit (struct gdbarch
*gdbarch
)
1642 gdb_assert (gdbarch
!= NULL
);
1643 /* Skip verify of float_bit, invalid_p == 0 */
1644 if (gdbarch_debug
>= 2)
1645 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_bit called\n");
1646 return gdbarch
->float_bit
;
1650 set_gdbarch_float_bit (struct gdbarch
*gdbarch
,
1653 gdbarch
->float_bit
= float_bit
;
1656 const struct floatformat
**
1657 gdbarch_float_format (struct gdbarch
*gdbarch
)
1659 gdb_assert (gdbarch
!= NULL
);
1660 if (gdbarch_debug
>= 2)
1661 fprintf_unfiltered (gdb_stdlog
, "gdbarch_float_format called\n");
1662 return gdbarch
->float_format
;
1666 set_gdbarch_float_format (struct gdbarch
*gdbarch
,
1667 const struct floatformat
** float_format
)
1669 gdbarch
->float_format
= float_format
;
1673 gdbarch_double_bit (struct gdbarch
*gdbarch
)
1675 gdb_assert (gdbarch
!= NULL
);
1676 /* Skip verify of double_bit, invalid_p == 0 */
1677 if (gdbarch_debug
>= 2)
1678 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_bit called\n");
1679 return gdbarch
->double_bit
;
1683 set_gdbarch_double_bit (struct gdbarch
*gdbarch
,
1686 gdbarch
->double_bit
= double_bit
;
1689 const struct floatformat
**
1690 gdbarch_double_format (struct gdbarch
*gdbarch
)
1692 gdb_assert (gdbarch
!= NULL
);
1693 if (gdbarch_debug
>= 2)
1694 fprintf_unfiltered (gdb_stdlog
, "gdbarch_double_format called\n");
1695 return gdbarch
->double_format
;
1699 set_gdbarch_double_format (struct gdbarch
*gdbarch
,
1700 const struct floatformat
** double_format
)
1702 gdbarch
->double_format
= double_format
;
1706 gdbarch_long_double_bit (struct gdbarch
*gdbarch
)
1708 gdb_assert (gdbarch
!= NULL
);
1709 /* Skip verify of long_double_bit, invalid_p == 0 */
1710 if (gdbarch_debug
>= 2)
1711 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_bit called\n");
1712 return gdbarch
->long_double_bit
;
1716 set_gdbarch_long_double_bit (struct gdbarch
*gdbarch
,
1717 int long_double_bit
)
1719 gdbarch
->long_double_bit
= long_double_bit
;
1722 const struct floatformat
**
1723 gdbarch_long_double_format (struct gdbarch
*gdbarch
)
1725 gdb_assert (gdbarch
!= NULL
);
1726 if (gdbarch_debug
>= 2)
1727 fprintf_unfiltered (gdb_stdlog
, "gdbarch_long_double_format called\n");
1728 return gdbarch
->long_double_format
;
1732 set_gdbarch_long_double_format (struct gdbarch
*gdbarch
,
1733 const struct floatformat
** long_double_format
)
1735 gdbarch
->long_double_format
= long_double_format
;
1738 const struct floatformat
**
1739 gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
, const char *name
, int length
)
1741 gdb_assert (gdbarch
!= NULL
);
1742 gdb_assert (gdbarch
->floatformat_for_type
!= NULL
);
1743 if (gdbarch_debug
>= 2)
1744 fprintf_unfiltered (gdb_stdlog
, "gdbarch_floatformat_for_type called\n");
1745 return gdbarch
->floatformat_for_type (gdbarch
, name
, length
);
1749 set_gdbarch_floatformat_for_type (struct gdbarch
*gdbarch
,
1750 gdbarch_floatformat_for_type_ftype floatformat_for_type
)
1752 gdbarch
->floatformat_for_type
= floatformat_for_type
;
1756 gdbarch_ptr_bit (struct gdbarch
*gdbarch
)
1758 gdb_assert (gdbarch
!= NULL
);
1759 /* Skip verify of ptr_bit, invalid_p == 0 */
1760 if (gdbarch_debug
>= 2)
1761 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ptr_bit called\n");
1762 return gdbarch
->ptr_bit
;
1766 set_gdbarch_ptr_bit (struct gdbarch
*gdbarch
,
1769 gdbarch
->ptr_bit
= ptr_bit
;
1773 gdbarch_addr_bit (struct gdbarch
*gdbarch
)
1775 gdb_assert (gdbarch
!= NULL
);
1776 /* Check variable changed from pre-default. */
1777 gdb_assert (gdbarch
->addr_bit
!= 0);
1778 if (gdbarch_debug
>= 2)
1779 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bit called\n");
1780 return gdbarch
->addr_bit
;
1784 set_gdbarch_addr_bit (struct gdbarch
*gdbarch
,
1787 gdbarch
->addr_bit
= addr_bit
;
1791 gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
)
1793 gdb_assert (gdbarch
!= NULL
);
1794 /* Check variable changed from pre-default. */
1795 gdb_assert (gdbarch
->dwarf2_addr_size
!= 0);
1796 if (gdbarch_debug
>= 2)
1797 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_addr_size called\n");
1798 return gdbarch
->dwarf2_addr_size
;
1802 set_gdbarch_dwarf2_addr_size (struct gdbarch
*gdbarch
,
1803 int dwarf2_addr_size
)
1805 gdbarch
->dwarf2_addr_size
= dwarf2_addr_size
;
1809 gdbarch_char_signed (struct gdbarch
*gdbarch
)
1811 gdb_assert (gdbarch
!= NULL
);
1812 /* Check variable changed from pre-default. */
1813 gdb_assert (gdbarch
->char_signed
!= -1);
1814 if (gdbarch_debug
>= 2)
1815 fprintf_unfiltered (gdb_stdlog
, "gdbarch_char_signed called\n");
1816 return gdbarch
->char_signed
;
1820 set_gdbarch_char_signed (struct gdbarch
*gdbarch
,
1823 gdbarch
->char_signed
= char_signed
;
1827 gdbarch_read_pc_p (struct gdbarch
*gdbarch
)
1829 gdb_assert (gdbarch
!= NULL
);
1830 return gdbarch
->read_pc
!= NULL
;
1834 gdbarch_read_pc (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
1836 gdb_assert (gdbarch
!= NULL
);
1837 gdb_assert (gdbarch
->read_pc
!= NULL
);
1838 if (gdbarch_debug
>= 2)
1839 fprintf_unfiltered (gdb_stdlog
, "gdbarch_read_pc called\n");
1840 return gdbarch
->read_pc (regcache
);
1844 set_gdbarch_read_pc (struct gdbarch
*gdbarch
,
1845 gdbarch_read_pc_ftype read_pc
)
1847 gdbarch
->read_pc
= read_pc
;
1851 gdbarch_write_pc_p (struct gdbarch
*gdbarch
)
1853 gdb_assert (gdbarch
!= NULL
);
1854 return gdbarch
->write_pc
!= NULL
;
1858 gdbarch_write_pc (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR val
)
1860 gdb_assert (gdbarch
!= NULL
);
1861 gdb_assert (gdbarch
->write_pc
!= NULL
);
1862 if (gdbarch_debug
>= 2)
1863 fprintf_unfiltered (gdb_stdlog
, "gdbarch_write_pc called\n");
1864 gdbarch
->write_pc (regcache
, val
);
1868 set_gdbarch_write_pc (struct gdbarch
*gdbarch
,
1869 gdbarch_write_pc_ftype write_pc
)
1871 gdbarch
->write_pc
= write_pc
;
1875 gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
, CORE_ADDR pc
, int *frame_regnum
, LONGEST
*frame_offset
)
1877 gdb_assert (gdbarch
!= NULL
);
1878 gdb_assert (gdbarch
->virtual_frame_pointer
!= NULL
);
1879 if (gdbarch_debug
>= 2)
1880 fprintf_unfiltered (gdb_stdlog
, "gdbarch_virtual_frame_pointer called\n");
1881 gdbarch
->virtual_frame_pointer (gdbarch
, pc
, frame_regnum
, frame_offset
);
1885 set_gdbarch_virtual_frame_pointer (struct gdbarch
*gdbarch
,
1886 gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer
)
1888 gdbarch
->virtual_frame_pointer
= virtual_frame_pointer
;
1892 gdbarch_pseudo_register_read_p (struct gdbarch
*gdbarch
)
1894 gdb_assert (gdbarch
!= NULL
);
1895 return gdbarch
->pseudo_register_read
!= NULL
;
1898 enum register_status
1899 gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
, struct regcache
*regcache
, int cookednum
, gdb_byte
*buf
)
1901 gdb_assert (gdbarch
!= NULL
);
1902 gdb_assert (gdbarch
->pseudo_register_read
!= NULL
);
1903 if (gdbarch_debug
>= 2)
1904 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read called\n");
1905 return gdbarch
->pseudo_register_read (gdbarch
, regcache
, cookednum
, buf
);
1909 set_gdbarch_pseudo_register_read (struct gdbarch
*gdbarch
,
1910 gdbarch_pseudo_register_read_ftype pseudo_register_read
)
1912 gdbarch
->pseudo_register_read
= pseudo_register_read
;
1916 gdbarch_pseudo_register_read_value_p (struct gdbarch
*gdbarch
)
1918 gdb_assert (gdbarch
!= NULL
);
1919 return gdbarch
->pseudo_register_read_value
!= NULL
;
1923 gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
, struct regcache
*regcache
, int cookednum
)
1925 gdb_assert (gdbarch
!= NULL
);
1926 gdb_assert (gdbarch
->pseudo_register_read_value
!= NULL
);
1927 if (gdbarch_debug
>= 2)
1928 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_read_value called\n");
1929 return gdbarch
->pseudo_register_read_value (gdbarch
, regcache
, cookednum
);
1933 set_gdbarch_pseudo_register_read_value (struct gdbarch
*gdbarch
,
1934 gdbarch_pseudo_register_read_value_ftype pseudo_register_read_value
)
1936 gdbarch
->pseudo_register_read_value
= pseudo_register_read_value
;
1940 gdbarch_pseudo_register_write_p (struct gdbarch
*gdbarch
)
1942 gdb_assert (gdbarch
!= NULL
);
1943 return gdbarch
->pseudo_register_write
!= NULL
;
1947 gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
, struct regcache
*regcache
, int cookednum
, const gdb_byte
*buf
)
1949 gdb_assert (gdbarch
!= NULL
);
1950 gdb_assert (gdbarch
->pseudo_register_write
!= NULL
);
1951 if (gdbarch_debug
>= 2)
1952 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pseudo_register_write called\n");
1953 gdbarch
->pseudo_register_write (gdbarch
, regcache
, cookednum
, buf
);
1957 set_gdbarch_pseudo_register_write (struct gdbarch
*gdbarch
,
1958 gdbarch_pseudo_register_write_ftype pseudo_register_write
)
1960 gdbarch
->pseudo_register_write
= pseudo_register_write
;
1964 gdbarch_num_regs (struct gdbarch
*gdbarch
)
1966 gdb_assert (gdbarch
!= NULL
);
1967 /* Check variable changed from pre-default. */
1968 gdb_assert (gdbarch
->num_regs
!= -1);
1969 if (gdbarch_debug
>= 2)
1970 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_regs called\n");
1971 return gdbarch
->num_regs
;
1975 set_gdbarch_num_regs (struct gdbarch
*gdbarch
,
1978 gdbarch
->num_regs
= num_regs
;
1982 gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
)
1984 gdb_assert (gdbarch
!= NULL
);
1985 /* Skip verify of num_pseudo_regs, invalid_p == 0 */
1986 if (gdbarch_debug
>= 2)
1987 fprintf_unfiltered (gdb_stdlog
, "gdbarch_num_pseudo_regs called\n");
1988 return gdbarch
->num_pseudo_regs
;
1992 set_gdbarch_num_pseudo_regs (struct gdbarch
*gdbarch
,
1993 int num_pseudo_regs
)
1995 gdbarch
->num_pseudo_regs
= num_pseudo_regs
;
1999 gdbarch_ax_pseudo_register_collect_p (struct gdbarch
*gdbarch
)
2001 gdb_assert (gdbarch
!= NULL
);
2002 return gdbarch
->ax_pseudo_register_collect
!= NULL
;
2006 gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2008 gdb_assert (gdbarch
!= NULL
);
2009 gdb_assert (gdbarch
->ax_pseudo_register_collect
!= NULL
);
2010 if (gdbarch_debug
>= 2)
2011 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_collect called\n");
2012 return gdbarch
->ax_pseudo_register_collect (gdbarch
, ax
, reg
);
2016 set_gdbarch_ax_pseudo_register_collect (struct gdbarch
*gdbarch
,
2017 gdbarch_ax_pseudo_register_collect_ftype ax_pseudo_register_collect
)
2019 gdbarch
->ax_pseudo_register_collect
= ax_pseudo_register_collect
;
2023 gdbarch_ax_pseudo_register_push_stack_p (struct gdbarch
*gdbarch
)
2025 gdb_assert (gdbarch
!= NULL
);
2026 return gdbarch
->ax_pseudo_register_push_stack
!= NULL
;
2030 gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, int reg
)
2032 gdb_assert (gdbarch
!= NULL
);
2033 gdb_assert (gdbarch
->ax_pseudo_register_push_stack
!= NULL
);
2034 if (gdbarch_debug
>= 2)
2035 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ax_pseudo_register_push_stack called\n");
2036 return gdbarch
->ax_pseudo_register_push_stack (gdbarch
, ax
, reg
);
2040 set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch
*gdbarch
,
2041 gdbarch_ax_pseudo_register_push_stack_ftype ax_pseudo_register_push_stack
)
2043 gdbarch
->ax_pseudo_register_push_stack
= ax_pseudo_register_push_stack
;
2047 gdbarch_handle_segmentation_fault_p (struct gdbarch
*gdbarch
)
2049 gdb_assert (gdbarch
!= NULL
);
2050 return gdbarch
->handle_segmentation_fault
!= NULL
;
2054 gdbarch_handle_segmentation_fault (struct gdbarch
*gdbarch
, struct ui_out
*uiout
)
2056 gdb_assert (gdbarch
!= NULL
);
2057 gdb_assert (gdbarch
->handle_segmentation_fault
!= NULL
);
2058 if (gdbarch_debug
>= 2)
2059 fprintf_unfiltered (gdb_stdlog
, "gdbarch_handle_segmentation_fault called\n");
2060 gdbarch
->handle_segmentation_fault (gdbarch
, uiout
);
2064 set_gdbarch_handle_segmentation_fault (struct gdbarch
*gdbarch
,
2065 gdbarch_handle_segmentation_fault_ftype handle_segmentation_fault
)
2067 gdbarch
->handle_segmentation_fault
= handle_segmentation_fault
;
2071 gdbarch_sp_regnum (struct gdbarch
*gdbarch
)
2073 gdb_assert (gdbarch
!= NULL
);
2074 /* Skip verify of sp_regnum, invalid_p == 0 */
2075 if (gdbarch_debug
>= 2)
2076 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sp_regnum called\n");
2077 return gdbarch
->sp_regnum
;
2081 set_gdbarch_sp_regnum (struct gdbarch
*gdbarch
,
2084 gdbarch
->sp_regnum
= sp_regnum
;
2088 gdbarch_pc_regnum (struct gdbarch
*gdbarch
)
2090 gdb_assert (gdbarch
!= NULL
);
2091 /* Skip verify of pc_regnum, invalid_p == 0 */
2092 if (gdbarch_debug
>= 2)
2093 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pc_regnum called\n");
2094 return gdbarch
->pc_regnum
;
2098 set_gdbarch_pc_regnum (struct gdbarch
*gdbarch
,
2101 gdbarch
->pc_regnum
= pc_regnum
;
2105 gdbarch_ps_regnum (struct gdbarch
*gdbarch
)
2107 gdb_assert (gdbarch
!= NULL
);
2108 /* Skip verify of ps_regnum, invalid_p == 0 */
2109 if (gdbarch_debug
>= 2)
2110 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ps_regnum called\n");
2111 return gdbarch
->ps_regnum
;
2115 set_gdbarch_ps_regnum (struct gdbarch
*gdbarch
,
2118 gdbarch
->ps_regnum
= ps_regnum
;
2122 gdbarch_fp0_regnum (struct gdbarch
*gdbarch
)
2124 gdb_assert (gdbarch
!= NULL
);
2125 /* Skip verify of fp0_regnum, invalid_p == 0 */
2126 if (gdbarch_debug
>= 2)
2127 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fp0_regnum called\n");
2128 return gdbarch
->fp0_regnum
;
2132 set_gdbarch_fp0_regnum (struct gdbarch
*gdbarch
,
2135 gdbarch
->fp0_regnum
= fp0_regnum
;
2139 gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
, int stab_regnr
)
2141 gdb_assert (gdbarch
!= NULL
);
2142 gdb_assert (gdbarch
->stab_reg_to_regnum
!= NULL
);
2143 if (gdbarch_debug
>= 2)
2144 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stab_reg_to_regnum called\n");
2145 return gdbarch
->stab_reg_to_regnum (gdbarch
, stab_regnr
);
2149 set_gdbarch_stab_reg_to_regnum (struct gdbarch
*gdbarch
,
2150 gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum
)
2152 gdbarch
->stab_reg_to_regnum
= stab_reg_to_regnum
;
2156 gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
, int ecoff_regnr
)
2158 gdb_assert (gdbarch
!= NULL
);
2159 gdb_assert (gdbarch
->ecoff_reg_to_regnum
!= NULL
);
2160 if (gdbarch_debug
>= 2)
2161 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ecoff_reg_to_regnum called\n");
2162 return gdbarch
->ecoff_reg_to_regnum (gdbarch
, ecoff_regnr
);
2166 set_gdbarch_ecoff_reg_to_regnum (struct gdbarch
*gdbarch
,
2167 gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum
)
2169 gdbarch
->ecoff_reg_to_regnum
= ecoff_reg_to_regnum
;
2173 gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
, int sdb_regnr
)
2175 gdb_assert (gdbarch
!= NULL
);
2176 gdb_assert (gdbarch
->sdb_reg_to_regnum
!= NULL
);
2177 if (gdbarch_debug
>= 2)
2178 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sdb_reg_to_regnum called\n");
2179 return gdbarch
->sdb_reg_to_regnum (gdbarch
, sdb_regnr
);
2183 set_gdbarch_sdb_reg_to_regnum (struct gdbarch
*gdbarch
,
2184 gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum
)
2186 gdbarch
->sdb_reg_to_regnum
= sdb_reg_to_regnum
;
2190 gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
, int dwarf2_regnr
)
2192 gdb_assert (gdbarch
!= NULL
);
2193 gdb_assert (gdbarch
->dwarf2_reg_to_regnum
!= NULL
);
2194 if (gdbarch_debug
>= 2)
2195 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dwarf2_reg_to_regnum called\n");
2196 return gdbarch
->dwarf2_reg_to_regnum (gdbarch
, dwarf2_regnr
);
2200 set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch
*gdbarch
,
2201 gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum
)
2203 gdbarch
->dwarf2_reg_to_regnum
= dwarf2_reg_to_regnum
;
2207 gdbarch_register_name (struct gdbarch
*gdbarch
, int regnr
)
2209 gdb_assert (gdbarch
!= NULL
);
2210 gdb_assert (gdbarch
->register_name
!= NULL
);
2211 if (gdbarch_debug
>= 2)
2212 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_name called\n");
2213 return gdbarch
->register_name (gdbarch
, regnr
);
2217 set_gdbarch_register_name (struct gdbarch
*gdbarch
,
2218 gdbarch_register_name_ftype register_name
)
2220 gdbarch
->register_name
= register_name
;
2224 gdbarch_register_type_p (struct gdbarch
*gdbarch
)
2226 gdb_assert (gdbarch
!= NULL
);
2227 return gdbarch
->register_type
!= NULL
;
2231 gdbarch_register_type (struct gdbarch
*gdbarch
, int reg_nr
)
2233 gdb_assert (gdbarch
!= NULL
);
2234 gdb_assert (gdbarch
->register_type
!= NULL
);
2235 if (gdbarch_debug
>= 2)
2236 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_type called\n");
2237 return gdbarch
->register_type (gdbarch
, reg_nr
);
2241 set_gdbarch_register_type (struct gdbarch
*gdbarch
,
2242 gdbarch_register_type_ftype register_type
)
2244 gdbarch
->register_type
= register_type
;
2248 gdbarch_dummy_id_p (struct gdbarch
*gdbarch
)
2250 gdb_assert (gdbarch
!= NULL
);
2251 return gdbarch
->dummy_id
!= NULL
;
2255 gdbarch_dummy_id (struct gdbarch
*gdbarch
, struct frame_info
*this_frame
)
2257 gdb_assert (gdbarch
!= NULL
);
2258 gdb_assert (gdbarch
->dummy_id
!= NULL
);
2259 if (gdbarch_debug
>= 2)
2260 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dummy_id called\n");
2261 return gdbarch
->dummy_id (gdbarch
, this_frame
);
2265 set_gdbarch_dummy_id (struct gdbarch
*gdbarch
,
2266 gdbarch_dummy_id_ftype dummy_id
)
2268 gdbarch
->dummy_id
= dummy_id
;
2272 gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
)
2274 gdb_assert (gdbarch
!= NULL
);
2275 /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
2276 if (gdbarch_debug
>= 2)
2277 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_fp_regnum called\n");
2278 return gdbarch
->deprecated_fp_regnum
;
2282 set_gdbarch_deprecated_fp_regnum (struct gdbarch
*gdbarch
,
2283 int deprecated_fp_regnum
)
2285 gdbarch
->deprecated_fp_regnum
= deprecated_fp_regnum
;
2289 gdbarch_push_dummy_call_p (struct gdbarch
*gdbarch
)
2291 gdb_assert (gdbarch
!= NULL
);
2292 return gdbarch
->push_dummy_call
!= NULL
;
2296 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
, int struct_return
, CORE_ADDR struct_addr
)
2298 gdb_assert (gdbarch
!= NULL
);
2299 gdb_assert (gdbarch
->push_dummy_call
!= NULL
);
2300 if (gdbarch_debug
>= 2)
2301 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_call called\n");
2302 return gdbarch
->push_dummy_call (gdbarch
, function
, regcache
, bp_addr
, nargs
, args
, sp
, struct_return
, struct_addr
);
2306 set_gdbarch_push_dummy_call (struct gdbarch
*gdbarch
,
2307 gdbarch_push_dummy_call_ftype push_dummy_call
)
2309 gdbarch
->push_dummy_call
= push_dummy_call
;
2313 gdbarch_call_dummy_location (struct gdbarch
*gdbarch
)
2315 gdb_assert (gdbarch
!= NULL
);
2316 /* Skip verify of call_dummy_location, invalid_p == 0 */
2317 if (gdbarch_debug
>= 2)
2318 fprintf_unfiltered (gdb_stdlog
, "gdbarch_call_dummy_location called\n");
2319 return gdbarch
->call_dummy_location
;
2323 set_gdbarch_call_dummy_location (struct gdbarch
*gdbarch
,
2324 int call_dummy_location
)
2326 gdbarch
->call_dummy_location
= call_dummy_location
;
2330 gdbarch_push_dummy_code_p (struct gdbarch
*gdbarch
)
2332 gdb_assert (gdbarch
!= NULL
);
2333 return gdbarch
->push_dummy_code
!= NULL
;
2337 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
)
2339 gdb_assert (gdbarch
!= NULL
);
2340 gdb_assert (gdbarch
->push_dummy_code
!= NULL
);
2341 if (gdbarch_debug
>= 2)
2342 fprintf_unfiltered (gdb_stdlog
, "gdbarch_push_dummy_code called\n");
2343 return gdbarch
->push_dummy_code (gdbarch
, sp
, funaddr
, args
, nargs
, value_type
, real_pc
, bp_addr
, regcache
);
2347 set_gdbarch_push_dummy_code (struct gdbarch
*gdbarch
,
2348 gdbarch_push_dummy_code_ftype push_dummy_code
)
2350 gdbarch
->push_dummy_code
= push_dummy_code
;
2354 gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
2356 gdb_assert (gdbarch
!= NULL
);
2357 gdb_assert (gdbarch
->code_of_frame_writable
!= NULL
);
2358 if (gdbarch_debug
>= 2)
2359 fprintf_unfiltered (gdb_stdlog
, "gdbarch_code_of_frame_writable called\n");
2360 return gdbarch
->code_of_frame_writable (gdbarch
, frame
);
2364 set_gdbarch_code_of_frame_writable (struct gdbarch
*gdbarch
,
2365 gdbarch_code_of_frame_writable_ftype code_of_frame_writable
)
2367 gdbarch
->code_of_frame_writable
= code_of_frame_writable
;
2371 gdbarch_print_registers_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, int regnum
, int all
)
2373 gdb_assert (gdbarch
!= NULL
);
2374 gdb_assert (gdbarch
->print_registers_info
!= NULL
);
2375 if (gdbarch_debug
>= 2)
2376 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_registers_info called\n");
2377 gdbarch
->print_registers_info (gdbarch
, file
, frame
, regnum
, all
);
2381 set_gdbarch_print_registers_info (struct gdbarch
*gdbarch
,
2382 gdbarch_print_registers_info_ftype print_registers_info
)
2384 gdbarch
->print_registers_info
= print_registers_info
;
2388 gdbarch_print_float_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2390 gdb_assert (gdbarch
!= NULL
);
2391 gdb_assert (gdbarch
->print_float_info
!= NULL
);
2392 if (gdbarch_debug
>= 2)
2393 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_float_info called\n");
2394 gdbarch
->print_float_info (gdbarch
, file
, frame
, args
);
2398 set_gdbarch_print_float_info (struct gdbarch
*gdbarch
,
2399 gdbarch_print_float_info_ftype print_float_info
)
2401 gdbarch
->print_float_info
= print_float_info
;
2405 gdbarch_print_vector_info_p (struct gdbarch
*gdbarch
)
2407 gdb_assert (gdbarch
!= NULL
);
2408 return gdbarch
->print_vector_info
!= NULL
;
2412 gdbarch_print_vector_info (struct gdbarch
*gdbarch
, struct ui_file
*file
, struct frame_info
*frame
, const char *args
)
2414 gdb_assert (gdbarch
!= NULL
);
2415 gdb_assert (gdbarch
->print_vector_info
!= NULL
);
2416 if (gdbarch_debug
>= 2)
2417 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_vector_info called\n");
2418 gdbarch
->print_vector_info (gdbarch
, file
, frame
, args
);
2422 set_gdbarch_print_vector_info (struct gdbarch
*gdbarch
,
2423 gdbarch_print_vector_info_ftype print_vector_info
)
2425 gdbarch
->print_vector_info
= print_vector_info
;
2429 gdbarch_register_sim_regno (struct gdbarch
*gdbarch
, int reg_nr
)
2431 gdb_assert (gdbarch
!= NULL
);
2432 gdb_assert (gdbarch
->register_sim_regno
!= NULL
);
2433 if (gdbarch_debug
>= 2)
2434 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_sim_regno called\n");
2435 return gdbarch
->register_sim_regno (gdbarch
, reg_nr
);
2439 set_gdbarch_register_sim_regno (struct gdbarch
*gdbarch
,
2440 gdbarch_register_sim_regno_ftype register_sim_regno
)
2442 gdbarch
->register_sim_regno
= register_sim_regno
;
2446 gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
, int regnum
)
2448 gdb_assert (gdbarch
!= NULL
);
2449 gdb_assert (gdbarch
->cannot_fetch_register
!= NULL
);
2450 if (gdbarch_debug
>= 2)
2451 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_fetch_register called\n");
2452 return gdbarch
->cannot_fetch_register (gdbarch
, regnum
);
2456 set_gdbarch_cannot_fetch_register (struct gdbarch
*gdbarch
,
2457 gdbarch_cannot_fetch_register_ftype cannot_fetch_register
)
2459 gdbarch
->cannot_fetch_register
= cannot_fetch_register
;
2463 gdbarch_cannot_store_register (struct gdbarch
*gdbarch
, int regnum
)
2465 gdb_assert (gdbarch
!= NULL
);
2466 gdb_assert (gdbarch
->cannot_store_register
!= NULL
);
2467 if (gdbarch_debug
>= 2)
2468 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_store_register called\n");
2469 return gdbarch
->cannot_store_register (gdbarch
, regnum
);
2473 set_gdbarch_cannot_store_register (struct gdbarch
*gdbarch
,
2474 gdbarch_cannot_store_register_ftype cannot_store_register
)
2476 gdbarch
->cannot_store_register
= cannot_store_register
;
2480 gdbarch_get_longjmp_target_p (struct gdbarch
*gdbarch
)
2482 gdb_assert (gdbarch
!= NULL
);
2483 return gdbarch
->get_longjmp_target
!= NULL
;
2487 gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR
*pc
)
2489 gdb_assert (gdbarch
!= NULL
);
2490 gdb_assert (gdbarch
->get_longjmp_target
!= NULL
);
2491 if (gdbarch_debug
>= 2)
2492 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_longjmp_target called\n");
2493 return gdbarch
->get_longjmp_target (frame
, pc
);
2497 set_gdbarch_get_longjmp_target (struct gdbarch
*gdbarch
,
2498 gdbarch_get_longjmp_target_ftype get_longjmp_target
)
2500 gdbarch
->get_longjmp_target
= get_longjmp_target
;
2504 gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
)
2506 gdb_assert (gdbarch
!= NULL
);
2507 if (gdbarch_debug
>= 2)
2508 fprintf_unfiltered (gdb_stdlog
, "gdbarch_believe_pcc_promotion called\n");
2509 return gdbarch
->believe_pcc_promotion
;
2513 set_gdbarch_believe_pcc_promotion (struct gdbarch
*gdbarch
,
2514 int believe_pcc_promotion
)
2516 gdbarch
->believe_pcc_promotion
= believe_pcc_promotion
;
2520 gdbarch_convert_register_p (struct gdbarch
*gdbarch
, int regnum
, struct type
*type
)
2522 gdb_assert (gdbarch
!= NULL
);
2523 gdb_assert (gdbarch
->convert_register_p
!= NULL
);
2524 if (gdbarch_debug
>= 2)
2525 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_register_p called\n");
2526 return gdbarch
->convert_register_p (gdbarch
, regnum
, type
);
2530 set_gdbarch_convert_register_p (struct gdbarch
*gdbarch
,
2531 gdbarch_convert_register_p_ftype convert_register_p
)
2533 gdbarch
->convert_register_p
= convert_register_p
;
2537 gdbarch_register_to_value (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, gdb_byte
*buf
, int *optimizedp
, int *unavailablep
)
2539 gdb_assert (gdbarch
!= NULL
);
2540 gdb_assert (gdbarch
->register_to_value
!= NULL
);
2541 if (gdbarch_debug
>= 2)
2542 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_to_value called\n");
2543 return gdbarch
->register_to_value (frame
, regnum
, type
, buf
, optimizedp
, unavailablep
);
2547 set_gdbarch_register_to_value (struct gdbarch
*gdbarch
,
2548 gdbarch_register_to_value_ftype register_to_value
)
2550 gdbarch
->register_to_value
= register_to_value
;
2554 gdbarch_value_to_register (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int regnum
, struct type
*type
, const gdb_byte
*buf
)
2556 gdb_assert (gdbarch
!= NULL
);
2557 gdb_assert (gdbarch
->value_to_register
!= NULL
);
2558 if (gdbarch_debug
>= 2)
2559 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_to_register called\n");
2560 gdbarch
->value_to_register (frame
, regnum
, type
, buf
);
2564 set_gdbarch_value_to_register (struct gdbarch
*gdbarch
,
2565 gdbarch_value_to_register_ftype value_to_register
)
2567 gdbarch
->value_to_register
= value_to_register
;
2571 gdbarch_value_from_register (struct gdbarch
*gdbarch
, struct type
*type
, int regnum
, struct frame_id frame_id
)
2573 gdb_assert (gdbarch
!= NULL
);
2574 gdb_assert (gdbarch
->value_from_register
!= NULL
);
2575 if (gdbarch_debug
>= 2)
2576 fprintf_unfiltered (gdb_stdlog
, "gdbarch_value_from_register called\n");
2577 return gdbarch
->value_from_register (gdbarch
, type
, regnum
, frame_id
);
2581 set_gdbarch_value_from_register (struct gdbarch
*gdbarch
,
2582 gdbarch_value_from_register_ftype value_from_register
)
2584 gdbarch
->value_from_register
= value_from_register
;
2588 gdbarch_pointer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2590 gdb_assert (gdbarch
!= NULL
);
2591 gdb_assert (gdbarch
->pointer_to_address
!= NULL
);
2592 if (gdbarch_debug
>= 2)
2593 fprintf_unfiltered (gdb_stdlog
, "gdbarch_pointer_to_address called\n");
2594 return gdbarch
->pointer_to_address (gdbarch
, type
, buf
);
2598 set_gdbarch_pointer_to_address (struct gdbarch
*gdbarch
,
2599 gdbarch_pointer_to_address_ftype pointer_to_address
)
2601 gdbarch
->pointer_to_address
= pointer_to_address
;
2605 gdbarch_address_to_pointer (struct gdbarch
*gdbarch
, struct type
*type
, gdb_byte
*buf
, CORE_ADDR addr
)
2607 gdb_assert (gdbarch
!= NULL
);
2608 gdb_assert (gdbarch
->address_to_pointer
!= NULL
);
2609 if (gdbarch_debug
>= 2)
2610 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_to_pointer called\n");
2611 gdbarch
->address_to_pointer (gdbarch
, type
, buf
, addr
);
2615 set_gdbarch_address_to_pointer (struct gdbarch
*gdbarch
,
2616 gdbarch_address_to_pointer_ftype address_to_pointer
)
2618 gdbarch
->address_to_pointer
= address_to_pointer
;
2622 gdbarch_integer_to_address_p (struct gdbarch
*gdbarch
)
2624 gdb_assert (gdbarch
!= NULL
);
2625 return gdbarch
->integer_to_address
!= NULL
;
2629 gdbarch_integer_to_address (struct gdbarch
*gdbarch
, struct type
*type
, const gdb_byte
*buf
)
2631 gdb_assert (gdbarch
!= NULL
);
2632 gdb_assert (gdbarch
->integer_to_address
!= NULL
);
2633 if (gdbarch_debug
>= 2)
2634 fprintf_unfiltered (gdb_stdlog
, "gdbarch_integer_to_address called\n");
2635 return gdbarch
->integer_to_address (gdbarch
, type
, buf
);
2639 set_gdbarch_integer_to_address (struct gdbarch
*gdbarch
,
2640 gdbarch_integer_to_address_ftype integer_to_address
)
2642 gdbarch
->integer_to_address
= integer_to_address
;
2646 gdbarch_return_value_p (struct gdbarch
*gdbarch
)
2648 gdb_assert (gdbarch
!= NULL
);
2649 return gdbarch
->return_value
!= NULL
;
2652 enum return_value_convention
2653 gdbarch_return_value (struct gdbarch
*gdbarch
, struct value
*function
, struct type
*valtype
, struct regcache
*regcache
, gdb_byte
*readbuf
, const gdb_byte
*writebuf
)
2655 gdb_assert (gdbarch
!= NULL
);
2656 gdb_assert (gdbarch
->return_value
!= NULL
);
2657 if (gdbarch_debug
>= 2)
2658 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_value called\n");
2659 return gdbarch
->return_value (gdbarch
, function
, valtype
, regcache
, readbuf
, writebuf
);
2663 set_gdbarch_return_value (struct gdbarch
*gdbarch
,
2664 gdbarch_return_value_ftype return_value
)
2666 gdbarch
->return_value
= return_value
;
2670 gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
, struct type
*type
)
2672 gdb_assert (gdbarch
!= NULL
);
2673 gdb_assert (gdbarch
->return_in_first_hidden_param_p
!= NULL
);
2674 if (gdbarch_debug
>= 2)
2675 fprintf_unfiltered (gdb_stdlog
, "gdbarch_return_in_first_hidden_param_p called\n");
2676 return gdbarch
->return_in_first_hidden_param_p (gdbarch
, type
);
2680 set_gdbarch_return_in_first_hidden_param_p (struct gdbarch
*gdbarch
,
2681 gdbarch_return_in_first_hidden_param_p_ftype return_in_first_hidden_param_p
)
2683 gdbarch
->return_in_first_hidden_param_p
= return_in_first_hidden_param_p
;
2687 gdbarch_skip_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2689 gdb_assert (gdbarch
!= NULL
);
2690 gdb_assert (gdbarch
->skip_prologue
!= NULL
);
2691 if (gdbarch_debug
>= 2)
2692 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_prologue called\n");
2693 return gdbarch
->skip_prologue (gdbarch
, ip
);
2697 set_gdbarch_skip_prologue (struct gdbarch
*gdbarch
,
2698 gdbarch_skip_prologue_ftype skip_prologue
)
2700 gdbarch
->skip_prologue
= skip_prologue
;
2704 gdbarch_skip_main_prologue_p (struct gdbarch
*gdbarch
)
2706 gdb_assert (gdbarch
!= NULL
);
2707 return gdbarch
->skip_main_prologue
!= NULL
;
2711 gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2713 gdb_assert (gdbarch
!= NULL
);
2714 gdb_assert (gdbarch
->skip_main_prologue
!= NULL
);
2715 if (gdbarch_debug
>= 2)
2716 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_main_prologue called\n");
2717 return gdbarch
->skip_main_prologue (gdbarch
, ip
);
2721 set_gdbarch_skip_main_prologue (struct gdbarch
*gdbarch
,
2722 gdbarch_skip_main_prologue_ftype skip_main_prologue
)
2724 gdbarch
->skip_main_prologue
= skip_main_prologue
;
2728 gdbarch_skip_entrypoint_p (struct gdbarch
*gdbarch
)
2730 gdb_assert (gdbarch
!= NULL
);
2731 return gdbarch
->skip_entrypoint
!= NULL
;
2735 gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
, CORE_ADDR ip
)
2737 gdb_assert (gdbarch
!= NULL
);
2738 gdb_assert (gdbarch
->skip_entrypoint
!= NULL
);
2739 if (gdbarch_debug
>= 2)
2740 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_entrypoint called\n");
2741 return gdbarch
->skip_entrypoint (gdbarch
, ip
);
2745 set_gdbarch_skip_entrypoint (struct gdbarch
*gdbarch
,
2746 gdbarch_skip_entrypoint_ftype skip_entrypoint
)
2748 gdbarch
->skip_entrypoint
= skip_entrypoint
;
2752 gdbarch_inner_than (struct gdbarch
*gdbarch
, CORE_ADDR lhs
, CORE_ADDR rhs
)
2754 gdb_assert (gdbarch
!= NULL
);
2755 gdb_assert (gdbarch
->inner_than
!= NULL
);
2756 if (gdbarch_debug
>= 2)
2757 fprintf_unfiltered (gdb_stdlog
, "gdbarch_inner_than called\n");
2758 return gdbarch
->inner_than (lhs
, rhs
);
2762 set_gdbarch_inner_than (struct gdbarch
*gdbarch
,
2763 gdbarch_inner_than_ftype inner_than
)
2765 gdbarch
->inner_than
= inner_than
;
2769 gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
, int *lenptr
)
2771 gdb_assert (gdbarch
!= NULL
);
2772 gdb_assert (gdbarch
->breakpoint_from_pc
!= NULL
);
2773 if (gdbarch_debug
>= 2)
2774 fprintf_unfiltered (gdb_stdlog
, "gdbarch_breakpoint_from_pc called\n");
2775 return gdbarch
->breakpoint_from_pc (gdbarch
, pcptr
, lenptr
);
2779 set_gdbarch_breakpoint_from_pc (struct gdbarch
*gdbarch
,
2780 gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc
)
2782 gdbarch
->breakpoint_from_pc
= breakpoint_from_pc
;
2786 gdbarch_remote_breakpoint_from_pc (struct gdbarch
*gdbarch
, CORE_ADDR
*pcptr
, int *kindptr
)
2788 gdb_assert (gdbarch
!= NULL
);
2789 gdb_assert (gdbarch
->remote_breakpoint_from_pc
!= NULL
);
2790 if (gdbarch_debug
>= 2)
2791 fprintf_unfiltered (gdb_stdlog
, "gdbarch_remote_breakpoint_from_pc called\n");
2792 gdbarch
->remote_breakpoint_from_pc (gdbarch
, pcptr
, kindptr
);
2796 set_gdbarch_remote_breakpoint_from_pc (struct gdbarch
*gdbarch
,
2797 gdbarch_remote_breakpoint_from_pc_ftype remote_breakpoint_from_pc
)
2799 gdbarch
->remote_breakpoint_from_pc
= remote_breakpoint_from_pc
;
2803 gdbarch_adjust_breakpoint_address_p (struct gdbarch
*gdbarch
)
2805 gdb_assert (gdbarch
!= NULL
);
2806 return gdbarch
->adjust_breakpoint_address
!= NULL
;
2810 gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
, CORE_ADDR bpaddr
)
2812 gdb_assert (gdbarch
!= NULL
);
2813 gdb_assert (gdbarch
->adjust_breakpoint_address
!= NULL
);
2814 if (gdbarch_debug
>= 2)
2815 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_breakpoint_address called\n");
2816 return gdbarch
->adjust_breakpoint_address (gdbarch
, bpaddr
);
2820 set_gdbarch_adjust_breakpoint_address (struct gdbarch
*gdbarch
,
2821 gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address
)
2823 gdbarch
->adjust_breakpoint_address
= adjust_breakpoint_address
;
2827 gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2829 gdb_assert (gdbarch
!= NULL
);
2830 gdb_assert (gdbarch
->memory_insert_breakpoint
!= NULL
);
2831 if (gdbarch_debug
>= 2)
2832 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_insert_breakpoint called\n");
2833 return gdbarch
->memory_insert_breakpoint (gdbarch
, bp_tgt
);
2837 set_gdbarch_memory_insert_breakpoint (struct gdbarch
*gdbarch
,
2838 gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint
)
2840 gdbarch
->memory_insert_breakpoint
= memory_insert_breakpoint
;
2844 gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
, struct bp_target_info
*bp_tgt
)
2846 gdb_assert (gdbarch
!= NULL
);
2847 gdb_assert (gdbarch
->memory_remove_breakpoint
!= NULL
);
2848 if (gdbarch_debug
>= 2)
2849 fprintf_unfiltered (gdb_stdlog
, "gdbarch_memory_remove_breakpoint called\n");
2850 return gdbarch
->memory_remove_breakpoint (gdbarch
, bp_tgt
);
2854 set_gdbarch_memory_remove_breakpoint (struct gdbarch
*gdbarch
,
2855 gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint
)
2857 gdbarch
->memory_remove_breakpoint
= memory_remove_breakpoint
;
2861 gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
)
2863 gdb_assert (gdbarch
!= NULL
);
2864 /* Skip verify of decr_pc_after_break, invalid_p == 0 */
2865 if (gdbarch_debug
>= 2)
2866 fprintf_unfiltered (gdb_stdlog
, "gdbarch_decr_pc_after_break called\n");
2867 return gdbarch
->decr_pc_after_break
;
2871 set_gdbarch_decr_pc_after_break (struct gdbarch
*gdbarch
,
2872 CORE_ADDR decr_pc_after_break
)
2874 gdbarch
->decr_pc_after_break
= decr_pc_after_break
;
2878 gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
)
2880 gdb_assert (gdbarch
!= NULL
);
2881 /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
2882 if (gdbarch_debug
>= 2)
2883 fprintf_unfiltered (gdb_stdlog
, "gdbarch_deprecated_function_start_offset called\n");
2884 return gdbarch
->deprecated_function_start_offset
;
2888 set_gdbarch_deprecated_function_start_offset (struct gdbarch
*gdbarch
,
2889 CORE_ADDR deprecated_function_start_offset
)
2891 gdbarch
->deprecated_function_start_offset
= deprecated_function_start_offset
;
2895 gdbarch_remote_register_number (struct gdbarch
*gdbarch
, int regno
)
2897 gdb_assert (gdbarch
!= NULL
);
2898 gdb_assert (gdbarch
->remote_register_number
!= NULL
);
2899 if (gdbarch_debug
>= 2)
2900 fprintf_unfiltered (gdb_stdlog
, "gdbarch_remote_register_number called\n");
2901 return gdbarch
->remote_register_number (gdbarch
, regno
);
2905 set_gdbarch_remote_register_number (struct gdbarch
*gdbarch
,
2906 gdbarch_remote_register_number_ftype remote_register_number
)
2908 gdbarch
->remote_register_number
= remote_register_number
;
2912 gdbarch_fetch_tls_load_module_address_p (struct gdbarch
*gdbarch
)
2914 gdb_assert (gdbarch
!= NULL
);
2915 return gdbarch
->fetch_tls_load_module_address
!= NULL
;
2919 gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
, struct objfile
*objfile
)
2921 gdb_assert (gdbarch
!= NULL
);
2922 gdb_assert (gdbarch
->fetch_tls_load_module_address
!= NULL
);
2923 if (gdbarch_debug
>= 2)
2924 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_tls_load_module_address called\n");
2925 return gdbarch
->fetch_tls_load_module_address (objfile
);
2929 set_gdbarch_fetch_tls_load_module_address (struct gdbarch
*gdbarch
,
2930 gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address
)
2932 gdbarch
->fetch_tls_load_module_address
= fetch_tls_load_module_address
;
2936 gdbarch_frame_args_skip (struct gdbarch
*gdbarch
)
2938 gdb_assert (gdbarch
!= NULL
);
2939 /* Skip verify of frame_args_skip, invalid_p == 0 */
2940 if (gdbarch_debug
>= 2)
2941 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_args_skip called\n");
2942 return gdbarch
->frame_args_skip
;
2946 set_gdbarch_frame_args_skip (struct gdbarch
*gdbarch
,
2947 CORE_ADDR frame_args_skip
)
2949 gdbarch
->frame_args_skip
= frame_args_skip
;
2953 gdbarch_unwind_pc_p (struct gdbarch
*gdbarch
)
2955 gdb_assert (gdbarch
!= NULL
);
2956 return gdbarch
->unwind_pc
!= NULL
;
2960 gdbarch_unwind_pc (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
2962 gdb_assert (gdbarch
!= NULL
);
2963 gdb_assert (gdbarch
->unwind_pc
!= NULL
);
2964 if (gdbarch_debug
>= 2)
2965 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_pc called\n");
2966 return gdbarch
->unwind_pc (gdbarch
, next_frame
);
2970 set_gdbarch_unwind_pc (struct gdbarch
*gdbarch
,
2971 gdbarch_unwind_pc_ftype unwind_pc
)
2973 gdbarch
->unwind_pc
= unwind_pc
;
2977 gdbarch_unwind_sp_p (struct gdbarch
*gdbarch
)
2979 gdb_assert (gdbarch
!= NULL
);
2980 return gdbarch
->unwind_sp
!= NULL
;
2984 gdbarch_unwind_sp (struct gdbarch
*gdbarch
, struct frame_info
*next_frame
)
2986 gdb_assert (gdbarch
!= NULL
);
2987 gdb_assert (gdbarch
->unwind_sp
!= NULL
);
2988 if (gdbarch_debug
>= 2)
2989 fprintf_unfiltered (gdb_stdlog
, "gdbarch_unwind_sp called\n");
2990 return gdbarch
->unwind_sp (gdbarch
, next_frame
);
2994 set_gdbarch_unwind_sp (struct gdbarch
*gdbarch
,
2995 gdbarch_unwind_sp_ftype unwind_sp
)
2997 gdbarch
->unwind_sp
= unwind_sp
;
3001 gdbarch_frame_num_args_p (struct gdbarch
*gdbarch
)
3003 gdb_assert (gdbarch
!= NULL
);
3004 return gdbarch
->frame_num_args
!= NULL
;
3008 gdbarch_frame_num_args (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3010 gdb_assert (gdbarch
!= NULL
);
3011 gdb_assert (gdbarch
->frame_num_args
!= NULL
);
3012 if (gdbarch_debug
>= 2)
3013 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_num_args called\n");
3014 return gdbarch
->frame_num_args (frame
);
3018 set_gdbarch_frame_num_args (struct gdbarch
*gdbarch
,
3019 gdbarch_frame_num_args_ftype frame_num_args
)
3021 gdbarch
->frame_num_args
= frame_num_args
;
3025 gdbarch_frame_align_p (struct gdbarch
*gdbarch
)
3027 gdb_assert (gdbarch
!= NULL
);
3028 return gdbarch
->frame_align
!= NULL
;
3032 gdbarch_frame_align (struct gdbarch
*gdbarch
, CORE_ADDR address
)
3034 gdb_assert (gdbarch
!= NULL
);
3035 gdb_assert (gdbarch
->frame_align
!= NULL
);
3036 if (gdbarch_debug
>= 2)
3037 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_align called\n");
3038 return gdbarch
->frame_align (gdbarch
, address
);
3042 set_gdbarch_frame_align (struct gdbarch
*gdbarch
,
3043 gdbarch_frame_align_ftype frame_align
)
3045 gdbarch
->frame_align
= frame_align
;
3049 gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
, struct type
*type
)
3051 gdb_assert (gdbarch
!= NULL
);
3052 gdb_assert (gdbarch
->stabs_argument_has_addr
!= NULL
);
3053 if (gdbarch_debug
>= 2)
3054 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stabs_argument_has_addr called\n");
3055 return gdbarch
->stabs_argument_has_addr (gdbarch
, type
);
3059 set_gdbarch_stabs_argument_has_addr (struct gdbarch
*gdbarch
,
3060 gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr
)
3062 gdbarch
->stabs_argument_has_addr
= stabs_argument_has_addr
;
3066 gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
)
3068 gdb_assert (gdbarch
!= NULL
);
3069 if (gdbarch_debug
>= 2)
3070 fprintf_unfiltered (gdb_stdlog
, "gdbarch_frame_red_zone_size called\n");
3071 return gdbarch
->frame_red_zone_size
;
3075 set_gdbarch_frame_red_zone_size (struct gdbarch
*gdbarch
,
3076 int frame_red_zone_size
)
3078 gdbarch
->frame_red_zone_size
= frame_red_zone_size
;
3082 gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
, CORE_ADDR addr
, struct target_ops
*targ
)
3084 gdb_assert (gdbarch
!= NULL
);
3085 gdb_assert (gdbarch
->convert_from_func_ptr_addr
!= NULL
);
3086 if (gdbarch_debug
>= 2)
3087 fprintf_unfiltered (gdb_stdlog
, "gdbarch_convert_from_func_ptr_addr called\n");
3088 return gdbarch
->convert_from_func_ptr_addr (gdbarch
, addr
, targ
);
3092 set_gdbarch_convert_from_func_ptr_addr (struct gdbarch
*gdbarch
,
3093 gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr
)
3095 gdbarch
->convert_from_func_ptr_addr
= convert_from_func_ptr_addr
;
3099 gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3101 gdb_assert (gdbarch
!= NULL
);
3102 gdb_assert (gdbarch
->addr_bits_remove
!= NULL
);
3103 if (gdbarch_debug
>= 2)
3104 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addr_bits_remove called\n");
3105 return gdbarch
->addr_bits_remove (gdbarch
, addr
);
3109 set_gdbarch_addr_bits_remove (struct gdbarch
*gdbarch
,
3110 gdbarch_addr_bits_remove_ftype addr_bits_remove
)
3112 gdbarch
->addr_bits_remove
= addr_bits_remove
;
3116 gdbarch_software_single_step_p (struct gdbarch
*gdbarch
)
3118 gdb_assert (gdbarch
!= NULL
);
3119 return gdbarch
->software_single_step
!= NULL
;
3123 gdbarch_software_single_step (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3125 gdb_assert (gdbarch
!= NULL
);
3126 gdb_assert (gdbarch
->software_single_step
!= NULL
);
3127 if (gdbarch_debug
>= 2)
3128 fprintf_unfiltered (gdb_stdlog
, "gdbarch_software_single_step called\n");
3129 return gdbarch
->software_single_step (frame
);
3133 set_gdbarch_software_single_step (struct gdbarch
*gdbarch
,
3134 gdbarch_software_single_step_ftype software_single_step
)
3136 gdbarch
->software_single_step
= software_single_step
;
3140 gdbarch_single_step_through_delay_p (struct gdbarch
*gdbarch
)
3142 gdb_assert (gdbarch
!= NULL
);
3143 return gdbarch
->single_step_through_delay
!= NULL
;
3147 gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
, struct frame_info
*frame
)
3149 gdb_assert (gdbarch
!= NULL
);
3150 gdb_assert (gdbarch
->single_step_through_delay
!= NULL
);
3151 if (gdbarch_debug
>= 2)
3152 fprintf_unfiltered (gdb_stdlog
, "gdbarch_single_step_through_delay called\n");
3153 return gdbarch
->single_step_through_delay (gdbarch
, frame
);
3157 set_gdbarch_single_step_through_delay (struct gdbarch
*gdbarch
,
3158 gdbarch_single_step_through_delay_ftype single_step_through_delay
)
3160 gdbarch
->single_step_through_delay
= single_step_through_delay
;
3164 gdbarch_print_insn (struct gdbarch
*gdbarch
, bfd_vma vma
, struct disassemble_info
*info
)
3166 gdb_assert (gdbarch
!= NULL
);
3167 gdb_assert (gdbarch
->print_insn
!= NULL
);
3168 if (gdbarch_debug
>= 2)
3169 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_insn called\n");
3170 return gdbarch
->print_insn (vma
, info
);
3174 set_gdbarch_print_insn (struct gdbarch
*gdbarch
,
3175 gdbarch_print_insn_ftype print_insn
)
3177 gdbarch
->print_insn
= print_insn
;
3181 gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
, struct frame_info
*frame
, CORE_ADDR pc
)
3183 gdb_assert (gdbarch
!= NULL
);
3184 gdb_assert (gdbarch
->skip_trampoline_code
!= NULL
);
3185 if (gdbarch_debug
>= 2)
3186 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_trampoline_code called\n");
3187 return gdbarch
->skip_trampoline_code (frame
, pc
);
3191 set_gdbarch_skip_trampoline_code (struct gdbarch
*gdbarch
,
3192 gdbarch_skip_trampoline_code_ftype skip_trampoline_code
)
3194 gdbarch
->skip_trampoline_code
= skip_trampoline_code
;
3198 gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3200 gdb_assert (gdbarch
!= NULL
);
3201 gdb_assert (gdbarch
->skip_solib_resolver
!= NULL
);
3202 if (gdbarch_debug
>= 2)
3203 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_solib_resolver called\n");
3204 return gdbarch
->skip_solib_resolver (gdbarch
, pc
);
3208 set_gdbarch_skip_solib_resolver (struct gdbarch
*gdbarch
,
3209 gdbarch_skip_solib_resolver_ftype skip_solib_resolver
)
3211 gdbarch
->skip_solib_resolver
= skip_solib_resolver
;
3215 gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
, CORE_ADDR pc
, const char *name
)
3217 gdb_assert (gdbarch
!= NULL
);
3218 gdb_assert (gdbarch
->in_solib_return_trampoline
!= NULL
);
3219 if (gdbarch_debug
>= 2)
3220 fprintf_unfiltered (gdb_stdlog
, "gdbarch_in_solib_return_trampoline called\n");
3221 return gdbarch
->in_solib_return_trampoline (gdbarch
, pc
, name
);
3225 set_gdbarch_in_solib_return_trampoline (struct gdbarch
*gdbarch
,
3226 gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline
)
3228 gdbarch
->in_solib_return_trampoline
= in_solib_return_trampoline
;
3232 gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
3234 gdb_assert (gdbarch
!= NULL
);
3235 gdb_assert (gdbarch
->stack_frame_destroyed_p
!= NULL
);
3236 if (gdbarch_debug
>= 2)
3237 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stack_frame_destroyed_p called\n");
3238 return gdbarch
->stack_frame_destroyed_p (gdbarch
, addr
);
3242 set_gdbarch_stack_frame_destroyed_p (struct gdbarch
*gdbarch
,
3243 gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p
)
3245 gdbarch
->stack_frame_destroyed_p
= stack_frame_destroyed_p
;
3249 gdbarch_elf_make_msymbol_special_p (struct gdbarch
*gdbarch
)
3251 gdb_assert (gdbarch
!= NULL
);
3252 return gdbarch
->elf_make_msymbol_special
!= NULL
;
3256 gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
, asymbol
*sym
, struct minimal_symbol
*msym
)
3258 gdb_assert (gdbarch
!= NULL
);
3259 gdb_assert (gdbarch
->elf_make_msymbol_special
!= NULL
);
3260 if (gdbarch_debug
>= 2)
3261 fprintf_unfiltered (gdb_stdlog
, "gdbarch_elf_make_msymbol_special called\n");
3262 gdbarch
->elf_make_msymbol_special (sym
, msym
);
3266 set_gdbarch_elf_make_msymbol_special (struct gdbarch
*gdbarch
,
3267 gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special
)
3269 gdbarch
->elf_make_msymbol_special
= elf_make_msymbol_special
;
3273 gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
, int val
, struct minimal_symbol
*msym
)
3275 gdb_assert (gdbarch
!= NULL
);
3276 gdb_assert (gdbarch
->coff_make_msymbol_special
!= NULL
);
3277 if (gdbarch_debug
>= 2)
3278 fprintf_unfiltered (gdb_stdlog
, "gdbarch_coff_make_msymbol_special called\n");
3279 gdbarch
->coff_make_msymbol_special (val
, msym
);
3283 set_gdbarch_coff_make_msymbol_special (struct gdbarch
*gdbarch
,
3284 gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special
)
3286 gdbarch
->coff_make_msymbol_special
= coff_make_msymbol_special
;
3290 gdbarch_make_symbol_special (struct gdbarch
*gdbarch
, struct symbol
*sym
, struct objfile
*objfile
)
3292 gdb_assert (gdbarch
!= NULL
);
3293 gdb_assert (gdbarch
->make_symbol_special
!= NULL
);
3294 if (gdbarch_debug
>= 2)
3295 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_symbol_special called\n");
3296 gdbarch
->make_symbol_special (sym
, objfile
);
3300 set_gdbarch_make_symbol_special (struct gdbarch
*gdbarch
,
3301 gdbarch_make_symbol_special_ftype make_symbol_special
)
3303 gdbarch
->make_symbol_special
= make_symbol_special
;
3307 gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
, CORE_ADDR pc
)
3309 gdb_assert (gdbarch
!= NULL
);
3310 gdb_assert (gdbarch
->adjust_dwarf2_addr
!= NULL
);
3311 if (gdbarch_debug
>= 2)
3312 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_addr called\n");
3313 return gdbarch
->adjust_dwarf2_addr (pc
);
3317 set_gdbarch_adjust_dwarf2_addr (struct gdbarch
*gdbarch
,
3318 gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr
)
3320 gdbarch
->adjust_dwarf2_addr
= adjust_dwarf2_addr
;
3324 gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
, CORE_ADDR addr
, int rel
)
3326 gdb_assert (gdbarch
!= NULL
);
3327 gdb_assert (gdbarch
->adjust_dwarf2_line
!= NULL
);
3328 if (gdbarch_debug
>= 2)
3329 fprintf_unfiltered (gdb_stdlog
, "gdbarch_adjust_dwarf2_line called\n");
3330 return gdbarch
->adjust_dwarf2_line (addr
, rel
);
3334 set_gdbarch_adjust_dwarf2_line (struct gdbarch
*gdbarch
,
3335 gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line
)
3337 gdbarch
->adjust_dwarf2_line
= adjust_dwarf2_line
;
3341 gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
)
3343 gdb_assert (gdbarch
!= NULL
);
3344 /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
3345 if (gdbarch_debug
>= 2)
3346 fprintf_unfiltered (gdb_stdlog
, "gdbarch_cannot_step_breakpoint called\n");
3347 return gdbarch
->cannot_step_breakpoint
;
3351 set_gdbarch_cannot_step_breakpoint (struct gdbarch
*gdbarch
,
3352 int cannot_step_breakpoint
)
3354 gdbarch
->cannot_step_breakpoint
= cannot_step_breakpoint
;
3358 gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
)
3360 gdb_assert (gdbarch
!= NULL
);
3361 /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
3362 if (gdbarch_debug
>= 2)
3363 fprintf_unfiltered (gdb_stdlog
, "gdbarch_have_nonsteppable_watchpoint called\n");
3364 return gdbarch
->have_nonsteppable_watchpoint
;
3368 set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch
*gdbarch
,
3369 int have_nonsteppable_watchpoint
)
3371 gdbarch
->have_nonsteppable_watchpoint
= have_nonsteppable_watchpoint
;
3375 gdbarch_address_class_type_flags_p (struct gdbarch
*gdbarch
)
3377 gdb_assert (gdbarch
!= NULL
);
3378 return gdbarch
->address_class_type_flags
!= NULL
;
3382 gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
, int byte_size
, int dwarf2_addr_class
)
3384 gdb_assert (gdbarch
!= NULL
);
3385 gdb_assert (gdbarch
->address_class_type_flags
!= NULL
);
3386 if (gdbarch_debug
>= 2)
3387 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags called\n");
3388 return gdbarch
->address_class_type_flags (byte_size
, dwarf2_addr_class
);
3392 set_gdbarch_address_class_type_flags (struct gdbarch
*gdbarch
,
3393 gdbarch_address_class_type_flags_ftype address_class_type_flags
)
3395 gdbarch
->address_class_type_flags
= address_class_type_flags
;
3399 gdbarch_address_class_type_flags_to_name_p (struct gdbarch
*gdbarch
)
3401 gdb_assert (gdbarch
!= NULL
);
3402 return gdbarch
->address_class_type_flags_to_name
!= NULL
;
3406 gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
, int type_flags
)
3408 gdb_assert (gdbarch
!= NULL
);
3409 gdb_assert (gdbarch
->address_class_type_flags_to_name
!= NULL
);
3410 if (gdbarch_debug
>= 2)
3411 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_type_flags_to_name called\n");
3412 return gdbarch
->address_class_type_flags_to_name (gdbarch
, type_flags
);
3416 set_gdbarch_address_class_type_flags_to_name (struct gdbarch
*gdbarch
,
3417 gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name
)
3419 gdbarch
->address_class_type_flags_to_name
= address_class_type_flags_to_name
;
3423 gdbarch_address_class_name_to_type_flags_p (struct gdbarch
*gdbarch
)
3425 gdb_assert (gdbarch
!= NULL
);
3426 return gdbarch
->address_class_name_to_type_flags
!= NULL
;
3430 gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
, const char *name
, int *type_flags_ptr
)
3432 gdb_assert (gdbarch
!= NULL
);
3433 gdb_assert (gdbarch
->address_class_name_to_type_flags
!= NULL
);
3434 if (gdbarch_debug
>= 2)
3435 fprintf_unfiltered (gdb_stdlog
, "gdbarch_address_class_name_to_type_flags called\n");
3436 return gdbarch
->address_class_name_to_type_flags (gdbarch
, name
, type_flags_ptr
);
3440 set_gdbarch_address_class_name_to_type_flags (struct gdbarch
*gdbarch
,
3441 gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags
)
3443 gdbarch
->address_class_name_to_type_flags
= address_class_name_to_type_flags
;
3447 gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
, int regnum
, struct reggroup
*reggroup
)
3449 gdb_assert (gdbarch
!= NULL
);
3450 gdb_assert (gdbarch
->register_reggroup_p
!= NULL
);
3451 if (gdbarch_debug
>= 2)
3452 fprintf_unfiltered (gdb_stdlog
, "gdbarch_register_reggroup_p called\n");
3453 return gdbarch
->register_reggroup_p (gdbarch
, regnum
, reggroup
);
3457 set_gdbarch_register_reggroup_p (struct gdbarch
*gdbarch
,
3458 gdbarch_register_reggroup_p_ftype register_reggroup_p
)
3460 gdbarch
->register_reggroup_p
= register_reggroup_p
;
3464 gdbarch_fetch_pointer_argument_p (struct gdbarch
*gdbarch
)
3466 gdb_assert (gdbarch
!= NULL
);
3467 return gdbarch
->fetch_pointer_argument
!= NULL
;
3471 gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
, struct frame_info
*frame
, int argi
, struct type
*type
)
3473 gdb_assert (gdbarch
!= NULL
);
3474 gdb_assert (gdbarch
->fetch_pointer_argument
!= NULL
);
3475 if (gdbarch_debug
>= 2)
3476 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fetch_pointer_argument called\n");
3477 return gdbarch
->fetch_pointer_argument (frame
, argi
, type
);
3481 set_gdbarch_fetch_pointer_argument (struct gdbarch
*gdbarch
,
3482 gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument
)
3484 gdbarch
->fetch_pointer_argument
= fetch_pointer_argument
;
3488 gdbarch_iterate_over_regset_sections_p (struct gdbarch
*gdbarch
)
3490 gdb_assert (gdbarch
!= NULL
);
3491 return gdbarch
->iterate_over_regset_sections
!= NULL
;
3495 gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
, iterate_over_regset_sections_cb
*cb
, void *cb_data
, const struct regcache
*regcache
)
3497 gdb_assert (gdbarch
!= NULL
);
3498 gdb_assert (gdbarch
->iterate_over_regset_sections
!= NULL
);
3499 if (gdbarch_debug
>= 2)
3500 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_regset_sections called\n");
3501 gdbarch
->iterate_over_regset_sections (gdbarch
, cb
, cb_data
, regcache
);
3505 set_gdbarch_iterate_over_regset_sections (struct gdbarch
*gdbarch
,
3506 gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections
)
3508 gdbarch
->iterate_over_regset_sections
= iterate_over_regset_sections
;
3512 gdbarch_make_corefile_notes_p (struct gdbarch
*gdbarch
)
3514 gdb_assert (gdbarch
!= NULL
);
3515 return gdbarch
->make_corefile_notes
!= NULL
;
3519 gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
, bfd
*obfd
, int *note_size
)
3521 gdb_assert (gdbarch
!= NULL
);
3522 gdb_assert (gdbarch
->make_corefile_notes
!= NULL
);
3523 if (gdbarch_debug
>= 2)
3524 fprintf_unfiltered (gdb_stdlog
, "gdbarch_make_corefile_notes called\n");
3525 return gdbarch
->make_corefile_notes (gdbarch
, obfd
, note_size
);
3529 set_gdbarch_make_corefile_notes (struct gdbarch
*gdbarch
,
3530 gdbarch_make_corefile_notes_ftype make_corefile_notes
)
3532 gdbarch
->make_corefile_notes
= make_corefile_notes
;
3536 gdbarch_elfcore_write_linux_prpsinfo_p (struct gdbarch
*gdbarch
)
3538 gdb_assert (gdbarch
!= NULL
);
3539 return gdbarch
->elfcore_write_linux_prpsinfo
!= NULL
;
3543 gdbarch_elfcore_write_linux_prpsinfo (struct gdbarch
*gdbarch
, bfd
*obfd
, char *note_data
, int *note_size
, const struct elf_internal_linux_prpsinfo
*info
)
3545 gdb_assert (gdbarch
!= NULL
);
3546 gdb_assert (gdbarch
->elfcore_write_linux_prpsinfo
!= NULL
);
3547 if (gdbarch_debug
>= 2)
3548 fprintf_unfiltered (gdb_stdlog
, "gdbarch_elfcore_write_linux_prpsinfo called\n");
3549 return gdbarch
->elfcore_write_linux_prpsinfo (obfd
, note_data
, note_size
, info
);
3553 set_gdbarch_elfcore_write_linux_prpsinfo (struct gdbarch
*gdbarch
,
3554 gdbarch_elfcore_write_linux_prpsinfo_ftype elfcore_write_linux_prpsinfo
)
3556 gdbarch
->elfcore_write_linux_prpsinfo
= elfcore_write_linux_prpsinfo
;
3560 gdbarch_find_memory_regions_p (struct gdbarch
*gdbarch
)
3562 gdb_assert (gdbarch
!= NULL
);
3563 return gdbarch
->find_memory_regions
!= NULL
;
3567 gdbarch_find_memory_regions (struct gdbarch
*gdbarch
, find_memory_region_ftype func
, void *data
)
3569 gdb_assert (gdbarch
!= NULL
);
3570 gdb_assert (gdbarch
->find_memory_regions
!= NULL
);
3571 if (gdbarch_debug
>= 2)
3572 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_memory_regions called\n");
3573 return gdbarch
->find_memory_regions (gdbarch
, func
, data
);
3577 set_gdbarch_find_memory_regions (struct gdbarch
*gdbarch
,
3578 gdbarch_find_memory_regions_ftype find_memory_regions
)
3580 gdbarch
->find_memory_regions
= find_memory_regions
;
3584 gdbarch_core_xfer_shared_libraries_p (struct gdbarch
*gdbarch
)
3586 gdb_assert (gdbarch
!= NULL
);
3587 return gdbarch
->core_xfer_shared_libraries
!= NULL
;
3591 gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3593 gdb_assert (gdbarch
!= NULL
);
3594 gdb_assert (gdbarch
->core_xfer_shared_libraries
!= NULL
);
3595 if (gdbarch_debug
>= 2)
3596 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries called\n");
3597 return gdbarch
->core_xfer_shared_libraries (gdbarch
, readbuf
, offset
, len
);
3601 set_gdbarch_core_xfer_shared_libraries (struct gdbarch
*gdbarch
,
3602 gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries
)
3604 gdbarch
->core_xfer_shared_libraries
= core_xfer_shared_libraries
;
3608 gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch
*gdbarch
)
3610 gdb_assert (gdbarch
!= NULL
);
3611 return gdbarch
->core_xfer_shared_libraries_aix
!= NULL
;
3615 gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
, gdb_byte
*readbuf
, ULONGEST offset
, ULONGEST len
)
3617 gdb_assert (gdbarch
!= NULL
);
3618 gdb_assert (gdbarch
->core_xfer_shared_libraries_aix
!= NULL
);
3619 if (gdbarch_debug
>= 2)
3620 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_xfer_shared_libraries_aix called\n");
3621 return gdbarch
->core_xfer_shared_libraries_aix (gdbarch
, readbuf
, offset
, len
);
3625 set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch
*gdbarch
,
3626 gdbarch_core_xfer_shared_libraries_aix_ftype core_xfer_shared_libraries_aix
)
3628 gdbarch
->core_xfer_shared_libraries_aix
= core_xfer_shared_libraries_aix
;
3632 gdbarch_core_pid_to_str_p (struct gdbarch
*gdbarch
)
3634 gdb_assert (gdbarch
!= NULL
);
3635 return gdbarch
->core_pid_to_str
!= NULL
;
3639 gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
, ptid_t ptid
)
3641 gdb_assert (gdbarch
!= NULL
);
3642 gdb_assert (gdbarch
->core_pid_to_str
!= NULL
);
3643 if (gdbarch_debug
>= 2)
3644 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_pid_to_str called\n");
3645 return gdbarch
->core_pid_to_str (gdbarch
, ptid
);
3649 set_gdbarch_core_pid_to_str (struct gdbarch
*gdbarch
,
3650 gdbarch_core_pid_to_str_ftype core_pid_to_str
)
3652 gdbarch
->core_pid_to_str
= core_pid_to_str
;
3656 gdbarch_core_thread_name_p (struct gdbarch
*gdbarch
)
3658 gdb_assert (gdbarch
!= NULL
);
3659 return gdbarch
->core_thread_name
!= NULL
;
3663 gdbarch_core_thread_name (struct gdbarch
*gdbarch
, struct thread_info
*thr
)
3665 gdb_assert (gdbarch
!= NULL
);
3666 gdb_assert (gdbarch
->core_thread_name
!= NULL
);
3667 if (gdbarch_debug
>= 2)
3668 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_thread_name called\n");
3669 return gdbarch
->core_thread_name (gdbarch
, thr
);
3673 set_gdbarch_core_thread_name (struct gdbarch
*gdbarch
,
3674 gdbarch_core_thread_name_ftype core_thread_name
)
3676 gdbarch
->core_thread_name
= core_thread_name
;
3680 gdbarch_gcore_bfd_target_p (struct gdbarch
*gdbarch
)
3682 gdb_assert (gdbarch
!= NULL
);
3683 return gdbarch
->gcore_bfd_target
!= 0;
3687 gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
)
3689 gdb_assert (gdbarch
!= NULL
);
3690 /* Check variable changed from pre-default. */
3691 gdb_assert (gdbarch
->gcore_bfd_target
!= 0);
3692 if (gdbarch_debug
>= 2)
3693 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcore_bfd_target called\n");
3694 return gdbarch
->gcore_bfd_target
;
3698 set_gdbarch_gcore_bfd_target (struct gdbarch
*gdbarch
,
3699 const char * gcore_bfd_target
)
3701 gdbarch
->gcore_bfd_target
= gcore_bfd_target
;
3705 gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
)
3707 gdb_assert (gdbarch
!= NULL
);
3708 /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
3709 if (gdbarch_debug
>= 2)
3710 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vtable_function_descriptors called\n");
3711 return gdbarch
->vtable_function_descriptors
;
3715 set_gdbarch_vtable_function_descriptors (struct gdbarch
*gdbarch
,
3716 int vtable_function_descriptors
)
3718 gdbarch
->vtable_function_descriptors
= vtable_function_descriptors
;
3722 gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
)
3724 gdb_assert (gdbarch
!= NULL
);
3725 /* Skip verify of vbit_in_delta, invalid_p == 0 */
3726 if (gdbarch_debug
>= 2)
3727 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vbit_in_delta called\n");
3728 return gdbarch
->vbit_in_delta
;
3732 set_gdbarch_vbit_in_delta (struct gdbarch
*gdbarch
,
3735 gdbarch
->vbit_in_delta
= vbit_in_delta
;
3739 gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
, struct regcache
*regcache
)
3741 gdb_assert (gdbarch
!= NULL
);
3742 gdb_assert (gdbarch
->skip_permanent_breakpoint
!= NULL
);
3743 if (gdbarch_debug
>= 2)
3744 fprintf_unfiltered (gdb_stdlog
, "gdbarch_skip_permanent_breakpoint called\n");
3745 gdbarch
->skip_permanent_breakpoint (regcache
);
3749 set_gdbarch_skip_permanent_breakpoint (struct gdbarch
*gdbarch
,
3750 gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint
)
3752 gdbarch
->skip_permanent_breakpoint
= skip_permanent_breakpoint
;
3756 gdbarch_max_insn_length_p (struct gdbarch
*gdbarch
)
3758 gdb_assert (gdbarch
!= NULL
);
3759 return gdbarch
->max_insn_length
!= 0;
3763 gdbarch_max_insn_length (struct gdbarch
*gdbarch
)
3765 gdb_assert (gdbarch
!= NULL
);
3766 /* Check variable changed from pre-default. */
3767 gdb_assert (gdbarch
->max_insn_length
!= 0);
3768 if (gdbarch_debug
>= 2)
3769 fprintf_unfiltered (gdb_stdlog
, "gdbarch_max_insn_length called\n");
3770 return gdbarch
->max_insn_length
;
3774 set_gdbarch_max_insn_length (struct gdbarch
*gdbarch
,
3775 ULONGEST max_insn_length
)
3777 gdbarch
->max_insn_length
= max_insn_length
;
3781 gdbarch_displaced_step_copy_insn_p (struct gdbarch
*gdbarch
)
3783 gdb_assert (gdbarch
!= NULL
);
3784 return gdbarch
->displaced_step_copy_insn
!= NULL
;
3787 struct displaced_step_closure
*
3788 gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3790 gdb_assert (gdbarch
!= NULL
);
3791 gdb_assert (gdbarch
->displaced_step_copy_insn
!= NULL
);
3792 if (gdbarch_debug
>= 2)
3793 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_copy_insn called\n");
3794 return gdbarch
->displaced_step_copy_insn (gdbarch
, from
, to
, regs
);
3798 set_gdbarch_displaced_step_copy_insn (struct gdbarch
*gdbarch
,
3799 gdbarch_displaced_step_copy_insn_ftype displaced_step_copy_insn
)
3801 gdbarch
->displaced_step_copy_insn
= displaced_step_copy_insn
;
3805 gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
, struct displaced_step_closure
*closure
)
3807 gdb_assert (gdbarch
!= NULL
);
3808 gdb_assert (gdbarch
->displaced_step_hw_singlestep
!= NULL
);
3809 if (gdbarch_debug
>= 2)
3810 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_hw_singlestep called\n");
3811 return gdbarch
->displaced_step_hw_singlestep (gdbarch
, closure
);
3815 set_gdbarch_displaced_step_hw_singlestep (struct gdbarch
*gdbarch
,
3816 gdbarch_displaced_step_hw_singlestep_ftype displaced_step_hw_singlestep
)
3818 gdbarch
->displaced_step_hw_singlestep
= displaced_step_hw_singlestep
;
3822 gdbarch_displaced_step_fixup_p (struct gdbarch
*gdbarch
)
3824 gdb_assert (gdbarch
!= NULL
);
3825 return gdbarch
->displaced_step_fixup
!= NULL
;
3829 gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
, struct displaced_step_closure
*closure
, CORE_ADDR from
, CORE_ADDR to
, struct regcache
*regs
)
3831 gdb_assert (gdbarch
!= NULL
);
3832 gdb_assert (gdbarch
->displaced_step_fixup
!= NULL
);
3833 /* Do not check predicate: gdbarch->displaced_step_fixup != NULL, allow call. */
3834 if (gdbarch_debug
>= 2)
3835 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_fixup called\n");
3836 gdbarch
->displaced_step_fixup (gdbarch
, closure
, from
, to
, regs
);
3840 set_gdbarch_displaced_step_fixup (struct gdbarch
*gdbarch
,
3841 gdbarch_displaced_step_fixup_ftype displaced_step_fixup
)
3843 gdbarch
->displaced_step_fixup
= displaced_step_fixup
;
3847 gdbarch_displaced_step_free_closure (struct gdbarch
*gdbarch
, struct displaced_step_closure
*closure
)
3849 gdb_assert (gdbarch
!= NULL
);
3850 gdb_assert (gdbarch
->displaced_step_free_closure
!= NULL
);
3851 if (gdbarch_debug
>= 2)
3852 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_free_closure called\n");
3853 gdbarch
->displaced_step_free_closure (gdbarch
, closure
);
3857 set_gdbarch_displaced_step_free_closure (struct gdbarch
*gdbarch
,
3858 gdbarch_displaced_step_free_closure_ftype displaced_step_free_closure
)
3860 gdbarch
->displaced_step_free_closure
= displaced_step_free_closure
;
3864 gdbarch_displaced_step_location (struct gdbarch
*gdbarch
)
3866 gdb_assert (gdbarch
!= NULL
);
3867 gdb_assert (gdbarch
->displaced_step_location
!= NULL
);
3868 if (gdbarch_debug
>= 2)
3869 fprintf_unfiltered (gdb_stdlog
, "gdbarch_displaced_step_location called\n");
3870 return gdbarch
->displaced_step_location (gdbarch
);
3874 set_gdbarch_displaced_step_location (struct gdbarch
*gdbarch
,
3875 gdbarch_displaced_step_location_ftype displaced_step_location
)
3877 gdbarch
->displaced_step_location
= displaced_step_location
;
3881 gdbarch_relocate_instruction_p (struct gdbarch
*gdbarch
)
3883 gdb_assert (gdbarch
!= NULL
);
3884 return gdbarch
->relocate_instruction
!= NULL
;
3888 gdbarch_relocate_instruction (struct gdbarch
*gdbarch
, CORE_ADDR
*to
, CORE_ADDR from
)
3890 gdb_assert (gdbarch
!= NULL
);
3891 gdb_assert (gdbarch
->relocate_instruction
!= NULL
);
3892 /* Do not check predicate: gdbarch->relocate_instruction != NULL, allow call. */
3893 if (gdbarch_debug
>= 2)
3894 fprintf_unfiltered (gdb_stdlog
, "gdbarch_relocate_instruction called\n");
3895 gdbarch
->relocate_instruction (gdbarch
, to
, from
);
3899 set_gdbarch_relocate_instruction (struct gdbarch
*gdbarch
,
3900 gdbarch_relocate_instruction_ftype relocate_instruction
)
3902 gdbarch
->relocate_instruction
= relocate_instruction
;
3906 gdbarch_overlay_update_p (struct gdbarch
*gdbarch
)
3908 gdb_assert (gdbarch
!= NULL
);
3909 return gdbarch
->overlay_update
!= NULL
;
3913 gdbarch_overlay_update (struct gdbarch
*gdbarch
, struct obj_section
*osect
)
3915 gdb_assert (gdbarch
!= NULL
);
3916 gdb_assert (gdbarch
->overlay_update
!= NULL
);
3917 if (gdbarch_debug
>= 2)
3918 fprintf_unfiltered (gdb_stdlog
, "gdbarch_overlay_update called\n");
3919 gdbarch
->overlay_update (osect
);
3923 set_gdbarch_overlay_update (struct gdbarch
*gdbarch
,
3924 gdbarch_overlay_update_ftype overlay_update
)
3926 gdbarch
->overlay_update
= overlay_update
;
3930 gdbarch_core_read_description_p (struct gdbarch
*gdbarch
)
3932 gdb_assert (gdbarch
!= NULL
);
3933 return gdbarch
->core_read_description
!= NULL
;
3936 const struct target_desc
*
3937 gdbarch_core_read_description (struct gdbarch
*gdbarch
, struct target_ops
*target
, bfd
*abfd
)
3939 gdb_assert (gdbarch
!= NULL
);
3940 gdb_assert (gdbarch
->core_read_description
!= NULL
);
3941 if (gdbarch_debug
>= 2)
3942 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_read_description called\n");
3943 return gdbarch
->core_read_description (gdbarch
, target
, abfd
);
3947 set_gdbarch_core_read_description (struct gdbarch
*gdbarch
,
3948 gdbarch_core_read_description_ftype core_read_description
)
3950 gdbarch
->core_read_description
= core_read_description
;
3954 gdbarch_static_transform_name_p (struct gdbarch
*gdbarch
)
3956 gdb_assert (gdbarch
!= NULL
);
3957 return gdbarch
->static_transform_name
!= NULL
;
3961 gdbarch_static_transform_name (struct gdbarch
*gdbarch
, const char *name
)
3963 gdb_assert (gdbarch
!= NULL
);
3964 gdb_assert (gdbarch
->static_transform_name
!= NULL
);
3965 if (gdbarch_debug
>= 2)
3966 fprintf_unfiltered (gdb_stdlog
, "gdbarch_static_transform_name called\n");
3967 return gdbarch
->static_transform_name (name
);
3971 set_gdbarch_static_transform_name (struct gdbarch
*gdbarch
,
3972 gdbarch_static_transform_name_ftype static_transform_name
)
3974 gdbarch
->static_transform_name
= static_transform_name
;
3978 gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
)
3980 gdb_assert (gdbarch
!= NULL
);
3981 /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
3982 if (gdbarch_debug
>= 2)
3983 fprintf_unfiltered (gdb_stdlog
, "gdbarch_sofun_address_maybe_missing called\n");
3984 return gdbarch
->sofun_address_maybe_missing
;
3988 set_gdbarch_sofun_address_maybe_missing (struct gdbarch
*gdbarch
,
3989 int sofun_address_maybe_missing
)
3991 gdbarch
->sofun_address_maybe_missing
= sofun_address_maybe_missing
;
3995 gdbarch_process_record_p (struct gdbarch
*gdbarch
)
3997 gdb_assert (gdbarch
!= NULL
);
3998 return gdbarch
->process_record
!= NULL
;
4002 gdbarch_process_record (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4004 gdb_assert (gdbarch
!= NULL
);
4005 gdb_assert (gdbarch
->process_record
!= NULL
);
4006 if (gdbarch_debug
>= 2)
4007 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record called\n");
4008 return gdbarch
->process_record (gdbarch
, regcache
, addr
);
4012 set_gdbarch_process_record (struct gdbarch
*gdbarch
,
4013 gdbarch_process_record_ftype process_record
)
4015 gdbarch
->process_record
= process_record
;
4019 gdbarch_process_record_signal_p (struct gdbarch
*gdbarch
)
4021 gdb_assert (gdbarch
!= NULL
);
4022 return gdbarch
->process_record_signal
!= NULL
;
4026 gdbarch_process_record_signal (struct gdbarch
*gdbarch
, struct regcache
*regcache
, enum gdb_signal signal
)
4028 gdb_assert (gdbarch
!= NULL
);
4029 gdb_assert (gdbarch
->process_record_signal
!= NULL
);
4030 if (gdbarch_debug
>= 2)
4031 fprintf_unfiltered (gdb_stdlog
, "gdbarch_process_record_signal called\n");
4032 return gdbarch
->process_record_signal (gdbarch
, regcache
, signal
);
4036 set_gdbarch_process_record_signal (struct gdbarch
*gdbarch
,
4037 gdbarch_process_record_signal_ftype process_record_signal
)
4039 gdbarch
->process_record_signal
= process_record_signal
;
4043 gdbarch_gdb_signal_from_target_p (struct gdbarch
*gdbarch
)
4045 gdb_assert (gdbarch
!= NULL
);
4046 return gdbarch
->gdb_signal_from_target
!= NULL
;
4050 gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
, int signo
)
4052 gdb_assert (gdbarch
!= NULL
);
4053 gdb_assert (gdbarch
->gdb_signal_from_target
!= NULL
);
4054 if (gdbarch_debug
>= 2)
4055 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_from_target called\n");
4056 return gdbarch
->gdb_signal_from_target (gdbarch
, signo
);
4060 set_gdbarch_gdb_signal_from_target (struct gdbarch
*gdbarch
,
4061 gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target
)
4063 gdbarch
->gdb_signal_from_target
= gdb_signal_from_target
;
4067 gdbarch_gdb_signal_to_target_p (struct gdbarch
*gdbarch
)
4069 gdb_assert (gdbarch
!= NULL
);
4070 return gdbarch
->gdb_signal_to_target
!= NULL
;
4074 gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
, enum gdb_signal signal
)
4076 gdb_assert (gdbarch
!= NULL
);
4077 gdb_assert (gdbarch
->gdb_signal_to_target
!= NULL
);
4078 if (gdbarch_debug
>= 2)
4079 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gdb_signal_to_target called\n");
4080 return gdbarch
->gdb_signal_to_target (gdbarch
, signal
);
4084 set_gdbarch_gdb_signal_to_target (struct gdbarch
*gdbarch
,
4085 gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target
)
4087 gdbarch
->gdb_signal_to_target
= gdb_signal_to_target
;
4091 gdbarch_get_siginfo_type_p (struct gdbarch
*gdbarch
)
4093 gdb_assert (gdbarch
!= NULL
);
4094 return gdbarch
->get_siginfo_type
!= NULL
;
4098 gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
)
4100 gdb_assert (gdbarch
!= NULL
);
4101 gdb_assert (gdbarch
->get_siginfo_type
!= NULL
);
4102 if (gdbarch_debug
>= 2)
4103 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_siginfo_type called\n");
4104 return gdbarch
->get_siginfo_type (gdbarch
);
4108 set_gdbarch_get_siginfo_type (struct gdbarch
*gdbarch
,
4109 gdbarch_get_siginfo_type_ftype get_siginfo_type
)
4111 gdbarch
->get_siginfo_type
= get_siginfo_type
;
4115 gdbarch_record_special_symbol_p (struct gdbarch
*gdbarch
)
4117 gdb_assert (gdbarch
!= NULL
);
4118 return gdbarch
->record_special_symbol
!= NULL
;
4122 gdbarch_record_special_symbol (struct gdbarch
*gdbarch
, struct objfile
*objfile
, asymbol
*sym
)
4124 gdb_assert (gdbarch
!= NULL
);
4125 gdb_assert (gdbarch
->record_special_symbol
!= NULL
);
4126 if (gdbarch_debug
>= 2)
4127 fprintf_unfiltered (gdb_stdlog
, "gdbarch_record_special_symbol called\n");
4128 gdbarch
->record_special_symbol (gdbarch
, objfile
, sym
);
4132 set_gdbarch_record_special_symbol (struct gdbarch
*gdbarch
,
4133 gdbarch_record_special_symbol_ftype record_special_symbol
)
4135 gdbarch
->record_special_symbol
= record_special_symbol
;
4139 gdbarch_get_syscall_number_p (struct gdbarch
*gdbarch
)
4141 gdb_assert (gdbarch
!= NULL
);
4142 return gdbarch
->get_syscall_number
!= NULL
;
4146 gdbarch_get_syscall_number (struct gdbarch
*gdbarch
, ptid_t ptid
)
4148 gdb_assert (gdbarch
!= NULL
);
4149 gdb_assert (gdbarch
->get_syscall_number
!= NULL
);
4150 if (gdbarch_debug
>= 2)
4151 fprintf_unfiltered (gdb_stdlog
, "gdbarch_get_syscall_number called\n");
4152 return gdbarch
->get_syscall_number (gdbarch
, ptid
);
4156 set_gdbarch_get_syscall_number (struct gdbarch
*gdbarch
,
4157 gdbarch_get_syscall_number_ftype get_syscall_number
)
4159 gdbarch
->get_syscall_number
= get_syscall_number
;
4163 gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
)
4165 gdb_assert (gdbarch
!= NULL
);
4166 /* Skip verify of xml_syscall_file, invalid_p == 0 */
4167 if (gdbarch_debug
>= 2)
4168 fprintf_unfiltered (gdb_stdlog
, "gdbarch_xml_syscall_file called\n");
4169 return gdbarch
->xml_syscall_file
;
4173 set_gdbarch_xml_syscall_file (struct gdbarch
*gdbarch
,
4174 const char * xml_syscall_file
)
4176 gdbarch
->xml_syscall_file
= xml_syscall_file
;
4179 struct syscalls_info
*
4180 gdbarch_syscalls_info (struct gdbarch
*gdbarch
)
4182 gdb_assert (gdbarch
!= NULL
);
4183 /* Skip verify of syscalls_info, invalid_p == 0 */
4184 if (gdbarch_debug
>= 2)
4185 fprintf_unfiltered (gdb_stdlog
, "gdbarch_syscalls_info called\n");
4186 return gdbarch
->syscalls_info
;
4190 set_gdbarch_syscalls_info (struct gdbarch
*gdbarch
,
4191 struct syscalls_info
* syscalls_info
)
4193 gdbarch
->syscalls_info
= syscalls_info
;
4197 gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
)
4199 gdb_assert (gdbarch
!= NULL
);
4200 /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
4201 if (gdbarch_debug
>= 2)
4202 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_prefixes called\n");
4203 return gdbarch
->stap_integer_prefixes
;
4207 set_gdbarch_stap_integer_prefixes (struct gdbarch
*gdbarch
,
4208 const char *const * stap_integer_prefixes
)
4210 gdbarch
->stap_integer_prefixes
= stap_integer_prefixes
;
4214 gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
)
4216 gdb_assert (gdbarch
!= NULL
);
4217 /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
4218 if (gdbarch_debug
>= 2)
4219 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_integer_suffixes called\n");
4220 return gdbarch
->stap_integer_suffixes
;
4224 set_gdbarch_stap_integer_suffixes (struct gdbarch
*gdbarch
,
4225 const char *const * stap_integer_suffixes
)
4227 gdbarch
->stap_integer_suffixes
= stap_integer_suffixes
;
4231 gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
)
4233 gdb_assert (gdbarch
!= NULL
);
4234 /* Skip verify of stap_register_prefixes, invalid_p == 0 */
4235 if (gdbarch_debug
>= 2)
4236 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_prefixes called\n");
4237 return gdbarch
->stap_register_prefixes
;
4241 set_gdbarch_stap_register_prefixes (struct gdbarch
*gdbarch
,
4242 const char *const * stap_register_prefixes
)
4244 gdbarch
->stap_register_prefixes
= stap_register_prefixes
;
4248 gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
)
4250 gdb_assert (gdbarch
!= NULL
);
4251 /* Skip verify of stap_register_suffixes, invalid_p == 0 */
4252 if (gdbarch_debug
>= 2)
4253 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_suffixes called\n");
4254 return gdbarch
->stap_register_suffixes
;
4258 set_gdbarch_stap_register_suffixes (struct gdbarch
*gdbarch
,
4259 const char *const * stap_register_suffixes
)
4261 gdbarch
->stap_register_suffixes
= stap_register_suffixes
;
4265 gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
)
4267 gdb_assert (gdbarch
!= NULL
);
4268 /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
4269 if (gdbarch_debug
>= 2)
4270 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_prefixes called\n");
4271 return gdbarch
->stap_register_indirection_prefixes
;
4275 set_gdbarch_stap_register_indirection_prefixes (struct gdbarch
*gdbarch
,
4276 const char *const * stap_register_indirection_prefixes
)
4278 gdbarch
->stap_register_indirection_prefixes
= stap_register_indirection_prefixes
;
4282 gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
)
4284 gdb_assert (gdbarch
!= NULL
);
4285 /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
4286 if (gdbarch_debug
>= 2)
4287 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_register_indirection_suffixes called\n");
4288 return gdbarch
->stap_register_indirection_suffixes
;
4292 set_gdbarch_stap_register_indirection_suffixes (struct gdbarch
*gdbarch
,
4293 const char *const * stap_register_indirection_suffixes
)
4295 gdbarch
->stap_register_indirection_suffixes
= stap_register_indirection_suffixes
;
4299 gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
)
4301 gdb_assert (gdbarch
!= NULL
);
4302 /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
4303 if (gdbarch_debug
>= 2)
4304 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_prefix called\n");
4305 return gdbarch
->stap_gdb_register_prefix
;
4309 set_gdbarch_stap_gdb_register_prefix (struct gdbarch
*gdbarch
,
4310 const char * stap_gdb_register_prefix
)
4312 gdbarch
->stap_gdb_register_prefix
= stap_gdb_register_prefix
;
4316 gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
)
4318 gdb_assert (gdbarch
!= NULL
);
4319 /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
4320 if (gdbarch_debug
>= 2)
4321 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_gdb_register_suffix called\n");
4322 return gdbarch
->stap_gdb_register_suffix
;
4326 set_gdbarch_stap_gdb_register_suffix (struct gdbarch
*gdbarch
,
4327 const char * stap_gdb_register_suffix
)
4329 gdbarch
->stap_gdb_register_suffix
= stap_gdb_register_suffix
;
4333 gdbarch_stap_is_single_operand_p (struct gdbarch
*gdbarch
)
4335 gdb_assert (gdbarch
!= NULL
);
4336 return gdbarch
->stap_is_single_operand
!= NULL
;
4340 gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
, const char *s
)
4342 gdb_assert (gdbarch
!= NULL
);
4343 gdb_assert (gdbarch
->stap_is_single_operand
!= NULL
);
4344 if (gdbarch_debug
>= 2)
4345 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_is_single_operand called\n");
4346 return gdbarch
->stap_is_single_operand (gdbarch
, s
);
4350 set_gdbarch_stap_is_single_operand (struct gdbarch
*gdbarch
,
4351 gdbarch_stap_is_single_operand_ftype stap_is_single_operand
)
4353 gdbarch
->stap_is_single_operand
= stap_is_single_operand
;
4357 gdbarch_stap_parse_special_token_p (struct gdbarch
*gdbarch
)
4359 gdb_assert (gdbarch
!= NULL
);
4360 return gdbarch
->stap_parse_special_token
!= NULL
;
4364 gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
, struct stap_parse_info
*p
)
4366 gdb_assert (gdbarch
!= NULL
);
4367 gdb_assert (gdbarch
->stap_parse_special_token
!= NULL
);
4368 if (gdbarch_debug
>= 2)
4369 fprintf_unfiltered (gdb_stdlog
, "gdbarch_stap_parse_special_token called\n");
4370 return gdbarch
->stap_parse_special_token (gdbarch
, p
);
4374 set_gdbarch_stap_parse_special_token (struct gdbarch
*gdbarch
,
4375 gdbarch_stap_parse_special_token_ftype stap_parse_special_token
)
4377 gdbarch
->stap_parse_special_token
= stap_parse_special_token
;
4381 gdbarch_dtrace_parse_probe_argument_p (struct gdbarch
*gdbarch
)
4383 gdb_assert (gdbarch
!= NULL
);
4384 return gdbarch
->dtrace_parse_probe_argument
!= NULL
;
4388 gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
, struct parser_state
*pstate
, int narg
)
4390 gdb_assert (gdbarch
!= NULL
);
4391 gdb_assert (gdbarch
->dtrace_parse_probe_argument
!= NULL
);
4392 if (gdbarch_debug
>= 2)
4393 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_parse_probe_argument called\n");
4394 gdbarch
->dtrace_parse_probe_argument (gdbarch
, pstate
, narg
);
4398 set_gdbarch_dtrace_parse_probe_argument (struct gdbarch
*gdbarch
,
4399 gdbarch_dtrace_parse_probe_argument_ftype dtrace_parse_probe_argument
)
4401 gdbarch
->dtrace_parse_probe_argument
= dtrace_parse_probe_argument
;
4405 gdbarch_dtrace_probe_is_enabled_p (struct gdbarch
*gdbarch
)
4407 gdb_assert (gdbarch
!= NULL
);
4408 return gdbarch
->dtrace_probe_is_enabled
!= NULL
;
4412 gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4414 gdb_assert (gdbarch
!= NULL
);
4415 gdb_assert (gdbarch
->dtrace_probe_is_enabled
!= NULL
);
4416 if (gdbarch_debug
>= 2)
4417 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_probe_is_enabled called\n");
4418 return gdbarch
->dtrace_probe_is_enabled (gdbarch
, addr
);
4422 set_gdbarch_dtrace_probe_is_enabled (struct gdbarch
*gdbarch
,
4423 gdbarch_dtrace_probe_is_enabled_ftype dtrace_probe_is_enabled
)
4425 gdbarch
->dtrace_probe_is_enabled
= dtrace_probe_is_enabled
;
4429 gdbarch_dtrace_enable_probe_p (struct gdbarch
*gdbarch
)
4431 gdb_assert (gdbarch
!= NULL
);
4432 return gdbarch
->dtrace_enable_probe
!= NULL
;
4436 gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4438 gdb_assert (gdbarch
!= NULL
);
4439 gdb_assert (gdbarch
->dtrace_enable_probe
!= NULL
);
4440 if (gdbarch_debug
>= 2)
4441 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_enable_probe called\n");
4442 gdbarch
->dtrace_enable_probe (gdbarch
, addr
);
4446 set_gdbarch_dtrace_enable_probe (struct gdbarch
*gdbarch
,
4447 gdbarch_dtrace_enable_probe_ftype dtrace_enable_probe
)
4449 gdbarch
->dtrace_enable_probe
= dtrace_enable_probe
;
4453 gdbarch_dtrace_disable_probe_p (struct gdbarch
*gdbarch
)
4455 gdb_assert (gdbarch
!= NULL
);
4456 return gdbarch
->dtrace_disable_probe
!= NULL
;
4460 gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4462 gdb_assert (gdbarch
!= NULL
);
4463 gdb_assert (gdbarch
->dtrace_disable_probe
!= NULL
);
4464 if (gdbarch_debug
>= 2)
4465 fprintf_unfiltered (gdb_stdlog
, "gdbarch_dtrace_disable_probe called\n");
4466 gdbarch
->dtrace_disable_probe (gdbarch
, addr
);
4470 set_gdbarch_dtrace_disable_probe (struct gdbarch
*gdbarch
,
4471 gdbarch_dtrace_disable_probe_ftype dtrace_disable_probe
)
4473 gdbarch
->dtrace_disable_probe
= dtrace_disable_probe
;
4477 gdbarch_has_global_solist (struct gdbarch
*gdbarch
)
4479 gdb_assert (gdbarch
!= NULL
);
4480 /* Skip verify of has_global_solist, invalid_p == 0 */
4481 if (gdbarch_debug
>= 2)
4482 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_solist called\n");
4483 return gdbarch
->has_global_solist
;
4487 set_gdbarch_has_global_solist (struct gdbarch
*gdbarch
,
4488 int has_global_solist
)
4490 gdbarch
->has_global_solist
= has_global_solist
;
4494 gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
)
4496 gdb_assert (gdbarch
!= NULL
);
4497 /* Skip verify of has_global_breakpoints, invalid_p == 0 */
4498 if (gdbarch_debug
>= 2)
4499 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_global_breakpoints called\n");
4500 return gdbarch
->has_global_breakpoints
;
4504 set_gdbarch_has_global_breakpoints (struct gdbarch
*gdbarch
,
4505 int has_global_breakpoints
)
4507 gdbarch
->has_global_breakpoints
= has_global_breakpoints
;
4511 gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
)
4513 gdb_assert (gdbarch
!= NULL
);
4514 gdb_assert (gdbarch
->has_shared_address_space
!= NULL
);
4515 if (gdbarch_debug
>= 2)
4516 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_shared_address_space called\n");
4517 return gdbarch
->has_shared_address_space (gdbarch
);
4521 set_gdbarch_has_shared_address_space (struct gdbarch
*gdbarch
,
4522 gdbarch_has_shared_address_space_ftype has_shared_address_space
)
4524 gdbarch
->has_shared_address_space
= has_shared_address_space
;
4528 gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
, CORE_ADDR addr
, char **msg
)
4530 gdb_assert (gdbarch
!= NULL
);
4531 gdb_assert (gdbarch
->fast_tracepoint_valid_at
!= NULL
);
4532 if (gdbarch_debug
>= 2)
4533 fprintf_unfiltered (gdb_stdlog
, "gdbarch_fast_tracepoint_valid_at called\n");
4534 return gdbarch
->fast_tracepoint_valid_at (gdbarch
, addr
, msg
);
4538 set_gdbarch_fast_tracepoint_valid_at (struct gdbarch
*gdbarch
,
4539 gdbarch_fast_tracepoint_valid_at_ftype fast_tracepoint_valid_at
)
4541 gdbarch
->fast_tracepoint_valid_at
= fast_tracepoint_valid_at
;
4545 gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
, struct regcache
*regcache
, CORE_ADDR addr
)
4547 gdb_assert (gdbarch
!= NULL
);
4548 gdb_assert (gdbarch
->guess_tracepoint_registers
!= NULL
);
4549 if (gdbarch_debug
>= 2)
4550 fprintf_unfiltered (gdb_stdlog
, "gdbarch_guess_tracepoint_registers called\n");
4551 gdbarch
->guess_tracepoint_registers (gdbarch
, regcache
, addr
);
4555 set_gdbarch_guess_tracepoint_registers (struct gdbarch
*gdbarch
,
4556 gdbarch_guess_tracepoint_registers_ftype guess_tracepoint_registers
)
4558 gdbarch
->guess_tracepoint_registers
= guess_tracepoint_registers
;
4562 gdbarch_auto_charset (struct gdbarch
*gdbarch
)
4564 gdb_assert (gdbarch
!= NULL
);
4565 gdb_assert (gdbarch
->auto_charset
!= NULL
);
4566 if (gdbarch_debug
>= 2)
4567 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_charset called\n");
4568 return gdbarch
->auto_charset ();
4572 set_gdbarch_auto_charset (struct gdbarch
*gdbarch
,
4573 gdbarch_auto_charset_ftype auto_charset
)
4575 gdbarch
->auto_charset
= auto_charset
;
4579 gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
)
4581 gdb_assert (gdbarch
!= NULL
);
4582 gdb_assert (gdbarch
->auto_wide_charset
!= NULL
);
4583 if (gdbarch_debug
>= 2)
4584 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auto_wide_charset called\n");
4585 return gdbarch
->auto_wide_charset ();
4589 set_gdbarch_auto_wide_charset (struct gdbarch
*gdbarch
,
4590 gdbarch_auto_wide_charset_ftype auto_wide_charset
)
4592 gdbarch
->auto_wide_charset
= auto_wide_charset
;
4596 gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
)
4598 gdb_assert (gdbarch
!= NULL
);
4599 if (gdbarch_debug
>= 2)
4600 fprintf_unfiltered (gdb_stdlog
, "gdbarch_solib_symbols_extension called\n");
4601 return gdbarch
->solib_symbols_extension
;
4605 set_gdbarch_solib_symbols_extension (struct gdbarch
*gdbarch
,
4606 const char * solib_symbols_extension
)
4608 gdbarch
->solib_symbols_extension
= solib_symbols_extension
;
4612 gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
)
4614 gdb_assert (gdbarch
!= NULL
);
4615 /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
4616 if (gdbarch_debug
>= 2)
4617 fprintf_unfiltered (gdb_stdlog
, "gdbarch_has_dos_based_file_system called\n");
4618 return gdbarch
->has_dos_based_file_system
;
4622 set_gdbarch_has_dos_based_file_system (struct gdbarch
*gdbarch
,
4623 int has_dos_based_file_system
)
4625 gdbarch
->has_dos_based_file_system
= has_dos_based_file_system
;
4629 gdbarch_gen_return_address (struct gdbarch
*gdbarch
, struct agent_expr
*ax
, struct axs_value
*value
, CORE_ADDR scope
)
4631 gdb_assert (gdbarch
!= NULL
);
4632 gdb_assert (gdbarch
->gen_return_address
!= NULL
);
4633 if (gdbarch_debug
>= 2)
4634 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gen_return_address called\n");
4635 gdbarch
->gen_return_address (gdbarch
, ax
, value
, scope
);
4639 set_gdbarch_gen_return_address (struct gdbarch
*gdbarch
,
4640 gdbarch_gen_return_address_ftype gen_return_address
)
4642 gdbarch
->gen_return_address
= gen_return_address
;
4646 gdbarch_info_proc_p (struct gdbarch
*gdbarch
)
4648 gdb_assert (gdbarch
!= NULL
);
4649 return gdbarch
->info_proc
!= NULL
;
4653 gdbarch_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4655 gdb_assert (gdbarch
!= NULL
);
4656 gdb_assert (gdbarch
->info_proc
!= NULL
);
4657 if (gdbarch_debug
>= 2)
4658 fprintf_unfiltered (gdb_stdlog
, "gdbarch_info_proc called\n");
4659 gdbarch
->info_proc (gdbarch
, args
, what
);
4663 set_gdbarch_info_proc (struct gdbarch
*gdbarch
,
4664 gdbarch_info_proc_ftype info_proc
)
4666 gdbarch
->info_proc
= info_proc
;
4670 gdbarch_core_info_proc_p (struct gdbarch
*gdbarch
)
4672 gdb_assert (gdbarch
!= NULL
);
4673 return gdbarch
->core_info_proc
!= NULL
;
4677 gdbarch_core_info_proc (struct gdbarch
*gdbarch
, const char *args
, enum info_proc_what what
)
4679 gdb_assert (gdbarch
!= NULL
);
4680 gdb_assert (gdbarch
->core_info_proc
!= NULL
);
4681 if (gdbarch_debug
>= 2)
4682 fprintf_unfiltered (gdb_stdlog
, "gdbarch_core_info_proc called\n");
4683 gdbarch
->core_info_proc (gdbarch
, args
, what
);
4687 set_gdbarch_core_info_proc (struct gdbarch
*gdbarch
,
4688 gdbarch_core_info_proc_ftype core_info_proc
)
4690 gdbarch
->core_info_proc
= core_info_proc
;
4694 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
)
4696 gdb_assert (gdbarch
!= NULL
);
4697 gdb_assert (gdbarch
->iterate_over_objfiles_in_search_order
!= NULL
);
4698 if (gdbarch_debug
>= 2)
4699 fprintf_unfiltered (gdb_stdlog
, "gdbarch_iterate_over_objfiles_in_search_order called\n");
4700 gdbarch
->iterate_over_objfiles_in_search_order (gdbarch
, cb
, cb_data
, current_objfile
);
4704 set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch
*gdbarch
,
4705 gdbarch_iterate_over_objfiles_in_search_order_ftype iterate_over_objfiles_in_search_order
)
4707 gdbarch
->iterate_over_objfiles_in_search_order
= iterate_over_objfiles_in_search_order
;
4710 struct ravenscar_arch_ops
*
4711 gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
)
4713 gdb_assert (gdbarch
!= NULL
);
4714 /* Skip verify of ravenscar_ops, invalid_p == 0 */
4715 if (gdbarch_debug
>= 2)
4716 fprintf_unfiltered (gdb_stdlog
, "gdbarch_ravenscar_ops called\n");
4717 return gdbarch
->ravenscar_ops
;
4721 set_gdbarch_ravenscar_ops (struct gdbarch
*gdbarch
,
4722 struct ravenscar_arch_ops
* ravenscar_ops
)
4724 gdbarch
->ravenscar_ops
= ravenscar_ops
;
4728 gdbarch_insn_is_call (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4730 gdb_assert (gdbarch
!= NULL
);
4731 gdb_assert (gdbarch
->insn_is_call
!= NULL
);
4732 if (gdbarch_debug
>= 2)
4733 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_call called\n");
4734 return gdbarch
->insn_is_call (gdbarch
, addr
);
4738 set_gdbarch_insn_is_call (struct gdbarch
*gdbarch
,
4739 gdbarch_insn_is_call_ftype insn_is_call
)
4741 gdbarch
->insn_is_call
= insn_is_call
;
4745 gdbarch_insn_is_ret (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4747 gdb_assert (gdbarch
!= NULL
);
4748 gdb_assert (gdbarch
->insn_is_ret
!= NULL
);
4749 if (gdbarch_debug
>= 2)
4750 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_ret called\n");
4751 return gdbarch
->insn_is_ret (gdbarch
, addr
);
4755 set_gdbarch_insn_is_ret (struct gdbarch
*gdbarch
,
4756 gdbarch_insn_is_ret_ftype insn_is_ret
)
4758 gdbarch
->insn_is_ret
= insn_is_ret
;
4762 gdbarch_insn_is_jump (struct gdbarch
*gdbarch
, CORE_ADDR addr
)
4764 gdb_assert (gdbarch
!= NULL
);
4765 gdb_assert (gdbarch
->insn_is_jump
!= NULL
);
4766 if (gdbarch_debug
>= 2)
4767 fprintf_unfiltered (gdb_stdlog
, "gdbarch_insn_is_jump called\n");
4768 return gdbarch
->insn_is_jump (gdbarch
, addr
);
4772 set_gdbarch_insn_is_jump (struct gdbarch
*gdbarch
,
4773 gdbarch_insn_is_jump_ftype insn_is_jump
)
4775 gdbarch
->insn_is_jump
= insn_is_jump
;
4779 gdbarch_auxv_parse_p (struct gdbarch
*gdbarch
)
4781 gdb_assert (gdbarch
!= NULL
);
4782 return gdbarch
->auxv_parse
!= NULL
;
4786 gdbarch_auxv_parse (struct gdbarch
*gdbarch
, gdb_byte
**readptr
, gdb_byte
*endptr
, CORE_ADDR
*typep
, CORE_ADDR
*valp
)
4788 gdb_assert (gdbarch
!= NULL
);
4789 gdb_assert (gdbarch
->auxv_parse
!= NULL
);
4790 if (gdbarch_debug
>= 2)
4791 fprintf_unfiltered (gdb_stdlog
, "gdbarch_auxv_parse called\n");
4792 return gdbarch
->auxv_parse (gdbarch
, readptr
, endptr
, typep
, valp
);
4796 set_gdbarch_auxv_parse (struct gdbarch
*gdbarch
,
4797 gdbarch_auxv_parse_ftype auxv_parse
)
4799 gdbarch
->auxv_parse
= auxv_parse
;
4803 gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
, struct ui_file
*file
, CORE_ADDR type
, CORE_ADDR val
)
4805 gdb_assert (gdbarch
!= NULL
);
4806 gdb_assert (gdbarch
->print_auxv_entry
!= NULL
);
4807 if (gdbarch_debug
>= 2)
4808 fprintf_unfiltered (gdb_stdlog
, "gdbarch_print_auxv_entry called\n");
4809 gdbarch
->print_auxv_entry (gdbarch
, file
, type
, val
);
4813 set_gdbarch_print_auxv_entry (struct gdbarch
*gdbarch
,
4814 gdbarch_print_auxv_entry_ftype print_auxv_entry
)
4816 gdbarch
->print_auxv_entry
= print_auxv_entry
;
4820 gdbarch_vsyscall_range (struct gdbarch
*gdbarch
, struct mem_range
*range
)
4822 gdb_assert (gdbarch
!= NULL
);
4823 gdb_assert (gdbarch
->vsyscall_range
!= NULL
);
4824 if (gdbarch_debug
>= 2)
4825 fprintf_unfiltered (gdb_stdlog
, "gdbarch_vsyscall_range called\n");
4826 return gdbarch
->vsyscall_range (gdbarch
, range
);
4830 set_gdbarch_vsyscall_range (struct gdbarch
*gdbarch
,
4831 gdbarch_vsyscall_range_ftype vsyscall_range
)
4833 gdbarch
->vsyscall_range
= vsyscall_range
;
4837 gdbarch_infcall_mmap (struct gdbarch
*gdbarch
, CORE_ADDR size
, unsigned prot
)
4839 gdb_assert (gdbarch
!= NULL
);
4840 gdb_assert (gdbarch
->infcall_mmap
!= NULL
);
4841 if (gdbarch_debug
>= 2)
4842 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_mmap called\n");
4843 return gdbarch
->infcall_mmap (size
, prot
);
4847 set_gdbarch_infcall_mmap (struct gdbarch
*gdbarch
,
4848 gdbarch_infcall_mmap_ftype infcall_mmap
)
4850 gdbarch
->infcall_mmap
= infcall_mmap
;
4854 gdbarch_infcall_munmap (struct gdbarch
*gdbarch
, CORE_ADDR addr
, CORE_ADDR size
)
4856 gdb_assert (gdbarch
!= NULL
);
4857 gdb_assert (gdbarch
->infcall_munmap
!= NULL
);
4858 if (gdbarch_debug
>= 2)
4859 fprintf_unfiltered (gdb_stdlog
, "gdbarch_infcall_munmap called\n");
4860 gdbarch
->infcall_munmap (addr
, size
);
4864 set_gdbarch_infcall_munmap (struct gdbarch
*gdbarch
,
4865 gdbarch_infcall_munmap_ftype infcall_munmap
)
4867 gdbarch
->infcall_munmap
= infcall_munmap
;
4871 gdbarch_gcc_target_options (struct gdbarch
*gdbarch
)
4873 gdb_assert (gdbarch
!= NULL
);
4874 gdb_assert (gdbarch
->gcc_target_options
!= NULL
);
4875 if (gdbarch_debug
>= 2)
4876 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gcc_target_options called\n");
4877 return gdbarch
->gcc_target_options (gdbarch
);
4881 set_gdbarch_gcc_target_options (struct gdbarch
*gdbarch
,
4882 gdbarch_gcc_target_options_ftype gcc_target_options
)
4884 gdbarch
->gcc_target_options
= gcc_target_options
;
4888 gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
)
4890 gdb_assert (gdbarch
!= NULL
);
4891 gdb_assert (gdbarch
->gnu_triplet_regexp
!= NULL
);
4892 if (gdbarch_debug
>= 2)
4893 fprintf_unfiltered (gdb_stdlog
, "gdbarch_gnu_triplet_regexp called\n");
4894 return gdbarch
->gnu_triplet_regexp (gdbarch
);
4898 set_gdbarch_gnu_triplet_regexp (struct gdbarch
*gdbarch
,
4899 gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp
)
4901 gdbarch
->gnu_triplet_regexp
= gnu_triplet_regexp
;
4905 gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
)
4907 gdb_assert (gdbarch
!= NULL
);
4908 gdb_assert (gdbarch
->addressable_memory_unit_size
!= NULL
);
4909 if (gdbarch_debug
>= 2)
4910 fprintf_unfiltered (gdb_stdlog
, "gdbarch_addressable_memory_unit_size called\n");
4911 return gdbarch
->addressable_memory_unit_size (gdbarch
);
4915 set_gdbarch_addressable_memory_unit_size (struct gdbarch
*gdbarch
,
4916 gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size
)
4918 gdbarch
->addressable_memory_unit_size
= addressable_memory_unit_size
;
4922 /* Keep a registry of per-architecture data-pointers required by GDB
4929 gdbarch_data_pre_init_ftype
*pre_init
;
4930 gdbarch_data_post_init_ftype
*post_init
;
4933 struct gdbarch_data_registration
4935 struct gdbarch_data
*data
;
4936 struct gdbarch_data_registration
*next
;
4939 struct gdbarch_data_registry
4942 struct gdbarch_data_registration
*registrations
;
4945 struct gdbarch_data_registry gdbarch_data_registry
=
4950 static struct gdbarch_data
*
4951 gdbarch_data_register (gdbarch_data_pre_init_ftype
*pre_init
,
4952 gdbarch_data_post_init_ftype
*post_init
)
4954 struct gdbarch_data_registration
**curr
;
4956 /* Append the new registration. */
4957 for (curr
= &gdbarch_data_registry
.registrations
;
4959 curr
= &(*curr
)->next
);
4960 (*curr
) = XNEW (struct gdbarch_data_registration
);
4961 (*curr
)->next
= NULL
;
4962 (*curr
)->data
= XNEW (struct gdbarch_data
);
4963 (*curr
)->data
->index
= gdbarch_data_registry
.nr
++;
4964 (*curr
)->data
->pre_init
= pre_init
;
4965 (*curr
)->data
->post_init
= post_init
;
4966 (*curr
)->data
->init_p
= 1;
4967 return (*curr
)->data
;
4970 struct gdbarch_data
*
4971 gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype
*pre_init
)
4973 return gdbarch_data_register (pre_init
, NULL
);
4976 struct gdbarch_data
*
4977 gdbarch_data_register_post_init (gdbarch_data_post_init_ftype
*post_init
)
4979 return gdbarch_data_register (NULL
, post_init
);
4982 /* Create/delete the gdbarch data vector. */
4985 alloc_gdbarch_data (struct gdbarch
*gdbarch
)
4987 gdb_assert (gdbarch
->data
== NULL
);
4988 gdbarch
->nr_data
= gdbarch_data_registry
.nr
;
4989 gdbarch
->data
= GDBARCH_OBSTACK_CALLOC (gdbarch
, gdbarch
->nr_data
, void *);
4992 /* Initialize the current value of the specified per-architecture
4996 deprecated_set_gdbarch_data (struct gdbarch
*gdbarch
,
4997 struct gdbarch_data
*data
,
5000 gdb_assert (data
->index
< gdbarch
->nr_data
);
5001 gdb_assert (gdbarch
->data
[data
->index
] == NULL
);
5002 gdb_assert (data
->pre_init
== NULL
);
5003 gdbarch
->data
[data
->index
] = pointer
;
5006 /* Return the current value of the specified per-architecture
5010 gdbarch_data (struct gdbarch
*gdbarch
, struct gdbarch_data
*data
)
5012 gdb_assert (data
->index
< gdbarch
->nr_data
);
5013 if (gdbarch
->data
[data
->index
] == NULL
)
5015 /* The data-pointer isn't initialized, call init() to get a
5017 if (data
->pre_init
!= NULL
)
5018 /* Mid architecture creation: pass just the obstack, and not
5019 the entire architecture, as that way it isn't possible for
5020 pre-init code to refer to undefined architecture
5022 gdbarch
->data
[data
->index
] = data
->pre_init (gdbarch
->obstack
);
5023 else if (gdbarch
->initialized_p
5024 && data
->post_init
!= NULL
)
5025 /* Post architecture creation: pass the entire architecture
5026 (as all fields are valid), but be careful to also detect
5027 recursive references. */
5029 gdb_assert (data
->init_p
);
5031 gdbarch
->data
[data
->index
] = data
->post_init (gdbarch
);
5035 /* The architecture initialization hasn't completed - punt -
5036 hope that the caller knows what they are doing. Once
5037 deprecated_set_gdbarch_data has been initialized, this can be
5038 changed to an internal error. */
5040 gdb_assert (gdbarch
->data
[data
->index
] != NULL
);
5042 return gdbarch
->data
[data
->index
];
5046 /* Keep a registry of the architectures known by GDB. */
5048 struct gdbarch_registration
5050 enum bfd_architecture bfd_architecture
;
5051 gdbarch_init_ftype
*init
;
5052 gdbarch_dump_tdep_ftype
*dump_tdep
;
5053 struct gdbarch_list
*arches
;
5054 struct gdbarch_registration
*next
;
5057 static struct gdbarch_registration
*gdbarch_registry
= NULL
;
5060 append_name (const char ***buf
, int *nr
, const char *name
)
5062 *buf
= XRESIZEVEC (const char *, *buf
, *nr
+ 1);
5068 gdbarch_printable_names (void)
5070 /* Accumulate a list of names based on the registed list of
5073 const char **arches
= NULL
;
5074 struct gdbarch_registration
*rego
;
5076 for (rego
= gdbarch_registry
;
5080 const struct bfd_arch_info
*ap
;
5081 ap
= bfd_lookup_arch (rego
->bfd_architecture
, 0);
5083 internal_error (__FILE__
, __LINE__
,
5084 _("gdbarch_architecture_names: multi-arch unknown"));
5087 append_name (&arches
, &nr_arches
, ap
->printable_name
);
5092 append_name (&arches
, &nr_arches
, NULL
);
5098 gdbarch_register (enum bfd_architecture bfd_architecture
,
5099 gdbarch_init_ftype
*init
,
5100 gdbarch_dump_tdep_ftype
*dump_tdep
)
5102 struct gdbarch_registration
**curr
;
5103 const struct bfd_arch_info
*bfd_arch_info
;
5105 /* Check that BFD recognizes this architecture */
5106 bfd_arch_info
= bfd_lookup_arch (bfd_architecture
, 0);
5107 if (bfd_arch_info
== NULL
)
5109 internal_error (__FILE__
, __LINE__
,
5110 _("gdbarch: Attempt to register "
5111 "unknown architecture (%d)"),
5114 /* Check that we haven't seen this architecture before. */
5115 for (curr
= &gdbarch_registry
;
5117 curr
= &(*curr
)->next
)
5119 if (bfd_architecture
== (*curr
)->bfd_architecture
)
5120 internal_error (__FILE__
, __LINE__
,
5121 _("gdbarch: Duplicate registration "
5122 "of architecture (%s)"),
5123 bfd_arch_info
->printable_name
);
5127 fprintf_unfiltered (gdb_stdlog
, "register_gdbarch_init (%s, %s)\n",
5128 bfd_arch_info
->printable_name
,
5129 host_address_to_string (init
));
5131 (*curr
) = XNEW (struct gdbarch_registration
);
5132 (*curr
)->bfd_architecture
= bfd_architecture
;
5133 (*curr
)->init
= init
;
5134 (*curr
)->dump_tdep
= dump_tdep
;
5135 (*curr
)->arches
= NULL
;
5136 (*curr
)->next
= NULL
;
5140 register_gdbarch_init (enum bfd_architecture bfd_architecture
,
5141 gdbarch_init_ftype
*init
)
5143 gdbarch_register (bfd_architecture
, init
, NULL
);
5147 /* Look for an architecture using gdbarch_info. */
5149 struct gdbarch_list
*
5150 gdbarch_list_lookup_by_info (struct gdbarch_list
*arches
,
5151 const struct gdbarch_info
*info
)
5153 for (; arches
!= NULL
; arches
= arches
->next
)
5155 if (info
->bfd_arch_info
!= arches
->gdbarch
->bfd_arch_info
)
5157 if (info
->byte_order
!= arches
->gdbarch
->byte_order
)
5159 if (info
->osabi
!= arches
->gdbarch
->osabi
)
5161 if (info
->target_desc
!= arches
->gdbarch
->target_desc
)
5169 /* Find an architecture that matches the specified INFO. Create a new
5170 architecture if needed. Return that new architecture. */
5173 gdbarch_find_by_info (struct gdbarch_info info
)
5175 struct gdbarch
*new_gdbarch
;
5176 struct gdbarch_registration
*rego
;
5178 /* Fill in missing parts of the INFO struct using a number of
5179 sources: "set ..."; INFOabfd supplied; and the global
5181 gdbarch_info_fill (&info
);
5183 /* Must have found some sort of architecture. */
5184 gdb_assert (info
.bfd_arch_info
!= NULL
);
5188 fprintf_unfiltered (gdb_stdlog
,
5189 "gdbarch_find_by_info: info.bfd_arch_info %s\n",
5190 (info
.bfd_arch_info
!= NULL
5191 ? info
.bfd_arch_info
->printable_name
5193 fprintf_unfiltered (gdb_stdlog
,
5194 "gdbarch_find_by_info: info.byte_order %d (%s)\n",
5196 (info
.byte_order
== BFD_ENDIAN_BIG
? "big"
5197 : info
.byte_order
== BFD_ENDIAN_LITTLE
? "little"
5199 fprintf_unfiltered (gdb_stdlog
,
5200 "gdbarch_find_by_info: info.osabi %d (%s)\n",
5201 info
.osabi
, gdbarch_osabi_name (info
.osabi
));
5202 fprintf_unfiltered (gdb_stdlog
,
5203 "gdbarch_find_by_info: info.abfd %s\n",
5204 host_address_to_string (info
.abfd
));
5205 fprintf_unfiltered (gdb_stdlog
,
5206 "gdbarch_find_by_info: info.tdep_info %s\n",
5207 host_address_to_string (info
.tdep_info
));
5210 /* Find the tdep code that knows about this architecture. */
5211 for (rego
= gdbarch_registry
;
5214 if (rego
->bfd_architecture
== info
.bfd_arch_info
->arch
)
5219 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5220 "No matching architecture\n");
5224 /* Ask the tdep code for an architecture that matches "info". */
5225 new_gdbarch
= rego
->init (info
, rego
->arches
);
5227 /* Did the tdep code like it? No. Reject the change and revert to
5228 the old architecture. */
5229 if (new_gdbarch
== NULL
)
5232 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5233 "Target rejected architecture\n");
5237 /* Is this a pre-existing architecture (as determined by already
5238 being initialized)? Move it to the front of the architecture
5239 list (keeping the list sorted Most Recently Used). */
5240 if (new_gdbarch
->initialized_p
)
5242 struct gdbarch_list
**list
;
5243 struct gdbarch_list
*self
;
5245 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5246 "Previous architecture %s (%s) selected\n",
5247 host_address_to_string (new_gdbarch
),
5248 new_gdbarch
->bfd_arch_info
->printable_name
);
5249 /* Find the existing arch in the list. */
5250 for (list
= ®o
->arches
;
5251 (*list
) != NULL
&& (*list
)->gdbarch
!= new_gdbarch
;
5252 list
= &(*list
)->next
);
5253 /* It had better be in the list of architectures. */
5254 gdb_assert ((*list
) != NULL
&& (*list
)->gdbarch
== new_gdbarch
);
5257 (*list
) = self
->next
;
5258 /* Insert SELF at the front. */
5259 self
->next
= rego
->arches
;
5260 rego
->arches
= self
;
5265 /* It's a new architecture. */
5267 fprintf_unfiltered (gdb_stdlog
, "gdbarch_find_by_info: "
5268 "New architecture %s (%s) selected\n",
5269 host_address_to_string (new_gdbarch
),
5270 new_gdbarch
->bfd_arch_info
->printable_name
);
5272 /* Insert the new architecture into the front of the architecture
5273 list (keep the list sorted Most Recently Used). */
5275 struct gdbarch_list
*self
= XNEW (struct gdbarch_list
);
5276 self
->next
= rego
->arches
;
5277 self
->gdbarch
= new_gdbarch
;
5278 rego
->arches
= self
;
5281 /* Check that the newly installed architecture is valid. Plug in
5282 any post init values. */
5283 new_gdbarch
->dump_tdep
= rego
->dump_tdep
;
5284 verify_gdbarch (new_gdbarch
);
5285 new_gdbarch
->initialized_p
= 1;
5288 gdbarch_dump (new_gdbarch
, gdb_stdlog
);
5293 /* Make the specified architecture current. */
5296 set_target_gdbarch (struct gdbarch
*new_gdbarch
)
5298 gdb_assert (new_gdbarch
!= NULL
);
5299 gdb_assert (new_gdbarch
->initialized_p
);
5300 current_inferior ()->gdbarch
= new_gdbarch
;
5301 observer_notify_architecture_changed (new_gdbarch
);
5302 registers_changed ();
5305 /* Return the current inferior's arch. */
5308 target_gdbarch (void)
5310 return current_inferior ()->gdbarch
;
5313 extern void _initialize_gdbarch (void);
5316 _initialize_gdbarch (void)
5318 add_setshow_zuinteger_cmd ("arch", class_maintenance
, &gdbarch_debug
, _("\
5319 Set architecture debugging."), _("\
5320 Show architecture debugging."), _("\
5321 When non-zero, architecture debugging is enabled."),
5324 &setdebuglist
, &showdebuglist
);