GDB (xrefs)

Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/target-descriptions.c File Reference
`#include "defs.h"`
`#include "arch-utils.h"`
`#include "gdbcmd.h"`
`#include "gdbtypes.h"`
`#include "reggroups.h"`
`#include "target.h"`
`#include "target-descriptions.h"`
`#include "vec.h"`
`#include "xml-support.h"`
`#include "xml-tdesc.h"`
`#include "osabi.h"`
`#include "gdb_obstack.h"`
`#include "hashtab.h"`
`#include "inferior.h"`
`#include <algorithm>`
`#include "completer.h"`
`#include "readline/tilde.h"`

Go to the source code of this file.

## Classes
class | tdesc_element_visitor
class | tdesc_element
struct | property
struct | tdesc_reg
struct | tdesc_type_field
struct | tdesc_type
struct | tdesc_type_builtin
struct | tdesc_type_vector
struct | tdesc_type_with_fields
struct | tdesc_feature
struct | target_desc
struct | tdesc_arch_reg
struct | tdesc_arch_data
struct | target_desc_info
class | print_c_tdesc
class | print_c_feature

## Namespaces
| selftests

## Macros
#define | target_desc_fetched get_tdesc_info (current_inferior ())->fetched
#define | current_target_desc get_tdesc_info (current_inferior ())->tdesc
#define | target_description_filename get_tdesc_info (current_inferior ())->filename

## Typedefs
typedef std::unique_ptr< tdesc_reg > | tdesc_reg_up
typedef std::unique_ptr< tdesc_type > | tdesc_type_up
typedef std::unique_ptr< tdesc_feature > | tdesc_feature_up

## Enumerations
enum | tdesc_type_kind { TDESC_TYPE_BOOL, TDESC_TYPE_INT8, TDESC_TYPE_INT16, TDESC_TYPE_INT32, TDESC_TYPE_INT64, TDESC_TYPE_INT128, TDESC_TYPE_UINT8, TDESC_TYPE_UINT16, TDESC_TYPE_UINT32, TDESC_TYPE_UINT64, TDESC_TYPE_UINT128, TDESC_TYPE_CODE_PTR, TDESC_TYPE_DATA_PTR, TDESC_TYPE_IEEE_SINGLE, TDESC_TYPE_IEEE_DOUBLE, TDESC_TYPE_ARM_FPA_EXT, TDESC_TYPE_I387_EXT, TDESC_TYPE_VECTOR, TDESC_TYPE_STRUCT, TDESC_TYPE_UNION, TDESC_TYPE_FLAGS, TDESC_TYPE_ENUM }

