aboutsummaryrefslogtreecommitdiff
path: root/gdb/features
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/features
parenta156a290642281359c8dc0c949fdd942826455a1 (diff)
downloadgdb-08d1664121e7855d2477854ff1473e82d1731044.zip
gdb-08d1664121e7855d2477854ff1473e82d1731044.tar.gz
gdb-08d1664121e7855d2477854ff1473e82d1731044.tar.bz2
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/features')
-rw-r--r--gdb/features/gdb-target.dtd7
-rw-r--r--gdb/features/mips-linux.xml1
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/features/gdb-target.dtd b/gdb/features/gdb-target.dtd
index 2b195de..ff5d3d5 100644
--- a/gdb/features/gdb-target.dtd
+++ b/gdb/features/gdb-target.dtd
@@ -6,12 +6,17 @@
<!-- The root element of a GDB target description is <target>. -->
-<!ELEMENT target (architecture?, feature*)>
+<!-- The osabi element was added post GDB 6.8. The version wasn't
+ bumped, since older GDBs silently ignore unknown elements. -->
+
+<!ELEMENT target (architecture?, osabi?, feature*)>
<!ATTLIST target
version CDATA #FIXED "1.0">
<!ELEMENT architecture (#PCDATA)>
+<!ELEMENT osabi (#PCDATA)>
+
<!ELEMENT feature ((vector | union)*, reg*)>
<!ATTLIST feature
name ID #REQUIRED>
diff --git a/gdb/features/mips-linux.xml b/gdb/features/mips-linux.xml
index 274f3d9..9772c82 100644
--- a/gdb/features/mips-linux.xml
+++ b/gdb/features/mips-linux.xml
@@ -8,6 +8,7 @@
<!DOCTYPE target SYSTEM "gdb-target.dtd">
<target>
<architecture>mips</architecture>
+ <osabi>GNU/Linux</osabi>
<xi:include href="mips-cpu.xml"/>
<xi:include href="mips-cp0.xml"/>
<xi:include href="mips-fpu.xml"/>