Code Search for Developers
 
 
  

gentmap.c from Gdb at Krugle


Show gentmap.c syntax highlighted

/* 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"
#undef errno_defs
  { 0, 0 }
};

static struct tdefs open_tdefs[] = {
#define open_defs
#include "targ-vals.def"
#undef open_defs
  { 0, 0 }
};

static void
gen_targ_vals_h ()
{
  struct tdefs *t;

  printf ("/* Target header values needed by the simulator and gdb.  */\n");
  printf ("/* This file is machine generated by gentmap.c.  */\n\n");

  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);
  printf ("\n");

  printf ("/* open flag values */\n");
  for (t = &open_tdefs[0]; t->symbol; ++t)
    printf ("#define TARGET_%s 0x%x\n", t->symbol, t->value);
  printf ("\n");

  printf ("#endif /* TARG_VALS_H */\n");
}

static void
gen_targ_map_c ()
{
  struct tdefs *t;

  printf ("/* Target value mapping utilities needed by the simulator and gdb.  */\n");
  printf ("/* This file is machine generated by gentmap.c.  */\n\n");

  printf ("#include <errno.h>\n");
  printf ("#include <fcntl.h>\n");
  printf ("#include \"ansidecl.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 ("CB_TARGET_DEFS_MAP cb_init_errno_map[] = {\n");
  for (t = &errno_tdefs[0]; t->symbol; ++t)
    {
      printf ("#ifdef %s\n", t->symbol);
      printf ("  { %s, TARGET_%s },\n", t->symbol, t->symbol);
      printf ("#endif\n");
    }
  printf ("  { 0, 0 }\n");
  printf ("};\n\n");

  printf ("/* open flags mapping table */\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);
      printf ("  { %s, TARGET_%s },\n", t->symbol, t->symbol);
      printf ("#endif\n");
    }
  printf ("  { -1, -1 }\n");
  printf ("};\n\n");
}

int
main (argc, argv)
     int argc;
     char *argv[];
{
  if (argc != 2)
    abort ();

  if (strcmp (argv[1], "-h") == 0)
    gen_targ_vals_h ();
  else if (strcmp (argv[1], "-c") == 0)
    gen_targ_map_c ();
  else
    abort ();

  exit (0);
}




See more files for this project here

Gdb

GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed.

Project homepage: http://sources.redhat.com/gdb/
Programming language(s): Assembly,C,C++,Expect
License: other

  ChangeLog
  Make-common.in
  Makefile.in
  aclocal.m4
  callback.c
  cgen-accfp.c
  cgen-cpu.h
  cgen-defs.h
  cgen-engine.h
  cgen-fpu.c
  cgen-fpu.h
  cgen-mem.h
  cgen-ops.h
  cgen-par.c
  cgen-par.h
  cgen-run.c
  cgen-scache.c
  cgen-scache.h
  cgen-sim.h
  cgen-trace.c
  cgen-trace.h
  cgen-types.h
  cgen-utils.c
  cgen.sh
  common.m4
  config.in
  configure
  configure.ac
  dv-core.c
  dv-glue.c
  dv-pal.c
  dv-sockser.c
  dv-sockser.h
  gdbinit.in
  genmloop.sh
  gennltvals.sh
  gentmap.c
  gentvals.sh
  hw-alloc.c
  hw-alloc.h
  hw-base.c
  hw-base.h
  hw-device.c
  hw-device.h
  hw-events.c
  hw-events.h
  hw-handles.c
  hw-handles.h
  hw-instances.c
  hw-instances.h
  hw-main.h
  hw-ports.c
  hw-ports.h
  hw-properties.c
  hw-properties.h
  hw-tree.c
  hw-tree.h
  nltvals.def
  nrun.c
  run-sim.h
  run.1
  run.c
  sim-abort.c
  sim-alu.h
  sim-arange.c
  sim-arange.h
  sim-assert.h
  sim-base.h
  sim-basics.h
  sim-bits.c
  sim-bits.h
  sim-config.c
  sim-config.h
  sim-core.c
  sim-core.h
  sim-cpu.c
  sim-cpu.h
  sim-endian.c
  sim-endian.h
  sim-engine.c
  sim-engine.h
  sim-events.c
  sim-events.h
  sim-fpu.c
  sim-fpu.h
  sim-hload.c
  sim-hrw.c
  sim-hw.c
  sim-hw.h
  sim-info.c
  sim-inline.c
  sim-inline.h
  sim-io.c
  sim-io.h
  sim-load.c
  sim-memopt.c
  sim-memopt.h
  sim-model.c
  sim-model.h
  sim-module.c
  sim-module.h
  sim-n-bits.h
  sim-n-core.h
  sim-n-endian.h
  sim-options.c
  sim-options.h