GDB (xrefs)
Classes | Typedefs | Functions | Variables
/tmp/gdb-7.10/gdb/xml-tdesc.c File Reference
#include "defs.h"
#include "target.h"
#include "target-descriptions.h"
#include "xml-support.h"
#include "xml-tdesc.h"
#include "osabi.h"
#include "filenames.h"

Go to the source code of this file.

Classes

struct  tdesc_xml_cache
 

Typedefs

typedef struct tdesc_xml_cache tdesc_xml_cache_s
 

Functions

 DEF_VEC_O (tdesc_xml_cache_s)
 
static VEC (tdesc_xml_cache_s)
 
static void tdesc_end_arch (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
 
static void tdesc_end_osabi (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
 
static void tdesc_end_compatible (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
 
static void tdesc_start_target (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_feature (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_reg (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_union (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_struct (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_flags (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_field (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static void tdesc_start_vector (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
 
static struct target_desctdesc_parse_xml (const char *document, xml_fetch_another fetcher, void *fetcher_baton)
 
const struct target_descfile_read_description_xml (const char *filename)
 
static char * fetch_available_features_from_target (const char *name, void *baton_)
 
const struct target_desctarget_read_description_xml (struct target_ops *ops)
 

Variables

static const struct gdb_xml_attribute field_attributes []
 
static const struct gdb_xml_element struct_union_children []
 
static const struct gdb_xml_attribute reg_attributes []
 
static const struct gdb_xml_attribute struct_union_attributes []
 
static const struct gdb_xml_attribute flags_attributes []
 
static const struct gdb_xml_attribute vector_attributes []
 
static const struct gdb_xml_attribute feature_attributes []
 
static const struct gdb_xml_element feature_children []
 
static const struct gdb_xml_attribute target_attributes []
 
static const struct gdb_xml_element target_children []
 
static const struct gdb_xml_element tdesc_elements []
 

Typedef Documentation

Definition at line 67 of file xml-tdesc.c.

Function Documentation

DEF_VEC_O ( tdesc_xml_cache_s  )
static char* fetch_available_features_from_target ( const char *  name,
void *  baton_ 
)
static

Definition at line 599 of file xml-tdesc.c.

References TARGET_OBJECT_AVAILABLE_FEATURES, and target_read_stralloc().

Referenced by target_read_description_xml().

const struct target_desc* file_read_description_xml ( const char *  filename)
const struct target_desc* target_read_description_xml ( struct target_ops ops)
static void tdesc_end_arch ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
const char *  body_text 
)
static

Definition at line 100 of file xml-tdesc.c.

References _, gdb_xml_error(), and set_tdesc_architecture().

static void tdesc_end_compatible ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
const char *  body_text 
)
static

Definition at line 135 of file xml-tdesc.c.

References tdesc_add_compatible().

static void tdesc_end_osabi ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
const char *  body_text 
)
static

Definition at line 117 of file xml-tdesc.c.

References _, GDB_OSABI_UNKNOWN, osabi_from_tdesc_string(), set_tdesc_osabi(), and warning().

static struct target_desc* tdesc_parse_xml ( const char *  document,
xml_fetch_another  fetcher,
void *  fetcher_baton 
)
static
static void tdesc_start_feature ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static

Definition at line 164 of file xml-tdesc.c.

References name, tdesc_create_feature(), gdb_xml_value::value, and xml_find_attribute().

static void tdesc_start_field ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static
static void tdesc_start_flags ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static

Definition at line 270 of file xml-tdesc.c.

References int, tdesc_create_flags(), type, gdb_xml_value::value, and xml_find_attribute().

static void tdesc_start_reg ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static
static void tdesc_start_struct ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static
static void tdesc_start_target ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static

Definition at line 149 of file xml-tdesc.c.

References _, gdb_xml_error(), gdb_xml_value::value, version, and xml_find_attribute().

static void tdesc_start_union ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static

Definition at line 229 of file xml-tdesc.c.

References tdesc_create_union(), gdb_xml_value::value, and xml_find_attribute().

static void tdesc_start_vector ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
VEC(gdb_xml_value_s)*  attributes 
)
static
static VEC ( tdesc_xml_cache_s  )
static

Definition at line 70 of file xml-tdesc.c.

References current_type.

Variable Documentation

const struct gdb_xml_attribute feature_attributes[]
static
Initial value:
= {
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}

Definition at line 452 of file xml-tdesc.c.

const struct gdb_xml_element feature_children[]
static
Initial value:
= {
{ "reg", reg_attributes, NULL,
tdesc_start_reg, NULL },
{ "vector", vector_attributes, NULL,
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static const struct gdb_xml_attribute vector_attributes[]
Definition: xml-tdesc.c:445
static const struct gdb_xml_attribute reg_attributes[]
Definition: xml-tdesc.c:422
static void tdesc_start_struct(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:245
static void tdesc_start_reg(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:178
static void tdesc_start_flags(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:270
static const struct gdb_xml_attribute flags_attributes[]
Definition: xml-tdesc.c:439
static const struct gdb_xml_attribute struct_union_attributes[]
Definition: xml-tdesc.c:433
static void tdesc_start_union(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:229
static const struct gdb_xml_element struct_union_children[]
Definition: xml-tdesc.c:416
static void tdesc_start_vector(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:384

Definition at line 457 of file xml-tdesc.c.

const struct gdb_xml_attribute field_attributes[]
static
Initial value:
= {
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ "type", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 408 of file xml-tdesc.c.

const struct gdb_xml_attribute flags_attributes[]
static
Initial value:
= {
{ "id", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 439 of file xml-tdesc.c.

const struct gdb_xml_attribute reg_attributes[]
static
Initial value:
= {
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ "type", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ "group", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ "save-restore", GDB_XML_AF_OPTIONAL,
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_enum
const struct gdb_xml_enum gdb_xml_enums_boolean[]
Definition: xml-support.c:676
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 422 of file xml-tdesc.c.

const struct gdb_xml_attribute struct_union_attributes[]
static
Initial value:
= {
{ "id", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 433 of file xml-tdesc.c.

const struct gdb_xml_element struct_union_children[]
static
Initial value:
= {
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static const struct gdb_xml_attribute field_attributes[]
Definition: xml-tdesc.c:408
static void tdesc_start_field(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:291

Definition at line 416 of file xml-tdesc.c.

const struct gdb_xml_attribute target_attributes[]
static
Initial value:
= {
{ "version", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}

Definition at line 476 of file xml-tdesc.c.

const struct gdb_xml_element target_children[]
static
Initial value:
= {
{ "architecture", NULL, NULL, GDB_XML_EF_OPTIONAL,
NULL, tdesc_end_arch },
{ "osabi", NULL, NULL, GDB_XML_EF_OPTIONAL,
NULL, tdesc_end_osabi },
{ "compatible", NULL, NULL, GDB_XML_EF_OPTIONAL | GDB_XML_EF_REPEATABLE,
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static void tdesc_end_osabi(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
Definition: xml-tdesc.c:117
static const struct gdb_xml_attribute feature_attributes[]
Definition: xml-tdesc.c:452
static void tdesc_start_feature(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:164
static const struct gdb_xml_element feature_children[]
Definition: xml-tdesc.c:457
static void tdesc_end_arch(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
Definition: xml-tdesc.c:100
static void tdesc_end_compatible(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
Definition: xml-tdesc.c:135

Definition at line 481 of file xml-tdesc.c.

const struct gdb_xml_element tdesc_elements[]
static
Initial value:
= {
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static void tdesc_start_target(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, VEC(gdb_xml_value_s)*attributes)
Definition: xml-tdesc.c:149
static const struct gdb_xml_attribute target_attributes[]
Definition: xml-tdesc.c:476
static const struct gdb_xml_element target_children[]
Definition: xml-tdesc.c:481

Definition at line 494 of file xml-tdesc.c.

const struct gdb_xml_attribute vector_attributes[]
static
Initial value:
= {
{ "id", GDB_XML_AF_NONE, NULL, NULL },
{ "type", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest

Definition at line 445 of file xml-tdesc.c.