GDB (xrefs)
Classes | Defines | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/osabi.c File Reference
#include "defs.h"
#include "gdb_assert.h"
#include "gdb_string.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  gdb_osabi_handler
struct  gdb_osabi_sniffer

Defines

#define GDB_OSABI_DEFAULT   GDB_OSABI_UNKNOWN
#define MAX_NOTESZ   128

Enumerations

enum  { osabi_auto, osabi_default, osabi_user }

Functions

const char * gdbarch_osabi_name (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 char *const gdb_osabi_names []
static struct gdb_osabi_handlergdb_osabi_handler_list
static struct gdb_osabi_sniffergdb_osabi_sniffer_list
initialize_file_ftype _initialize_gdb_osabi

Define Documentation

Definition at line 33 of file osabi.c.

Referenced by gdbarch_info_fill(), set_osabi(), and show_osabi().

#define MAX_NOTESZ   128

Definition at line 372 of file osabi.c.

Referenced by check_note(), and generic_elf_osabi_sniff_abi_tag_sections().


Enumeration Type Documentation

anonymous enum
Enumerator:
osabi_auto 
osabi_default 
osabi_user 

Definition at line 37 of file osabi.c.


Function Documentation

void _initialize_gdb_osabi ( void  )
static int can_run_code_for ( const struct bfd_arch_info *  a,
const struct bfd_arch_info *  b 
) [static]

Definition at line 304 of file osabi.c.

Referenced by gdbarch_init_osabi().

static int check_note ( bfd *  abfd,
asection *  sect,
char *  note,
unsigned int sectsize,
const char *  name,
unsigned long  descsz,
unsigned long  type 
) [static]

Definition at line 379 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 
)
enum gdb_osabi gdbarch_lookup_osabi ( bfd *  abfd)
const char* gdbarch_osabi_name ( enum gdb_osabi  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 127 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_alpha_osf1_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_armobsd_tdep(), _initialize_bfin_linux_tdep(), _initialize_cris_linux_tdep(), _initialize_hppa_linux_tdep(), _initialize_hppanbsd_tdep(), _initialize_i386_darwin_tdep(), _initialize_i386nbsd_tdep(), _initialize_i386nto_tdep(), _initialize_ia64_hpux_tdep(), _initialize_ia64_linux_tdep(), _initialize_ia64_vms_tdep(), _initialize_m68k_linux_tdep(), _initialize_microblaze_linux_tdep(), _initialize_mips64obsd_tdep(), _initialize_mips_irix_tdep(), _initialize_mips_linux_tdep(), _initialize_mipsnbsd_tdep(), _initialize_mn10300_linux_tdep(), _initialize_nios2_linux_tdep(), _initialize_ppc_linux_tdep(), _initialize_rs6000_aix_tdep(), _initialize_rs6000_lynx178_tdep(), _initialize_shnbsd_tdep(), _initialize_sparc64_linux_tdep(), _initialize_sparc64_sol2_tdep(), _initialize_sparc64fbsd_tdep(), _initialize_sparc64nbsd_tdep(), _initialize_sparc64obsd_tdep(), _initialize_tic6x_linux_tdep(), _initialize_tilegx_linux_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 
)
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]
enum gdb_osabi osabi_from_tdesc_string ( const char *  name)
static void set_osabi ( char *  args,
int  from_tty,
struct cmd_list_element c 
) [static]
static void show_osabi ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
) [static]

Variable Documentation

Referenced by initialize_all_files().

Initial value:
 {
  "auto",
  "default",
  "none",
  NULL
}

Definition at line 39 of file osabi.c.

Referenced by _initialize_gdb_osabi(), and gdbarch_register_osabi().

Definition at line 124 of file osabi.c.

const char* const gdb_osabi_names[] [static]

Definition at line 49 of file osabi.c.

Referenced by _initialize_gdb_osabi(), gdbarch_osabi_name(), and osabi_from_tdesc_string().

Definition at line 201 of file osabi.c.

Referenced by gdbarch_register_osabi_sniffer().

const char* set_osabi_string [static]

Definition at line 45 of file osabi.c.

Referenced by _initialize_gdb_osabi(), and set_osabi().

enum { ... } user_osabi_state [static]

Definition at line 38 of file osabi.c.

Referenced by gdbarch_lookup_osabi(), set_osabi(), and show_osabi().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines