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.
This commit is contained in:
Pedro Alves 2009-07-20 18:51:42 +00:00
parent a156a29064
commit 08d1664121
15 changed files with 175 additions and 13 deletions

View file

@ -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>