X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftarget-descriptions.h;h=96290b7d97ea27776b675224cb397b4dc680c4e0;hb=326b0c1289f97a25f3846f1d1d8d32811bbd1789;hp=3b191bc28e8736bf65f3b1f0b884af706c6e6e06;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target-descriptions.h b/gdb/target-descriptions.h index 3b191bc28e..96290b7d97 100644 --- a/gdb/target-descriptions.h +++ b/gdb/target-descriptions.h @@ -1,6 +1,6 @@ /* Target description support for GDB. - Copyright (C) 2006-2014 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. Contributed by CodeSourcery. @@ -21,14 +21,10 @@ #ifndef TARGET_DESCRIPTIONS_H #define TARGET_DESCRIPTIONS_H 1 +#include "common/tdesc.h" -struct tdesc_feature; struct tdesc_arch_data; -struct tdesc_type; -struct tdesc_reg; -struct target_desc; struct target_ops; -struct target_desc; /* An inferior's target description info is stored in this opaque object. There's one such object per inferior. */ struct target_desc_info; @@ -129,8 +125,8 @@ int tdesc_unnumbered_register (const struct tdesc_feature *feature, /* Search FEATURE for a register named NAME, and return its size in bits. The register must exist. */ -int tdesc_register_size (const struct tdesc_feature *feature, - const char *name); +int tdesc_register_bitsize (const struct tdesc_feature *feature, + const char *name); /* Search FEATURE for a register with any of the names from NAMES (NULL-terminated). Record REGNO and the register in DATA; when @@ -182,12 +178,6 @@ const struct tdesc_feature *tdesc_find_feature (const struct target_desc *, const char *tdesc_feature_name (const struct tdesc_feature *feature); -/* Return the type associated with ID in the context of FEATURE, or - NULL if none. */ - -struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature, - const char *id); - /* Return the name of register REGNO, from the target description or from an architecture-provided pseudo_register_name method. */ @@ -211,7 +201,6 @@ int tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno, /* Methods for constructing a target description. */ -struct target_desc *allocate_target_description (void); struct cleanup *make_cleanup_free_target_description (struct target_desc *); void set_tdesc_architecture (struct target_desc *, const struct bfd_arch_info *); @@ -221,28 +210,16 @@ void set_tdesc_property (struct target_desc *, void tdesc_add_compatible (struct target_desc *, const struct bfd_arch_info *); -struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc, - const char *name); -struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature, - const char *name, - struct tdesc_type *field_type, - int count); -struct tdesc_type *tdesc_create_struct (struct tdesc_feature *feature, - const char *name); -void tdesc_set_struct_size (struct tdesc_type *type, LONGEST size); -struct tdesc_type *tdesc_create_union (struct tdesc_feature *feature, - const char *name); -struct tdesc_type *tdesc_create_flags (struct tdesc_feature *feature, - const char *name, - LONGEST size); -void tdesc_add_field (struct tdesc_type *type, const char *field_name, - struct tdesc_type *field_type); -void tdesc_add_bitfield (struct tdesc_type *type, const char *field_name, - int start, int end); -void tdesc_add_flag (struct tdesc_type *type, int start, - const char *flag_name); -void tdesc_create_reg (struct tdesc_feature *feature, const char *name, - int regnum, int save_restore, const char *group, - int bitsize, const char *type); +#if GDB_SELF_TEST +namespace selftests { + +/* Record that XML_FILE should generate a target description that equals + TDESC, to be verified by the "maintenance check xml-descriptions" + command. This function takes ownership of TDESC. */ + +void record_xml_tdesc (const char *xml_file, + const struct target_desc *tdesc); +} +#endif #endif /* TARGET_DESCRIPTIONS_H */