summaryrefslogtreecommitdiff
path: root/gdb/target-descriptions.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-07-20 18:51:42 +0000
committerPedro Alves <palves@redhat.com>2009-07-20 18:51:42 +0000
commit08d1664121e7855d2477854ff1473e82d1731044 (patch)
treee7c913ae91c6d24a95ecc2994a4e6e711da41bab /gdb/target-descriptions.h
parenta156a290642281359c8dc0c949fdd942826455a1 (diff)
2009-07-20 Pedro Alves <pedro@codesourcery.com>
* features/gdb-target.dtd (target): Accept an optional 'osabi' element. (osabi): Define element. * features/mips-linux.xml (target): Add an osabi subelement set to GNU/Linux. * regformats/regdat.sh (xmlarch, xmlosabi): New variables. Don't write the architecture into $xmltarget. Store it in $xmlarch. Handle the 'osabi' type. Handle outputting the osabi element of the target description. * regformats/reg-x86-64-linux.dat (osabi): Set to GNU/Linux. * regformats/reg-i386-linux.dat (osabi): Set to GNU/Linux. * target-descriptions.h (tdesc_osabi, set_tdesc_osabi): Declare. * target-descriptions.c (struct target_desc) <osabi>: New field. (tdesc_osabi): New function. (set_tdesc_osabi): New function. * xml-tdesc.c: Include osabi.h. (tdesc_end_osabi): New. (target_children): Parse "osabi" elements. * arch-utils.c (gdbarch_info_fill): Try to get the osabi from the target description if the user didn't override it or it is not extractable from the bfd. If that still fails, fallback to the configured in default. * osabi.h (osabi_from_tdesc_string): Declare. * osabi.c (osabi_from_tdesc_string): New. (gdbarch_lookup_osabi): Return GDB_OSABI_UNKNOWN instead of GDB_OSABI_DEFAULT. * NEWS: Mention that target descriptions can now describe the target OS ABI. 2009-07-20 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Target Description Format): Mention the new <osabi> optional element. (subsection OS ABI): New subsection.
Diffstat (limited to 'gdb/target-descriptions.h')
-rw-r--r--gdb/target-descriptions.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/target-descriptions.h b/gdb/target-descriptions.h
index e6842d70c9..6553fc3440 100644
--- a/gdb/target-descriptions.h
+++ b/gdb/target-descriptions.h
@@ -123,6 +123,11 @@ int tdesc_numbered_register_choices (const struct tdesc_feature *feature,
const struct bfd_arch_info *tdesc_architecture
(const struct target_desc *);
+/* Return the OSABI associated with this target description, or
+ GDB_OSABI_UNKNOWN if no osabi was specified. */
+
+enum gdb_osabi tdesc_osabi (const struct target_desc *);
+
/* Return the string value of a property named KEY, or NULL if the
property was not specified. */
@@ -167,6 +172,7 @@ 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 *);
+void set_tdesc_osabi (struct target_desc *, enum gdb_osabi osabi);
void set_tdesc_property (struct target_desc *,
const char *key, const char *value);