2009-07-20 Pedro Alves <pedro@codesourcery.com>
authorPedro Alves <palves@redhat.com>
Mon, 20 Jul 2009 18:51:42 +0000 (18:51 +0000)
committerPedro Alves <palves@redhat.com>
Mon, 20 Jul 2009 18:51:42 +0000 (18:51 +0000)
commit08d1664121e7855d2477854ff1473e82d1731044
treee7c913ae91c6d24a95ecc2994a4e6e711da41bab
parenta156a290642281359c8dc0c949fdd942826455a1
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.
15 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/arch-utils.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/features/gdb-target.dtd
gdb/features/mips-linux.xml
gdb/osabi.c
gdb/osabi.h
gdb/regformats/reg-i386-linux.dat
gdb/regformats/reg-x86-64-linux.dat
gdb/regformats/regdat.sh
gdb/target-descriptions.c
gdb/target-descriptions.h
gdb/xml-tdesc.c