GDB (xrefs)
|
#include "defs.h"
#include "osabi.h"
#include "arch-utils.h"
#include "gdbcmd.h"
#include "command.h"
#include "elf-bfd.h"
Go to the source code of this file.
Classes | |
struct | osabi_names |
struct | gdb_osabi_handler |
struct | gdb_osabi_sniffer |
Macros | |
#define | MAX_NOTESZ 128 |
Enumerations | |
enum | { osabi_auto, osabi_default, osabi_user } |
Functions | |
const char * | gdbarch_osabi_name (enum gdb_osabi osabi) |
const char * | osabi_triplet_regexp (enum gdb_osabi osabi) |
enum gdb_osabi | osabi_from_tdesc_string (const char *name) |
void | gdbarch_register_osabi (enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *)) |
void | gdbarch_register_osabi_sniffer (enum bfd_architecture arch, enum bfd_flavour flavour, enum gdb_osabi(*sniffer_fn)(bfd *)) |
enum gdb_osabi | gdbarch_lookup_osabi (bfd *abfd) |
static int | can_run_code_for (const struct bfd_arch_info *a, const struct bfd_arch_info *b) |
void | gdbarch_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch) |
static int | check_note (bfd *abfd, asection *sect, char *note, unsigned int *sectsize, const char *name, unsigned long descsz, unsigned long type) |
void | generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj) |
static enum gdb_osabi | generic_elf_osabi_sniffer (bfd *abfd) |
static void | set_osabi (char *args, int from_tty, struct cmd_list_element *c) |
static void | show_osabi (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
void | _initialize_gdb_osabi (void) |
Variables | |
static enum { ... } | user_osabi_state |
static enum gdb_osabi | user_selected_osabi |
static const char * | gdb_osabi_available_names [GDB_OSABI_INVALID+3] |
static const char * | set_osabi_string |
static const struct osabi_names | gdb_osabi_names [] |
static struct gdb_osabi_handler * | gdb_osabi_handler_list |
static struct gdb_osabi_sniffer * | gdb_osabi_sniffer_list |
initialize_file_ftype | _initialize_gdb_osabi |
#define MAX_NOTESZ 128 |
Definition at line 393 of file osabi.c.
Referenced by check_note(), and generic_elf_osabi_sniff_abi_tag_sections().
void _initialize_gdb_osabi | ( | void | ) |
Definition at line 669 of file osabi.c.
References _, add_setshow_enum_cmd(), class_support, gdb_osabi_available_names, GDB_OSABI_INVALID, gdbarch_register_osabi_sniffer(), generic_elf_osabi_sniffer(), internal_error(), osabi_auto, set_osabi(), set_osabi_string, setlist, show_osabi(), showlist, and user_osabi_state.
|
static |
Definition at line 325 of file osabi.c.
Referenced by gdbarch_init_osabi().
|
static |
Definition at line 400 of file osabi.c.
References gdb_assert, and MAX_NOTESZ.
Referenced by generic_elf_osabi_sniff_abi_tag_sections().
void gdbarch_init_osabi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) |
Definition at line 341 of file osabi.c.
References gdb_osabi_handler::arch_info, gdbarch_info::bfd_arch_info, can_run_code_for(), GDB_OSABI_UNKNOWN, gdbarch_osabi_name(), gdb_osabi_handler::init_osabi, gdb_osabi_handler::next, gdb_osabi_handler::osabi, gdbarch_info::osabi, and warning().
Referenced by aarch64_gdbarch_init(), alpha_gdbarch_init(), arm_gdbarch_init(), bfin_gdbarch_init(), cris_gdbarch_init(), frv_gdbarch_init(), ft32_gdbarch_init(), hppa_gdbarch_init(), i386_gdbarch_init(), ia64_gdbarch_init(), iq2000_gdbarch_init(), m32r_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mn10300_gdbarch_init(), moxie_gdbarch_init(), nios2_gdbarch_init(), rs6000_gdbarch_init(), sh64_gdbarch_init(), sh_gdbarch_init(), sparc32_gdbarch_init(), tic6x_gdbarch_init(), tilegx_gdbarch_init(), v850_gdbarch_init(), vax_gdbarch_init(), and xstormy16_gdbarch_init().
enum gdb_osabi gdbarch_lookup_osabi | ( | bfd * | abfd | ) |
Definition at line 243 of file osabi.c.
References _, gdb_osabi_sniffer::arch, gdb_osabi_sniffer::flavour, GDB_OSABI_INVALID, GDB_OSABI_UNKNOWN, gdbarch_osabi_name(), internal_error(), gdb_osabi_sniffer::next, osabi_user, gdb_osabi_sniffer::sniffer, user_osabi_state, and user_selected_osabi.
Referenced by gdbarch_info_fill().
Definition at line 92 of file osabi.c.
References GDB_OSABI_INVALID, GDB_OSABI_UNKNOWN, and osabi_names::pretty.
Referenced by gdbarch_find_by_info(), gdbarch_init_osabi(), gdbarch_lookup_osabi(), gdbarch_register_osabi(), maint_print_c_tdesc_cmd(), set_osabi(), and show_osabi().
void gdbarch_register_osabi | ( | enum bfd_architecture | arch, |
unsigned long | machine, | ||
enum gdb_osabi | osabi, | ||
void(*)(struct gdbarch_info, struct gdbarch *) | init_osabi | ||
) |
Definition at line 148 of file osabi.c.
References _, gdb_osabi_handler::arch_info, gdb_assert, gdb_osabi_available_names, GDB_OSABI_UNKNOWN, gdbarch_osabi_name(), gdb_osabi_handler::init_osabi, internal_error(), gdb_osabi_handler::next, gdb_osabi_handler::osabi, and xmalloc().
Referenced by _initialize_aarch64_linux_tdep(), _initialize_aarch64_newlib_tdep(), _initialize_alpha_linux_tdep(), _initialize_alphafbsd_tdep(), _initialize_alphanbsd_tdep(), _initialize_alphaobsd_tdep(), _initialize_amd64_darwin_tdep(), _initialize_amd64_dicos_tdep(), _initialize_amd64_linux_tdep(), _initialize_amd64_sol2_tdep(), _initialize_amd64_windows_tdep(), _initialize_amd64fbsd_tdep(), _initialize_amd64nbsd_tdep(), _initialize_amd64obsd_tdep(), _initialize_arm_linux_tdep(), _initialize_arm_netbsd_tdep(), _initialize_arm_symbian_tdep(), _initialize_arm_wince_tdep(), _initialize_armobsd_tdep(), _initialize_bfin_linux_tdep(), _initialize_cris_linux_tdep(), _initialize_frv_linux_tdep(), _initialize_hppa_linux_tdep(), _initialize_hppabsd_tdep(), _initialize_hppanbsd_tdep(), _initialize_i386_cygwin_tdep(), _initialize_i386_darwin_tdep(), _initialize_i386_dicos_tdep(), _initialize_i386_linux_tdep(), _initialize_i386_sol2_tdep(), _initialize_i386_tdep(), _initialize_i386fbsd_tdep(), _initialize_i386gnu_tdep(), _initialize_i386nbsd_tdep(), _initialize_i386nto_tdep(), _initialize_i386obsd_tdep(), _initialize_ia64_linux_tdep(), _initialize_ia64_vms_tdep(), _initialize_m32r_linux_tdep(), _initialize_m68k_linux_tdep(), _initialize_m68kbsd_tdep(), _initialize_microblaze_linux_tdep(), _initialize_mips64obsd_tdep(), _initialize_mips_linux_tdep(), _initialize_mips_sde_tdep(), _initialize_mipsnbsd_tdep(), _initialize_mn10300_linux_tdep(), _initialize_nios2_linux_tdep(), _initialize_ppc_linux_tdep(), _initialize_ppcfbsd_tdep(), _initialize_ppcnbsd_tdep(), _initialize_ppcobsd_tdep(), _initialize_rs6000_aix_tdep(), _initialize_rs6000_lynx178_tdep(), _initialize_sh_linux_tdep(), _initialize_shnbsd_tdep(), _initialize_sparc32obsd_tdep(), _initialize_sparc64_linux_tdep(), _initialize_sparc64_sol2_tdep(), _initialize_sparc64fbsd_tdep(), _initialize_sparc64nbsd_tdep(), _initialize_sparc64obsd_tdep(), _initialize_sparc_linux_tdep(), _initialize_sparc_sol2_tdep(), _initialize_sparcnbsd_tdep(), _initialize_tic6x_linux_tdep(), _initialize_tilegx_linux_tdep(), _initialize_vaxnbsd_tdep(), _initialize_vaxobsd_tdep(), and _initialize_xtensa_linux_tdep().
void gdbarch_register_osabi_sniffer | ( | enum bfd_architecture | arch, |
enum bfd_flavour | flavour, | ||
enum gdb_osabi(*)(bfd *) | sniffer_fn | ||
) |
Definition at line 225 of file osabi.c.
References gdb_osabi_sniffer::arch, gdb_osabi_sniffer::flavour, gdb_osabi_sniffer_list, gdb_osabi_sniffer::next, gdb_osabi_sniffer::sniffer, and xmalloc().
Referenced by _initialize_alphanbsd_tdep(), _initialize_amd64_dicos_tdep(), _initialize_arm_netbsd_tdep(), _initialize_arm_symbian_tdep(), _initialize_arm_tdep(), _initialize_arm_wince_tdep(), _initialize_armobsd_tdep(), _initialize_frv_linux_tdep(), _initialize_gdb_osabi(), _initialize_hppabsd_tdep(), _initialize_i386_cygwin_tdep(), _initialize_i386_darwin_tdep(), _initialize_i386_dicos_tdep(), _initialize_i386_sol2_tdep(), _initialize_i386_tdep(), _initialize_i386bsd_tdep(), _initialize_i386nto_tdep(), _initialize_m68kbsd_tdep(), _initialize_mips_sde_tdep(), _initialize_ppcobsd_tdep(), _initialize_rs6000_aix_tdep(), _initialize_rs6000_lynx178_tdep(), _initialize_shnbsd_tdep(), _initialize_sparcnbsd_tdep(), and _initialize_vaxobsd_tdep().
void generic_elf_osabi_sniff_abi_tag_sections | ( | bfd * | abfd, |
asection * | sect, | ||
void * | obj | ||
) |
Definition at line 444 of file osabi.c.
References _, check_note(), GDB_OSABI_FREEBSD_ELF, GDB_OSABI_HURD, GDB_OSABI_LINUX, GDB_OSABI_NETBSD_ELF, GDB_OSABI_OPENBSD_ELF, GDB_OSABI_SOLARIS, MAX_NOTESZ, name, and warning().
Referenced by arm_elf_osabi_sniffer(), generic_elf_osabi_sniffer(), and mips_sde_elf_osabi_sniffer().
|
static |
Definition at line 542 of file osabi.c.
References GDB_OSABI_FREEBSD_ELF, GDB_OSABI_HPUX_ELF, GDB_OSABI_NETBSD_ELF, GDB_OSABI_OPENVMS, GDB_OSABI_SOLARIS, GDB_OSABI_UNKNOWN, generic_elf_osabi_sniff_abi_tag_sections(), and gdb_osabi_handler::osabi.
Referenced by _initialize_gdb_osabi().
Definition at line 115 of file osabi.c.
References GDB_OSABI_INVALID, GDB_OSABI_UNKNOWN, and osabi_names::pretty.
Referenced by initialize_tdesc_amd64_avx512_linux(), initialize_tdesc_amd64_avx_linux(), initialize_tdesc_amd64_linux(), initialize_tdesc_amd64_mpx_linux(), initialize_tdesc_i386_avx512_linux(), initialize_tdesc_i386_avx_linux(), initialize_tdesc_i386_linux(), initialize_tdesc_i386_mmx_linux(), initialize_tdesc_i386_mpx_linux(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_nios2_linux(), initialize_tdesc_tic6x_c62x_linux(), initialize_tdesc_tic6x_c64x_linux(), initialize_tdesc_tic6x_c64xp_linux(), initialize_tdesc_x32_avx512_linux(), initialize_tdesc_x32_avx_linux(), initialize_tdesc_x32_linux(), and tdesc_end_osabi().
Definition at line 103 of file osabi.c.
References GDB_OSABI_INVALID, GDB_OSABI_UNKNOWN, and osabi_names::regexp.
Referenced by compile_to_object().
|
static |
Definition at line 608 of file osabi.c.
References _, GDB_OSABI_DEFAULT, GDB_OSABI_INVALID, GDB_OSABI_UNKNOWN, gdbarch_info_init(), gdbarch_osabi_name(), gdbarch_update_p(), internal_error(), osabi_auto, osabi_user, set_osabi_string, user_osabi_state, and user_selected_osabi.
Referenced by _initialize_gdb_osabi().
|
static |
Definition at line 649 of file osabi.c.
References _, fprintf_filtered(), GDB_OSABI_DEFAULT, GDB_OSABI_UNKNOWN, gdbarch_osabi(), gdbarch_osabi_name(), get_current_arch(), osabi_auto, user_osabi_state, and user_selected_osabi.
Referenced by _initialize_gdb_osabi().
initialize_file_ftype _initialize_gdb_osabi |
|
static |
Definition at line 36 of file osabi.c.
Referenced by _initialize_gdb_osabi(), and gdbarch_register_osabi().
|
static |
|
static |
|
static |
Definition at line 222 of file osabi.c.
Referenced by gdbarch_register_osabi_sniffer().
|
static |
Definition at line 42 of file osabi.c.
Referenced by _initialize_gdb_osabi(), and set_osabi().
enum { ... } user_osabi_state |
Referenced by _initialize_gdb_osabi(), gdbarch_lookup_osabi(), set_osabi(), and show_osabi().
|
static |
Definition at line 35 of file osabi.c.
Referenced by gdbarch_lookup_osabi(), set_osabi(), and show_osabi().