OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.1/] [gdb/] [or32-tdep.c] - Diff between revs 249 and 252

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 249 Rev 252
Line 818... Line 818...
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
static CORE_ADDR
static CORE_ADDR
or32_skip_prologue (struct gdbarch *gdbarch,
or32_skip_prologue (struct gdbarch *gdbarch,
                    CORE_ADDR       pc)
                    CORE_ADDR       pc)
{
{
 
  CORE_ADDR     start_pc;
  CORE_ADDR     addr;
  CORE_ADDR     addr;
  uint32_t      inst;
  uint32_t      inst;
 
 
  unsigned int  ra, rb, rd;             /* For instruction analysis */
  unsigned int  ra, rb, rd;             /* For instruction analysis */
  int           simm;
  int           simm;
 
 
  int           frame_size = 0;
  int           frame_size = 0;
 
 
  /* Try using SAL first if we have symbolic information available. */
  /* Try using SAL first if we have symbolic information available. This only
  /* if (find_pc_partial_function (pc, NULL, NULL, NULL)) */
     works for DWARF 2, not STABS. */
  /*   { */
  if (find_pc_partial_function (pc, NULL, &start_pc, NULL))
  /*     CORE_ADDR  prologue_end = skip_prologue_using_sal( gdbarch, pc ); */
    {
 
      CORE_ADDR  prologue_end = skip_prologue_using_sal( gdbarch, pc );
  /*     if (0 != prologue_end) */
 
  /*    { */
      if (0 != prologue_end)
  /*      return  (prologue_end > pc) ? prologue_end : pc; */
        {
  /*    } */
          struct symtab_and_line  prologue_sal = find_pc_line (start_pc, 0);
  /*   } */
          char *debug_format = prologue_sal.symtab->debugformat;
 
 
 
          if ((strlen ("dwarf") <= strlen (debug_format))
 
              && (0 == strncasecmp ("dwarf", debug_format, strlen ("dwarf"))))
 
            {
 
              return  (prologue_end > pc) ? prologue_end : pc;
 
            }
 
        }
 
    }
 
 
  /* Look to see if we can find any of the standard prologue sequence. All
  /* Look to see if we can find any of the standard prologue sequence. All
     quite difficult, since any or all of it may be missing. So this is just a
     quite difficult, since any or all of it may be missing. So this is just a
     best guess! */
     best guess! */
  addr = pc;                            /* Where we have got to */
  addr = pc;                            /* Where we have got to */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.