Add org.gnu.gdb.i386.avx.
[deliverable/binutils-gdb.git] / sim / common / gentmap.c
index 12804e2deb7d1e552876659c73415d34a7db4d83..a4d37134c9897f76fb01484011f67dc088e4616e 100644 (file)
@@ -1,12 +1,20 @@
 /* Generate targ-vals.h and targ-map.c.  */
 
 #include <stdio.h>
+#include <stdlib.h>
 
 struct tdefs {
   char *symbol;
   int value;
 };
 
+static struct tdefs sys_tdefs[] = {
+#define sys_defs
+#include "targ-vals.def"
+#undef sys_defs
+  { 0, 0 }
+};
+
 static struct tdefs errno_tdefs[] =  {
 #define errno_defs
 #include "targ-vals.def"
@@ -32,6 +40,11 @@ gen_targ_vals_h ()
   printf ("#ifndef TARG_VALS_H\n");
   printf ("#define TARG_VALS_H\n\n");
 
+  printf ("/* syscall values */\n");
+  for (t = &sys_tdefs[0]; t->symbol; ++t)
+    printf ("#define TARGET_%s %d\n", t->symbol, t->value);
+  printf ("\n");
+
   printf ("/* errno values */\n");
   for (t = &errno_tdefs[0]; t->symbol; ++t)
     printf ("#define TARGET_%s %d\n", t->symbol, t->value);
@@ -56,12 +69,23 @@ gen_targ_map_c ()
   printf ("#include <errno.h>\n");
   printf ("#include <fcntl.h>\n");
   printf ("#include \"ansidecl.h\"\n");
-  printf ("#include \"callback.h\"\n");
+  printf ("#include \"gdb/callback.h\"\n");
   printf ("#include \"targ-vals.h\"\n");
   printf ("\n");
 
+  printf ("/* syscall mapping table */\n");
+  printf ("CB_TARGET_DEFS_MAP cb_init_syscall_map[] = {\n");
+  for (t = &sys_tdefs[0]; t->symbol; ++t)
+    {
+      printf ("#ifdef CB_%s\n", t->symbol);
+      printf ("  { CB_%s, TARGET_%s },\n", t->symbol, t->symbol);
+      printf ("#endif\n");
+    }
+  printf ("  { -1, -1 }\n");
+  printf ("};\n\n");
+
   printf ("/* errno mapping table */\n");
-  printf ("target_defs_map errno_map[] = {\n");
+  printf ("CB_TARGET_DEFS_MAP cb_init_errno_map[] = {\n");
   for (t = &errno_tdefs[0]; t->symbol; ++t)
     {
       printf ("#ifdef %s\n", t->symbol);
@@ -72,7 +96,7 @@ gen_targ_map_c ()
   printf ("};\n\n");
 
   printf ("/* open flags mapping table */\n");
-  printf ("target_defs_map open_map[] = {\n");
+  printf ("CB_TARGET_DEFS_MAP cb_init_open_map[] = {\n");
   for (t = &open_tdefs[0]; t->symbol; ++t)
     {
       printf ("#ifdef %s\n", t->symbol);
This page took 0.023515 seconds and 4 git commands to generate.