## Functions
static struct target_desc_info * | get_tdesc_info (struct inferior *inf)
int | target_desc_info_from_user_p (struct target_desc_info *info)
void | copy_inferior_target_desc_info (struct inferior *destinf, struct inferior *srcinf)
void | target_desc_info_free (struct target_desc_info *tdesc_info)
void | target_find_description (void)
void | target_clear_description (void)
const struct target_desc * | target_current_description (void)
int | tdesc_compatible_p (const struct target_desc *target_desc, const struct bfd_arch_info *arch)
const char * | tdesc_property (const struct target_desc *target_desc, const char *key)
const struct bfd_arch_info * | tdesc_architecture (const struct target_desc *target_desc)
enum gdb_osabi | tdesc_osabi (const struct target_desc *target_desc)
int | tdesc_has_registers (const struct target_desc *target_desc)
const struct tdesc_feature * | tdesc_find_feature (const struct target_desc *target_desc, const char *name)
const char * | tdesc_feature_name (const struct tdesc_feature *feature)
static struct tdesc_type * | tdesc_predefined_type (enum tdesc_type_kind kind)
struct tdesc_type * | tdesc_named_type (const struct tdesc_feature *feature, const char *id)
struct type * | tdesc_find_type (struct gdbarch *gdbarch, const char *id)
static void * | tdesc_data_init (struct obstack *obstack)
struct tdesc_arch_data * | tdesc_data_alloc (void)
void | tdesc_data_cleanup (void *data_untyped)
static struct tdesc_reg * | tdesc_find_register_early (const struct tdesc_feature *feature, const char *name)
int | tdesc_numbered_register (const struct tdesc_feature *feature, struct tdesc_arch_data *data, int regno, const char *name)
int | tdesc_unnumbered_register (const struct tdesc_feature *feature, const char *name)
int | tdesc_numbered_register_choices (const struct tdesc_feature *feature, struct tdesc_arch_data *data, int regno, const char *const names[])
int | tdesc_register_size (const struct tdesc_feature *feature, const char *name)
static struct tdesc_arch_reg * | tdesc_find_arch_register (struct gdbarch *gdbarch, int regno)
static struct tdesc_reg * | tdesc_find_register (struct gdbarch *gdbarch, int regno)
const char * | tdesc_register_name (struct gdbarch *gdbarch, int regno)
struct type * | tdesc_register_type (struct gdbarch *gdbarch, int regno)
static int | tdesc_remote_register_number (struct gdbarch *gdbarch, int regno)
int | tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno, struct reggroup *reggroup)
static int | tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regno, struct reggroup *reggroup)
void | set_tdesc_pseudo_register_name (struct gdbarch *gdbarch, gdbarch_register_name_ftype *pseudo_name)
void | set_tdesc_pseudo_register_type (struct gdbarch *gdbarch, gdbarch_register_type_ftype *pseudo_type)
void | set_tdesc_pseudo_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype *pseudo_reggroup_p)
void | tdesc_use_registers (struct gdbarch *gdbarch, const struct target_desc *target_desc, struct tdesc_arch_data *early_data)
void | tdesc_create_reg (struct tdesc_feature *feature, const char *name, int regnum, int save_restore, const char *group, int bitsize, const char *type)
struct tdesc_type * | tdesc_create_vector (struct tdesc_feature *feature, const char *name, struct tdesc_type *field_type, int count)
tdesc_type_with_fields * | tdesc_create_struct (struct tdesc_feature *feature, const char *name)
void | tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
tdesc_type_with_fields * | tdesc_create_union (struct tdesc_feature *feature, const char *name)
tdesc_type_with_fields * | tdesc_create_flags (struct tdesc_feature *feature, const char *name, int size)
tdesc_type_with_fields * | tdesc_create_enum (struct tdesc_feature *feature, const char *name, int size)
void | tdesc_add_field (tdesc_type_with_fields *type, const char *field_name, struct tdesc_type *field_type)
void | tdesc_add_typed_bitfield (tdesc_type_with_fields *type, const char *field_name, int start, int end, struct tdesc_type *field_type)
void | tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name, int start, int end)
void | tdesc_add_flag (tdesc_type_with_fields *type, int start, const char *flag_name)
void | tdesc_add_enum_value (tdesc_type_with_fields *type, int value, const char *name)
struct tdesc_feature * | tdesc_create_feature (struct target_desc *tdesc, const char *name, const char *xml)
struct target_desc * | allocate_target_description (void)
static void | free_target_description (void *arg)
struct cleanup * | make_cleanup_free_target_description (struct target_desc *target_desc)
void | tdesc_add_compatible (struct target_desc *target_desc, const struct bfd_arch_info *compatible)
void | set_tdesc_property (struct target_desc *target_desc, const char *key, const char *value)
void | set_tdesc_architecture (struct target_desc *target_desc, const char *name)
void | set_tdesc_architecture (struct target_desc *target_desc, const struct bfd_arch_info *arch)
void | set_tdesc_osabi (struct target_desc *target_desc, const char *name)
void | set_tdesc_osabi (struct target_desc *target_desc, enum gdb_osabi osabi)
static void | set_tdesc_cmd (const char *args, int from_tty)
static void | show_tdesc_cmd (const char *args, int from_tty)
static void | unset_tdesc_cmd (const char *args, int from_tty)
static void | set_tdesc_filename_cmd (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_tdesc_filename_cmd (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | unset_tdesc_filename_cmd (const char *args, int from_tty)
static void | maint_print_c_tdesc_cmd (const char *args, int from_tty)
static void | maintenance_check_xml_descriptions (const char *dir, int from_tty)
void | _initialize_target_descriptions (void)

## Variables
static struct gdbarch_data * | tdesc_data
static char * | tdesc_filename_cmd_string
static tdesc_type_builtin | tdesc_predefined_types []
static struct cmd_list_element * | tdesc_set_cmdlist
static struct cmd_list_element * | tdesc_show_cmdlist
static struct cmd_list_element * | tdesc_unset_cmdlist
static std::vector< std::pair< const char *, const target_desc * > > | selftests::xml_tdesc

## Macro Definition Documentation

## ◆ current_target_desc

#define current_target_desc get_tdesc_info (current_inferior ())->tdesc

Definition at line 764 of file target-descriptions.c.

Referenced by maint_print_c_tdesc_cmd(), target_clear_description(), target_current_description(), and target_find_description().

## ◆ target_desc_fetched

#define target_desc_fetched get_tdesc_info (current_inferior ())->fetched

Definition at line 762 of file target-descriptions.c.

Referenced by target_clear_description(), target_current_description(), and target_find_description().

## ◆ target_description_filename

#define target_description_filename get_tdesc_info (current_inferior ())->filename

Definition at line 766 of file target-descriptions.c.

Referenced by maint_print_c_tdesc_cmd(), set_tdesc_filename_cmd(), show_tdesc_filename_cmd(), target_find_description(), and unset_tdesc_filename_cmd().

## Typedef Documentation

## ◆ tdesc_feature_up

typedef std::unique_ptr<tdesc_feature> tdesc_feature_up

Definition at line 587 of file target-descriptions.c.

## ◆ tdesc_reg_up

typedef std::unique_ptr<tdesc_reg> tdesc_reg_up

Definition at line 153 of file target-descriptions.c.

## ◆ tdesc_type_up

typedef std::unique_ptr<tdesc_type> tdesc_type_up

Definition at line 233 of file target-descriptions.c.

## Enumeration Type Documentation

## ◆ tdesc_type_kind

enum tdesc_type_kind

Enumerator
TDESC_TYPE_BOOL |
TDESC_TYPE_INT8 |
TDESC_TYPE_INT16 |
TDESC_TYPE_INT32 |
TDESC_TYPE_INT64 |
TDESC_TYPE_INT128 |
TDESC_TYPE_UINT8 |
TDESC_TYPE_UINT16 |
TDESC_TYPE_UINT32 |
TDESC_TYPE_UINT64 |
TDESC_TYPE_UINT128 |
TDESC_TYPE_CODE_PTR |
TDESC_TYPE_DATA_PTR |
TDESC_TYPE_IEEE_SINGLE |
TDESC_TYPE_IEEE_DOUBLE |
TDESC_TYPE_ARM_FPA_EXT |
TDESC_TYPE_I387_EXT |
TDESC_TYPE_VECTOR |
TDESC_TYPE_STRUCT |
TDESC_TYPE_UNION |
TDESC_TYPE_FLAGS |
TDESC_TYPE_ENUM |

Definition at line 172 of file target-descriptions.c.

## Function Documentation

## ◆ _initialize_target_descriptions()

void _initialize_target_descriptions | ( | void |  | ) |

Definition at line 2241 of file target-descriptions.c.

References _, add_cmd(), add_prefix_cmd(), add_setshow_filename_cmd(), class_maintenance, class_obscure, filename_completer(), gdbarch_data_register_pre_init(), maint_print_c_tdesc_cmd(), maintenance_check_xml_descriptions(), maintenancechecklist, maintenanceprintlist, set_cmd_completer(), set_tdesc_cmd(), set_tdesc_filename_cmd(), setlist, show_tdesc_cmd(), show_tdesc_filename_cmd(), showlist, tdesc_data, tdesc_data_init(), tdesc_filename_cmd_string, tdesc_set_cmdlist, tdesc_show_cmdlist, tdesc_unset_cmdlist, unset_tdesc_cmd(), unset_tdesc_filename_cmd(), and unsetlist.

## ◆ allocate_target_description()

struct target_desc* allocate_target_description | ( | void |  | ) |

Definition at line 1613 of file target-descriptions.c.

References target_desc::target_desc().

Referenced by _initialize_mips_tdep(), aarch64_create_target_description(), amd64_create_target_description(), i386_create_target_description(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_arm_with_m(), initialize_tdesc_arm_with_m_fpa_layout(), initialize_tdesc_arm_with_m_vfp_d16(), initialize_tdesc_arm_with_neon(), initialize_tdesc_arm_with_vfpv2(), initialize_tdesc_arm_with_vfpv3(), initialize_tdesc_microblaze(), initialize_tdesc_microblaze_with_stack_protect(), initialize_tdesc_mips64_dsp_linux(), initialize_tdesc_mips64_linux(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_nds32(), initialize_tdesc_nios2(), initialize_tdesc_or1k(), initialize_tdesc_powerpc_32(), initialize_tdesc_powerpc_32l(), initialize_tdesc_powerpc_403(), initialize_tdesc_powerpc_403gc(), initialize_tdesc_powerpc_405(), initialize_tdesc_powerpc_505(), initialize_tdesc_powerpc_601(), initialize_tdesc_powerpc_602(), initialize_tdesc_powerpc_603(), initialize_tdesc_powerpc_604(), initialize_tdesc_powerpc_64(), initialize_tdesc_powerpc_64l(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_750(), initialize_tdesc_powerpc_860(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_e500(), initialize_tdesc_powerpc_e500l(), initialize_tdesc_powerpc_isa205_32l(), initialize_tdesc_powerpc_isa205_64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_rs6000(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_linux32(), initialize_tdesc_s390_linux32v1(), initialize_tdesc_s390_linux32v2(), initialize_tdesc_s390_linux64(), initialize_tdesc_s390_linux64v1(), initialize_tdesc_s390_linux64v2(), initialize_tdesc_s390_te_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_linux64(), initialize_tdesc_s390x_linux64v1(), initialize_tdesc_s390x_linux64v2(), initialize_tdesc_s390x_te_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), initialize_tdesc_sparc32_solaris(), initialize_tdesc_sparc64_solaris(), tdesc_parse_xml(), and tic6x_create_target_description().

## ◆ copy_inferior_target_desc_info()

void copy_inferior_target_desc_info | ( | struct inferior * | destinf,
|  | struct inferior * | srcinf
| ) |  |

Definition at line 738 of file target-descriptions.c.

References target_desc_info::fetched, target_desc_info::filename, get_tdesc_info(), and target_desc_info::tdesc.

Referenced by clone_inferior_command(), and follow_fork_inferior().

## ◆ free_target_description()

static void free_target_description | ( | void * | arg | ) |
| static

Definition at line 1619 of file target-descriptions.c.

References target_desc::target_desc().

Referenced by make_cleanup_free_target_description().

## ◆ get_tdesc_info()

static struct target_desc_info* get_tdesc_info | ( | struct inferior * | inf | ) |
| static

Definition at line 715 of file target-descriptions.c.

References XCNEW.

Referenced by copy_inferior_target_desc_info().

## ◆ maint_print_c_tdesc_cmd()

static void maint_print_c_tdesc_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 2142 of file target-descriptions.c.

References _, target_desc::accept(), current_target_desc, error(), file_read_description_xml(), loc, startswith(), string, and target_description_filename.

Referenced by _initialize_target_descriptions().

## ◆ maintenance_check_xml_descriptions()

static void maintenance_check_xml_descriptions | ( | const char * | dir,
|  | int | from_tty
| ) |  |
| static

Definition at line 2218 of file target-descriptions.c.

References _, error(), file_read_description_xml(), printf_filtered(), size, SLASH_STRING, string, and selftests::xml_tdesc.

Referenced by _initialize_target_descriptions().

## ◆ make_cleanup_free_target_description()

struct cleanup* make_cleanup_free_target_description | ( | struct target_desc * | target_desc | ) |

Definition at line 1627 of file target-descriptions.c.

References free_target_description(), and make_cleanup().

Referenced by tdesc_parse_xml().

## ◆ set_tdesc_architecture() [1/2]

void set_tdesc_architecture | ( | struct target_desc * | target_desc,
|  | const char * | name
| ) |  |

Definition at line 1668 of file target-descriptions.c.

References name.

Referenced by aarch64_create_target_description(), amd64_create_target_description(), i386_create_target_description(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_arm_with_m(), initialize_tdesc_arm_with_m_fpa_layout(), initialize_tdesc_arm_with_m_vfp_d16(), initialize_tdesc_arm_with_neon(), initialize_tdesc_arm_with_vfpv2(), initialize_tdesc_arm_with_vfpv3(), initialize_tdesc_mips64_dsp_linux(), initialize_tdesc_mips64_linux(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_nds32(), initialize_tdesc_nios2(), initialize_tdesc_or1k(), initialize_tdesc_powerpc_32(), initialize_tdesc_powerpc_32l(), initialize_tdesc_powerpc_64(), initialize_tdesc_powerpc_64l(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_e500(), initialize_tdesc_powerpc_e500l(), initialize_tdesc_powerpc_isa205_32l(), initialize_tdesc_powerpc_isa205_64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_rs6000(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_linux32(), initialize_tdesc_s390_linux32v1(), initialize_tdesc_s390_linux32v2(), initialize_tdesc_s390_linux64(), initialize_tdesc_s390_linux64v1(), initialize_tdesc_s390_linux64v2(), initialize_tdesc_s390_te_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_linux64(), initialize_tdesc_s390x_linux64v1(), initialize_tdesc_s390x_linux64v2(), initialize_tdesc_s390x_te_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), initialize_tdesc_sparc32_solaris(), initialize_tdesc_sparc64_solaris(), tdesc_end_arch(), and tic6x_create_target_description().

## ◆ set_tdesc_architecture() [2/2]

void set_tdesc_architecture | ( | struct target_desc * | target_desc,
|  | const struct bfd_arch_info * | arch
| ) |  |

Definition at line 1675 of file target-descriptions.c.

References target_desc::arch.

## ◆ set_tdesc_cmd()

static void set_tdesc_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1702 of file target-descriptions.c.

References all_commands, gdb_stdout, help_list(), and tdesc_set_cmdlist.

Referenced by _initialize_target_descriptions().

## ◆ set_tdesc_filename_cmd()

static void set_tdesc_filename_cmd | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 1720 of file target-descriptions.c.

References target_clear_description(), target_description_filename, target_find_description(), tdesc_filename_cmd_string, and xfree().

Referenced by _initialize_target_descriptions().

## ◆ set_tdesc_osabi() [1/2]

void set_tdesc_osabi | ( | struct target_desc * | target_desc,
|  | const char * | name
| ) |  |

Definition at line 1684 of file target-descriptions.c.

References name, and osabi_from_tdesc_string().

Referenced by amd64_create_target_description(), i386_create_target_description(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_sparc32_solaris(), initialize_tdesc_sparc64_solaris(), tdesc_end_osabi(), and tic6x_create_target_description().

## ◆ set_tdesc_osabi() [2/2]

void set_tdesc_osabi | ( | struct target_desc * | target_desc,
|  | enum gdb_osabi | osabi
| ) |  |

Definition at line 1690 of file target-descriptions.c.

References target_desc::osabi.

## ◆ set_tdesc_property()

void set_tdesc_property | ( | struct target_desc * | target_desc,
|  | const char * | key,
|  | const char * | value
| ) |  |

Definition at line 1653 of file target-descriptions.c.

References _, gdb_assert, internal_error(), target_desc::properties, and tdesc_property().

Referenced by _initialize_mips_tdep().

## ◆ set_tdesc_pseudo_register_name()

void set_tdesc_pseudo_register_name | ( | struct gdbarch * | gdbarch,
|  | gdbarch_register_name_ftype * | pseudo_name
| ) |  |

Definition at line 1341 of file target-descriptions.c.

References tdesc_arch_data::pseudo_register_name, and tdesc_data.

Referenced by aarch64_gdbarch_init(), amd64_init_abi(), arm_gdbarch_init(), i386_gdbarch_init(), nds32_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), and sparc64_init_abi().

## ◆ set_tdesc_pseudo_register_reggroup_p()

void set_tdesc_pseudo_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | gdbarch_register_reggroup_p_ftype * | pseudo_reggroup_p
| ) |  |

Definition at line 1362 of file target-descriptions.c.

References tdesc_arch_data::pseudo_register_reggroup_p, and tdesc_data.

Referenced by aarch64_gdbarch_init(), rs6000_gdbarch_init(), and s390_gdbarch_init().

## ◆ set_tdesc_pseudo_register_type()

void set_tdesc_pseudo_register_type | ( | struct gdbarch * | gdbarch,
|  | gdbarch_register_type_ftype * | pseudo_type
| ) |  |

Definition at line 1351 of file target-descriptions.c.

References tdesc_arch_data::pseudo_register_type, and tdesc_data.

Referenced by aarch64_gdbarch_init(), amd64_x32_init_abi(), i386_gdbarch_init(), mips_gdbarch_init(), nds32_gdbarch_init(), rs6000_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), and sparc64_init_abi().

## ◆ show_tdesc_cmd()

static void show_tdesc_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1708 of file target-descriptions.c.

References cmd_show_list(), and tdesc_show_cmdlist.

Referenced by _initialize_target_descriptions().

## ◆ show_tdesc_filename_cmd()

static void show_tdesc_filename_cmd | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 1731 of file target-descriptions.c.

References _, printf_filtered(), and target_description_filename.

Referenced by _initialize_target_descriptions().

## ◆ target_clear_description()

void target_clear_description | ( | void |  | ) |

Definition at line 840 of file target-descriptions.c.

References _, current_target_desc, gdbarch_info_init(), gdbarch_update_p(), internal_error(), and target_desc_fetched.

Referenced by follow_exec(), remote_start_remote(), set_tdesc_filename_cmd(), target_pre_inferior(), and unset_tdesc_filename_cmd().

## ◆ target_current_description()

const struct target_desc* target_current_description | ( | void |  | ) |

Definition at line 861 of file target-descriptions.c.

References current_target_desc, and target_desc_fetched.

Referenced by gdbarch_update_p(), and set_gdbarch_from_file().

## ◆ target_desc_info_free()

void target_desc_info_free | ( | struct target_desc_info * | tdesc_info | ) |

Definition at line 751 of file target-descriptions.c.

References target_desc_info::filename, and xfree().

Referenced by inferior::~inferior().

## ◆ target_desc_info_from_user_p()

int target_desc_info_from_user_p | ( | struct target_desc_info * | info | ) |

Definition at line 730 of file target-descriptions.c.

References target_desc_info::filename.

Referenced by clone_inferior_command().

## ◆ target_find_description()

void target_find_description | ( | void |  | ) |

Definition at line 777 of file target-descriptions.c.

References _, tdesc_arch_data::arch_regs, current_target, current_target_desc, file_read_description_xml(), gdb_assert, gdbarch_info_init(), gdbarch_target_desc(), gdbarch_update_p(), gdbarch_info::target_desc, target_desc_fetched, target_description_filename, target_gdbarch(), target_read_description(), target_read_description_xml(), tdesc_data, tdesc_has_registers(), and warning().

Referenced by extended_remote_attach(), follow_exec(), post_create_inferior(), remote_start_remote(), set_tdesc_filename_cmd(), tfile_open(), and unset_tdesc_filename_cmd().

## ◆ tdesc_add_bitfield()

void tdesc_add_bitfield | ( | tdesc_type_with_fields * | type,
|  | const char * | field_name,
|  | int | start,
|  | int | end
| ) |  |

Definition at line 1560 of file target-descriptions.c.

References field_name(), gdb_assert, tdesc_add_typed_bitfield(), tdesc_predefined_type(), TDESC_TYPE_UINT32, and TDESC_TYPE_UINT64.

Referenced by create_feature_aarch64_core(), create_feature_i386_32bit_mpx(), create_feature_i386_64bit_mpx(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_or1k(), and tdesc_start_field().

## ◆ tdesc_add_compatible()

void tdesc_add_compatible | ( | struct target_desc * | target_desc,
|  | const struct bfd_arch_info * | compatible
| ) |  |

Definition at line 1633 of file target-descriptions.c.

References _, target_desc::compatible, and internal_error().

Referenced by initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), and tdesc_end_compatible().

## ◆ tdesc_add_enum_value()

void tdesc_add_enum_value | ( | tdesc_type_with_fields * | type,
|  | int | value,
|  | const char * | name
| ) |  |

Definition at line 1590 of file target-descriptions.c.

References gdb_assert, name, tdesc_predefined_type(), TDESC_TYPE_ENUM, and TDESC_TYPE_INT32.

Referenced by tdesc_start_enum_value().

## ◆ tdesc_add_field()

void tdesc_add_field | ( | tdesc_type_with_fields * | type,
|  | const char * | field_name,
|  | struct tdesc_type * | field_type
| ) |  |

Definition at line 1535 of file target-descriptions.c.

References field_name(), gdb_assert, TDESC_TYPE_STRUCT, and TDESC_TYPE_UNION.

Referenced by create_feature_aarch64_fpu(), create_feature_i386_32bit_mpx(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_mpx(), create_feature_i386_64bit_sse(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), and tdesc_start_field().

## ◆ tdesc_add_flag()

void tdesc_add_flag | ( | tdesc_type_with_fields * | type,
|  | int | start,
|  | const char * | flag_name
| ) |  |

Definition at line 1578 of file target-descriptions.c.

References gdb_assert, tdesc_predefined_type(), TDESC_TYPE_BOOL, TDESC_TYPE_FLAGS, and TDESC_TYPE_STRUCT.

Referenced by create_feature_aarch64_core(), create_feature_i386_32bit_core(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_core(), create_feature_i386_64bit_sse(), create_feature_i386_x32_core(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_or1k(), and tdesc_start_field().

## ◆ tdesc_add_typed_bitfield()

void tdesc_add_typed_bitfield | ( | tdesc_type_with_fields * | type,
|  | const char * | field_name,
|  | int | start,
|  | int | end,
|  | struct tdesc_type * | field_type
| ) |  |

Definition at line 1547 of file target-descriptions.c.

References field_name(), gdb_assert, TDESC_TYPE_FLAGS, and TDESC_TYPE_STRUCT.

Referenced by tdesc_add_bitfield(), and tdesc_start_field().

## ◆ tdesc_architecture()

const struct bfd_arch_info* tdesc_architecture | ( | const struct target_desc * | target_desc | ) |

Definition at line 907 of file target-descriptions.c.

References target_desc::arch.

Referenced by arc_gdbarch_init(), choose_architecture_for_target(), and print_c_tdesc::visit_pre().

## ◆ tdesc_compatible_p()

int tdesc_compatible_p | ( | const struct target_desc * | target_desc,
|  | const struct bfd_arch_info * | arch
| ) |  |

Definition at line 873 of file target-descriptions.c.

References target_desc::arch, and target_desc::compatible.

Referenced by choose_architecture_for_target(), and ppc_linux_init_abi().

## ◆ tdesc_create_enum()

tdesc_type_with_fields* tdesc_create_enum | ( | struct tdesc_feature * | feature,
|  | const char * | name,
|  | int | size
| ) |  |

Definition at line 1520 of file target-descriptions.c.

References gdb_assert, name, size, TDESC_TYPE_ENUM, type, and tdesc_feature::types.

Referenced by tdesc_start_enum().

## ◆ tdesc_create_feature()

struct tdesc_feature* tdesc_create_feature | ( | struct target_desc * | tdesc,
|  | const char * | name,
|  | const char * | xml
| ) |  |

Definition at line 1602 of file target-descriptions.c.

References target_desc::features, name, and tdesc_feature::tdesc_feature().

Referenced by create_feature_aarch64_core(), create_feature_aarch64_fpu(), create_feature_i386_32bit_avx(), create_feature_i386_32bit_avx512(), create_feature_i386_32bit_core(), create_feature_i386_32bit_linux(), create_feature_i386_32bit_mpx(), create_feature_i386_32bit_pkeys(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_core(), create_feature_i386_64bit_linux(), create_feature_i386_64bit_mpx(), create_feature_i386_64bit_pkeys(), create_feature_i386_64bit_segments(), create_feature_i386_64bit_sse(), create_feature_i386_x32_core(), create_feature_tic6x_c6xp(), create_feature_tic6x_core(), create_feature_tic6x_gp(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_arm_with_m(), initialize_tdesc_arm_with_m_fpa_layout(), initialize_tdesc_arm_with_m_vfp_d16(), initialize_tdesc_arm_with_neon(), initialize_tdesc_arm_with_vfpv2(), initialize_tdesc_arm_with_vfpv3(), initialize_tdesc_microblaze(), initialize_tdesc_microblaze_with_stack_protect(), initialize_tdesc_mips64_dsp_linux(), initialize_tdesc_mips64_linux(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_nds32(), initialize_tdesc_nios2(), initialize_tdesc_or1k(), initialize_tdesc_powerpc_32(), initialize_tdesc_powerpc_32l(), initialize_tdesc_powerpc_403(), initialize_tdesc_powerpc_403gc(), initialize_tdesc_powerpc_405(), initialize_tdesc_powerpc_505(), initialize_tdesc_powerpc_601(), initialize_tdesc_powerpc_602(), initialize_tdesc_powerpc_603(), initialize_tdesc_powerpc_604(), initialize_tdesc_powerpc_64(), initialize_tdesc_powerpc_64l(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_750(), initialize_tdesc_powerpc_860(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_e500(), initialize_tdesc_powerpc_e500l(), initialize_tdesc_powerpc_isa205_32l(), initialize_tdesc_powerpc_isa205_64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_rs6000(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_linux32(), initialize_tdesc_s390_linux32v1(), initialize_tdesc_s390_linux32v2(), initialize_tdesc_s390_linux64(), initialize_tdesc_s390_linux64v1(), initialize_tdesc_s390_linux64v2(), initialize_tdesc_s390_te_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_linux64(), initialize_tdesc_s390x_linux64v1(), initialize_tdesc_s390x_linux64v2(), initialize_tdesc_s390x_te_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), initialize_tdesc_sparc32_solaris(), initialize_tdesc_sparc64_solaris(), and tdesc_start_feature().

## ◆ tdesc_create_flags()

tdesc_type_with_fields* tdesc_create_flags | ( | struct tdesc_feature * | feature,
|  | const char * | name,
|  | int | size
| ) |  |

Definition at line 1507 of file target-descriptions.c.

References gdb_assert, name, size, TDESC_TYPE_FLAGS, type, and tdesc_feature::types.

Referenced by create_feature_aarch64_core(), create_feature_i386_32bit_core(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_core(), create_feature_i386_64bit_sse(), create_feature_i386_x32_core(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_or1k(), and tdesc_start_flags().

## ◆ tdesc_create_reg()

void tdesc_create_reg | ( | struct tdesc_feature * | feature,
|  | const char * | name,
|  | int | regnum,
|  | int | save_restore,
|  | const char * | group,
|  | int | bitsize,
|  | const char * | type
| ) |  |

Definition at line 1448 of file target-descriptions.c.

References name, tdesc_feature::registers, and regnum.

Referenced by create_feature_aarch64_core(), create_feature_aarch64_fpu(), create_feature_i386_32bit_avx(), create_feature_i386_32bit_avx512(), create_feature_i386_32bit_core(), create_feature_i386_32bit_linux(), create_feature_i386_32bit_mpx(), create_feature_i386_32bit_pkeys(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_core(), create_feature_i386_64bit_linux(), create_feature_i386_64bit_mpx(), create_feature_i386_64bit_pkeys(), create_feature_i386_64bit_segments(), create_feature_i386_64bit_sse(), create_feature_i386_x32_core(), create_feature_tic6x_c6xp(), create_feature_tic6x_core(), create_feature_tic6x_gp(), initialize_tdesc_arc_arcompact(), initialize_tdesc_arc_v2(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_arm_with_m(), initialize_tdesc_arm_with_m_fpa_layout(), initialize_tdesc_arm_with_m_vfp_d16(), initialize_tdesc_arm_with_neon(), initialize_tdesc_arm_with_vfpv2(), initialize_tdesc_arm_with_vfpv3(), initialize_tdesc_microblaze(), initialize_tdesc_microblaze_with_stack_protect(), initialize_tdesc_mips64_dsp_linux(), initialize_tdesc_mips64_linux(), initialize_tdesc_mips_dsp_linux(), initialize_tdesc_mips_linux(), initialize_tdesc_nds32(), initialize_tdesc_nios2(), initialize_tdesc_or1k(), initialize_tdesc_powerpc_32(), initialize_tdesc_powerpc_32l(), initialize_tdesc_powerpc_403(), initialize_tdesc_powerpc_403gc(), initialize_tdesc_powerpc_405(), initialize_tdesc_powerpc_505(), initialize_tdesc_powerpc_601(), initialize_tdesc_powerpc_602(), initialize_tdesc_powerpc_603(), initialize_tdesc_powerpc_604(), initialize_tdesc_powerpc_64(), initialize_tdesc_powerpc_64l(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_750(), initialize_tdesc_powerpc_860(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_e500(), initialize_tdesc_powerpc_e500l(), initialize_tdesc_powerpc_isa205_32l(), initialize_tdesc_powerpc_isa205_64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_rs6000(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_linux32(), initialize_tdesc_s390_linux32v1(), initialize_tdesc_s390_linux32v2(), initialize_tdesc_s390_linux64(), initialize_tdesc_s390_linux64v1(), initialize_tdesc_s390_linux64v2(), initialize_tdesc_s390_te_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_linux64(), initialize_tdesc_s390x_linux64v1(), initialize_tdesc_s390x_linux64v2(), initialize_tdesc_s390x_te_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), initialize_tdesc_sparc32_solaris(), initialize_tdesc_sparc64_solaris(), and tdesc_start_reg().

## ◆ tdesc_create_struct()

tdesc_type_with_fields* tdesc_create_struct | ( | struct tdesc_feature * | feature,
|  | const char * | name
| ) |  |

Definition at line 1473 of file target-descriptions.c.

References name, TDESC_TYPE_STRUCT, type, and tdesc_feature::types.

Referenced by create_feature_i386_32bit_mpx(), create_feature_i386_64bit_mpx(), and tdesc_start_struct().

## ◆ tdesc_create_union()

tdesc_type_with_fields* tdesc_create_union | ( | struct tdesc_feature * | feature,
|  | const char * | name
| ) |  |

Definition at line 1495 of file target-descriptions.c.

References name, TDESC_TYPE_UNION, type, and tdesc_feature::types.

Referenced by create_feature_aarch64_fpu(), create_feature_i386_32bit_mpx(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_mpx(), create_feature_i386_64bit_sse(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), and tdesc_start_union().

## ◆ tdesc_create_vector()

struct tdesc_type* tdesc_create_vector | ( | struct tdesc_feature * | feature,
|  | const char * | name,
|  | struct tdesc_type * | field_type,
|  | int | count
| ) |  |

Definition at line 1461 of file target-descriptions.c.

References name, type, and tdesc_feature::types.

Referenced by create_feature_aarch64_fpu(), create_feature_i386_32bit_avx512(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_sse(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), and tdesc_start_vector().

## ◆ tdesc_data_alloc()

struct tdesc_arch_data* tdesc_data_alloc | ( | void |  | ) |

Definition at line 1051 of file target-descriptions.c.

Referenced by aarch64_gdbarch_init(), arc_tdesc_init(), arm_gdbarch_init(), i386_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), nds32_gdbarch_init(), nios2_gdbarch_init(), or1k_gdbarch_init(), rs6000_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), and tic6x_gdbarch_init().

## ◆ tdesc_data_cleanup()

void tdesc_data_cleanup | ( | void * | data_untyped | ) |

Definition at line 1061 of file target-descriptions.c.

Referenced by aarch64_gdbarch_init(), arc_tdesc_init(), arm_gdbarch_init(), i386_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), nds32_gdbarch_init(), nios2_gdbarch_init(), or1k_gdbarch_init(), rs6000_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), and tic6x_gdbarch_init().

## ◆ tdesc_data_init()

static void* tdesc_data_init | ( | struct obstack * | obstack | ) |
| static

Definition at line 1037 of file target-descriptions.c.

References OBSTACK_ZALLOC.

Referenced by _initialize_target_descriptions().

## ◆ tdesc_feature_name()

const char* tdesc_feature_name | ( | const struct tdesc_feature * | feature | ) |

Definition at line 955 of file target-descriptions.c.

References tdesc_feature::name.

Referenced by arc_tdesc_init().

## ◆ tdesc_find_arch_register()

static struct tdesc_arch_reg* tdesc_find_arch_register | ( | struct gdbarch * | gdbarch,
|  | int | regno
| ) |  |
| static

Definition at line 1150 of file target-descriptions.c.

References tdesc_arch_data::arch_regs, and tdesc_data.

Referenced by tdesc_find_register(), and tdesc_register_type().

## ◆ tdesc_find_feature()

const struct tdesc_feature* tdesc_find_feature | ( | const struct target_desc * | target_desc,
|  | const char * | name
| ) |  |

Definition at line 942 of file target-descriptions.c.

References target_desc::features, and name.

Referenced by aarch64_gdbarch_init(), amd64_init_abi(), amd64_linux_init_abi(), amd64_x32_linux_init_abi(), arc_tdesc_init(), arm_gdbarch_init(), i386_linux_init_abi(), i386_mpx_enabled(), i386_validate_tdesc_p(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mips_linux_init_abi(), nds32_validate_tdesc_p(), nios2_gdbarch_init(), or1k_gdbarch_init(), ppc_linux_init_abi(), rs6000_gdbarch_init(), s390_gdbarch_init(), tic6x_gdbarch_init(), and validate_tdesc_registers().

## ◆ tdesc_find_register()

static struct tdesc_reg* tdesc_find_register | ( | struct gdbarch * | gdbarch,
|  | int | regno
| ) |  |
| static

Definition at line 1162 of file target-descriptions.c.

References tdesc_find_arch_register().

Referenced by tdesc_register_in_reggroup_p(), tdesc_register_name(), and tdesc_remote_register_number().

## ◆ tdesc_find_register_early()

static struct tdesc_reg* tdesc_find_register_early | ( | const struct tdesc_feature * | feature,
|  | const char * | name
| ) |  |
| static

Definition at line 1071 of file target-descriptions.c.

References reg::name, name, and tdesc_feature::registers.

Referenced by tdesc_numbered_register(), tdesc_register_size(), and tdesc_unnumbered_register().

## ◆ tdesc_find_type()

struct type* tdesc_find_type | ( | struct gdbarch * | gdbarch,
|  | const char * | id
| ) |  |

Definition at line 1015 of file target-descriptions.c.

References tdesc_arch_data::arch_regs, reg::name, and tdesc_data.

Referenced by i387_ext_type(), tdesc_type_builtin::make_gdb_type(), tdesc_type_vector::make_gdb_type(), tdesc_type_with_fields::make_gdb_type(), and s390_pseudo_register_type().

## ◆ tdesc_has_registers()

int tdesc_has_registers | ( | const struct target_desc * | target_desc | ) |

Definition at line 926 of file target-descriptions.c.

References target_desc::features.

Referenced by aarch64_gdbarch_init(), amd64_init_abi(), arc_tdesc_init(), arm_gdbarch_init(), arm_register_type(), i386_gdbarch_init(), i386_go32_init_abi(), i386_linux_init_abi(), i386_validate_tdesc_p(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mips_linux_restart_reg_p(), mips_register_name(), nds32_gdbarch_init(), nios2_gdbarch_init(), nios2_register_type(), or1k_gdbarch_init(), ppc_linux_trap_reg_p(), rs6000_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), sparc32_register_name(), sparc32_register_type(), sparc64_register_name(), sparc64_register_type(), target_find_description(), tdesc_use_registers(), tic6x_gdbarch_init(), and tic6x_register_name().

## ◆ tdesc_named_type()

struct tdesc_type* tdesc_named_type | ( | const struct tdesc_feature * | feature,
|  | const char * | id
| ) |  |

Definition at line 997 of file target-descriptions.c.

References name, tdesc_predefined_types, and tdesc_feature::types.

Referenced by create_feature_aarch64_fpu(), create_feature_i386_32bit_avx512(), create_feature_i386_32bit_mpx(), create_feature_i386_32bit_sse(), create_feature_i386_64bit_avx512(), create_feature_i386_64bit_mpx(), create_feature_i386_64bit_sse(), initialize_tdesc_arm_with_iwmmxt(), initialize_tdesc_powerpc_7400(), initialize_tdesc_powerpc_altivec32(), initialize_tdesc_powerpc_altivec32l(), initialize_tdesc_powerpc_altivec64(), initialize_tdesc_powerpc_altivec64l(), initialize_tdesc_powerpc_cell32l(), initialize_tdesc_powerpc_cell64l(), initialize_tdesc_powerpc_isa205_altivec32l(), initialize_tdesc_powerpc_isa205_altivec64l(), initialize_tdesc_powerpc_isa205_vsx32l(), initialize_tdesc_powerpc_isa205_vsx64l(), initialize_tdesc_powerpc_vsx32(), initialize_tdesc_powerpc_vsx32l(), initialize_tdesc_powerpc_vsx64(), initialize_tdesc_powerpc_vsx64l(), initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), tdesc_reg::tdesc_reg(), tdesc_start_field(), tdesc_start_reg(), and tdesc_start_vector().

## ◆ tdesc_numbered_register()

int tdesc_numbered_register | ( | const struct tdesc_feature * | feature,
|  | struct tdesc_arch_data * | data,
|  | int | regno,
|  | const char * | name
| ) |  |

Definition at line 1084 of file target-descriptions.c.

References tdesc_arch_data::arch_regs, name, and tdesc_find_register_early().

Referenced by aarch64_gdbarch_init(), amd64_init_abi(), amd64_linux_init_abi(), amd64_x32_linux_init_abi(), arc_tdesc_init(), arm_gdbarch_init(), i386_linux_init_abi(), i386_validate_tdesc_p(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mips_linux_init_abi(), nds32_validate_tdesc_p(), nios2_gdbarch_init(), or1k_gdbarch_init(), ppc_linux_init_abi(), rs6000_gdbarch_init(), s390_gdbarch_init(), tdesc_numbered_register_choices(), tic6x_gdbarch_init(), and validate_tdesc_registers().

## ◆ tdesc_numbered_register_choices()

int tdesc_numbered_register_choices | ( | const struct tdesc_feature * | feature,
|  | struct tdesc_arch_data * | data,
|  | int | regno,
|  | const char *const | names[]
| ) |  |

Definition at line 1121 of file target-descriptions.c.

References tdesc_numbered_register().

Referenced by arm_gdbarch_init(), and rs6000_gdbarch_init().

## ◆ tdesc_osabi()

enum gdb_osabi tdesc_osabi | ( | const struct target_desc * | target_desc | ) |

Definition at line 916 of file target-descriptions.c.

References target_desc::osabi.

Referenced by gdbarch_info_fill(), and print_c_tdesc::visit_pre().

## ◆ tdesc_predefined_type()

static struct tdesc_type* tdesc_predefined_type | ( | enum tdesc_type_kind | kind | ) |
| static

Definition at line 985 of file target-descriptions.c.

References gdb_assert_not_reached, tdesc_type::kind, and tdesc_predefined_types.

Referenced by tdesc_add_bitfield(), tdesc_add_enum_value(), and tdesc_add_flag().

## ◆ tdesc_property()

const char* tdesc_property | ( | const struct target_desc * | target_desc,
|  | const char * | key
| ) |  |

Definition at line 894 of file target-descriptions.c.

References property::key, target_desc::properties, and property::value.

Referenced by mips_gdbarch_init(), and set_tdesc_property().

## ◆ tdesc_register_in_reggroup_p()

int tdesc_register_in_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regno,
|  | struct reggroup * | reggroup
| ) |  |

Definition at line 1292 of file target-descriptions.c.

References reggroup_name(), restore_reggroup, save_reggroup, and tdesc_find_register().

Referenced by mips_tdesc_register_reggroup_p(), nds32_register_reggroup_p(), and tdesc_register_reggroup_p().

## ◆ tdesc_register_name()

const char* tdesc_register_name | ( | struct gdbarch * | gdbarch,
|  | int | regno
| ) |  |

Definition at line 1173 of file target-descriptions.c.

References gdb_assert, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), reg::name, tdesc_arch_data::pseudo_register_name, tdesc_data, and tdesc_find_register().

Referenced by i386_register_name(), mips_register_name(), nios2_register_name(), rs6000_register_name(), s390_register_name(), sparc32_register_name(), sparc64_register_name(), tdesc_use_registers(), and tic6x_register_name().

## ◆ tdesc_register_reggroup_p()

static int tdesc_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regno,
|  | struct reggroup * | reggroup
| ) |  |
| static

Definition at line 1313 of file target-descriptions.c.

References default_register_reggroup_p(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), tdesc_arch_data::pseudo_register_reggroup_p, tdesc_data, and tdesc_register_in_reggroup_p().

Referenced by tdesc_use_registers().

## ◆ tdesc_register_size()

int tdesc_register_size | ( | const struct tdesc_feature * | feature,
|  | const char * | name
| ) |  |

Definition at line 1138 of file target-descriptions.c.

References gdb_assert, name, and tdesc_find_register_early().

Referenced by rs6000_gdbarch_init().

## ◆ tdesc_register_type()

struct type* tdesc_register_type | ( | struct gdbarch * | gdbarch,
|  | int | regno
| ) |  |

Definition at line 1195 of file target-descriptions.c.

References _, builtin_type::builtin_char, builtin_type::builtin_data_ptr, builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type::builtin_int0, builtin_type::builtin_long, builtin_type::builtin_long_double, builtin_type::builtin_long_long, builtin_type::builtin_short, builtin_type(), gdb_assert, gdbarch_double_bit(), gdbarch_float_bit(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_long_double_bit(), gdbarch_long_long_bit(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_ptr_bit(), gdbarch_short_bit(), internal_error(), reg::name, tdesc_arch_data::pseudo_register_type, tdesc_arch_reg::reg, TARGET_CHAR_BIT, tdesc_data, tdesc_find_arch_register(), tdesc_arch_reg::type, and warning().

Referenced by arm_register_type(), nios2_register_type(), sparc32_register_type(), sparc64_register_type(), and tdesc_use_registers().

## ◆ tdesc_remote_register_number()

static int tdesc_remote_register_number | ( | struct gdbarch * | gdbarch,
|  | int | regno
| ) |  |
| static

Definition at line 1270 of file target-descriptions.c.

References tdesc_find_register().

Referenced by tdesc_use_registers().

## ◆ tdesc_set_struct_size()

void tdesc_set_struct_size | ( | tdesc_type_with_fields * | type,
|  | int | size
| ) |  |

Definition at line 1485 of file target-descriptions.c.

References gdb_assert, size, and TDESC_TYPE_STRUCT.

Referenced by create_feature_i386_32bit_mpx(), create_feature_i386_64bit_mpx(), and tdesc_start_struct().

## ◆ tdesc_unnumbered_register()

int tdesc_unnumbered_register | ( | const struct tdesc_feature * | feature,
|  | const char * | name
| ) |  |

Definition at line 1106 of file target-descriptions.c.

References name, and tdesc_find_register_early().

Referenced by arm_gdbarch_init(), nds32_validate_tdesc_p(), and s390_gdbarch_init().

## ◆ tdesc_use_registers()

void tdesc_use_registers | ( | struct gdbarch * | gdbarch,
|  | const struct target_desc * | target_desc,
|  | struct tdesc_arch_data * | early_data
| ) |  |

Definition at line 1374 of file target-descriptions.c.

References tdesc_arch_data::arch_regs, target_desc::features, gdb_assert, gdbarch_num_regs(), tdesc_arch_reg::reg, reggroup_add(), reggroup_find(), reggroup_gdbarch_new(), set_gdbarch_num_regs(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_type(), set_gdbarch_remote_register_number(), tdesc_data, tdesc_has_registers(), tdesc_register_name(), tdesc_register_reggroup_p(), tdesc_register_type(), tdesc_remote_register_number(), and USER_REGGROUP.

Referenced by aarch64_gdbarch_init(), arc_gdbarch_init(), arm_gdbarch_init(), i386_gdbarch_init(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), nds32_gdbarch_init(), nios2_gdbarch_init(), or1k_gdbarch_init(), rs6000_gdbarch_init(), s390_gdbarch_init(), sparc32_gdbarch_init(), and tic6x_gdbarch_init().

## ◆ unset_tdesc_cmd()

static void unset_tdesc_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1714 of file target-descriptions.c.

References all_commands, gdb_stdout, help_list(), and tdesc_unset_cmdlist.

Referenced by _initialize_target_descriptions().

## ◆ unset_tdesc_filename_cmd()

static void unset_tdesc_filename_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 1746 of file target-descriptions.c.

References target_clear_description(), target_description_filename, target_find_description(), and xfree().

Referenced by _initialize_target_descriptions().

## Variable Documentation

## ◆ tdesc_data

struct gdbarch_data* tdesc_data
| static

Definition at line 725 of file target-descriptions.c.

Referenced by _initialize_target_descriptions(), aarch64_gdbarch_init(), amd64_linux_init_abi(), amd64_x32_linux_init_abi(), arc_gdbarch_init(), arc_tdesc_init(), arm_gdbarch_init(), i386_gdbarch_init(), i386_linux_init_abi(), i386_validate_tdesc_p(), m68k_gdbarch_init(), microblaze_gdbarch_init(), mips_gdbarch_init(), mips_linux_init_abi(), nds32_gdbarch_init(), nds32_validate_tdesc_p(), nios2_gdbarch_init(), or1k_gdbarch_init(), ppc_linux_init_abi(), rs6000_gdbarch_init(), s390_gdbarch_init(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_reggroup_p(), set_tdesc_pseudo_register_type(), sparc32_gdbarch_init(), target_find_description(), tdesc_find_arch_register(), tdesc_find_type(), tdesc_register_name(), tdesc_register_reggroup_p(), tdesc_register_type(), tdesc_use_registers(), tic6x_gdbarch_init(), and validate_tdesc_registers().

## ◆ tdesc_filename_cmd_string

char* tdesc_filename_cmd_string
| static

Definition at line 771 of file target-descriptions.c.

Referenced by _initialize_target_descriptions(), and set_tdesc_filename_cmd().

## ◆ tdesc_predefined_types

tdesc_type_builtin tdesc_predefined_types[]
| static

Initial value:
=
{
{ "bool", TDESC_TYPE_BOOL },
{ "int8", TDESC_TYPE_INT8 },
{ "int16", TDESC_TYPE_INT16 },
{ "int32", TDESC_TYPE_INT32 },
{ "int64", TDESC_TYPE_INT64 },
{ "int128", TDESC_TYPE_INT128 },
{ "uint8", TDESC_TYPE_UINT8 },
{ "uint16", TDESC_TYPE_UINT16 },
{ "uint32", TDESC_TYPE_UINT32 },
{ "uint64", TDESC_TYPE_UINT64 },
{ "uint128", TDESC_TYPE_UINT128 },
{ "code_ptr", TDESC_TYPE_CODE_PTR },
{ "data_ptr", TDESC_TYPE_DATA_PTR },
{ "ieee_single", TDESC_TYPE_IEEE_SINGLE },
{ "ieee_double", TDESC_TYPE_IEEE_DOUBLE },
{ "arm_fpa_ext", TDESC_TYPE_ARM_FPA_EXT },
{ "i387_ext", TDESC_TYPE_I387_EXT }
}
TDESC_TYPE_BOOL
Definition: target-descriptions.c:175
TDESC_TYPE_INT8
Definition: target-descriptions.c:176
TDESC_TYPE_UINT128
Definition: target-descriptions.c:185
TDESC_TYPE_UINT64
Definition: target-descriptions.c:184
TDESC_TYPE_I387_EXT
Definition: target-descriptions.c:191
TDESC_TYPE_INT128
Definition: target-descriptions.c:180
TDESC_TYPE_IEEE_SINGLE
Definition: target-descriptions.c:188
TDESC_TYPE_UINT16
Definition: target-descriptions.c:182
TDESC_TYPE_IEEE_DOUBLE
Definition: target-descriptions.c:189
TDESC_TYPE_DATA_PTR
Definition: target-descriptions.c:187
TDESC_TYPE_CODE_PTR
Definition: target-descriptions.c:186
TDESC_TYPE_ARM_FPA_EXT
Definition: target-descriptions.c:190
TDESC_TYPE_INT64
Definition: target-descriptions.c:179
TDESC_TYPE_INT16
Definition: target-descriptions.c:177
TDESC_TYPE_UINT32
Definition: target-descriptions.c:183
TDESC_TYPE_INT32
Definition: target-descriptions.c:178
TDESC_TYPE_UINT8
Definition: target-descriptions.c:181

Definition at line 961 of file target-descriptions.c.

Referenced by tdesc_named_type(), and tdesc_predefined_type().

## ◆ tdesc_set_cmdlist

struct cmd_list_element* tdesc_set_cmdlist
| static

Definition at line 1696 of file target-descriptions.c.

Referenced by _initialize_target_descriptions(), and set_tdesc_cmd().

## ◆ tdesc_show_cmdlist

struct cmd_list_element * tdesc_show_cmdlist
| static

Definition at line 1696 of file target-descriptions.c.

Referenced by _initialize_target_descriptions(), and show_tdesc_cmd().

## ◆ tdesc_unset_cmdlist

struct cmd_list_element* tdesc_unset_cmdlist
| static

Definition at line 1697 of file target-descriptions.c.

Referenced by _initialize_target_descriptions(), and unset_tdesc_cmd().