+2010-02-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * target-descriptions.c: Include "osabi.h".
+       (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid
+       OSABI.
+
 2010-02-04  Tristan Gingold  <gingold@adacore.com>
 
        * machoread.c (macho_add_oso): Renamed to macho_register_oso.
 
 #include "vec.h"
 #include "xml-support.h"
 #include "xml-tdesc.h"
+#include "osabi.h"
 
 #include "gdb_assert.h"
 #include "gdb_obstack.h"
   printf_unfiltered ("/* THIS FILE IS GENERATED.  Original: %s */\n\n",
                     filename);
   printf_unfiltered ("#include \"defs.h\"\n");
+  printf_unfiltered ("#include \"osabi.h\"\n");
   printf_unfiltered ("#include \"target-descriptions.h\"\n");
   printf_unfiltered ("\n");
 
       printf_unfiltered ("\n");
     }
 
+  if (tdesc_osabi (tdesc) > GDB_OSABI_UNKNOWN
+      && tdesc_osabi (tdesc) < GDB_OSABI_INVALID)
+    {
+      printf_unfiltered
+       ("  set_tdesc_osabi (result, osabi_from_tdesc_string (\"%s\"));\n",
+        gdbarch_osabi_name (tdesc_osabi (tdesc)));
+      printf_unfiltered ("\n");
+    }
+
   for (ix = 0; VEC_iterate (arch_p, tdesc->compatible, ix, compatible);
        ix++)
     {