GDB (xrefs)
Classes | Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/frv-linux-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "target.h"
#include "frame.h"
#include "osabi.h"
#include "regcache.h"
#include "elf-bfd.h"
#include "elf/frv.h"
#include "frv-tdep.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "regset.h"
#include "gdb_string.h"
#include "linux-tdep.h"

Go to the source code of this file.

Classes

struct  frv_elf_gregset_t
struct  frv_elf_fpregset_t

Defines

#define FRV_ELF_NGREG   (46 + 2)
#define FRV_PT_PSR   0
#define FRV_PT_ISR   1
#define FRV_PT_CCR   2
#define FRV_PT_CCCR   3
#define FRV_PT_LR   4
#define FRV_PT_LCR   5
#define FRV_PT_PC   6
#define FRV_PT_GNER0   10
#define FRV_PT_GNER1   11
#define FRV_PT_IACC0H   12
#define FRV_PT_IACC0L   13
#define FRV_PT_GR(j)   ( 14 + (j)) /* GRj for 0<=j<=63. */
#define FRV_PT_TBR
#define FRV_PT_EXEC_FDPIC_LOADMAP   46
#define FRV_PT_INTERP_FDPIC_LOADMAP   47

Typedefs

typedef unsigned char frv_elf_greg_t [4]
typedef unsigned char frv_elf_fpreg_t [4]

Enumerations

enum  { NORMAL_SIGTRAMP = 1, RT_SIGTRAMP = 2 }

Functions

static int frv_linux_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name)
static LONGEST frv_linux_sigcontext_reg_addr (struct frame_info *this_frame, int regno, CORE_ADDR *sc_addr_cache_ptr)
static struct trad_frame_cachefrv_linux_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static void frv_linux_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct valuefrv_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int frv_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static void frv_linux_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void frv_linux_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static struct regsetfrv_linux_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
static void frv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
static enum gdb_osabi frv_linux_elf_osabi_sniffer (bfd *abfd)
void _initialize_frv_linux_tdep (void)

Variables

static const int frv_instr_size = 4
static struct frame_unwind frv_linux_sigtramp_frame_unwind
static struct regset frv_linux_gregset
static struct regset frv_linux_fpregset

Define Documentation

#define FRV_ELF_NGREG   (46 + 2)

Definition at line 348 of file frv-linux-tdep.c.

#define FRV_PT_CCCR   3

Definition at line 368 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_CCR   2

Definition at line 367 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_EXEC_FDPIC_LOADMAP   46

Definition at line 390 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_GNER0   10

Definition at line 372 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_GNER1   11

Definition at line 373 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_GR (   j)    ( 14 + (j)) /* GRj for 0<=j<=63. */

Definition at line 378 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_IACC0H   12

Definition at line 374 of file frv-linux-tdep.c.

#define FRV_PT_IACC0L   13

Definition at line 375 of file frv-linux-tdep.c.

#define FRV_PT_INTERP_FDPIC_LOADMAP   47

Definition at line 391 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_ISR   1

Definition at line 366 of file frv-linux-tdep.c.

#define FRV_PT_LCR   5

Definition at line 370 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_LR   4

Definition at line 369 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_PC   6

Definition at line 371 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_PSR   0

Definition at line 365 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().

#define FRV_PT_TBR
Value:
FRV_PT_GR(0)            /* gr0 is always 0, so TBR is stuffed
                                           there.  */

Definition at line 380 of file frv-linux-tdep.c.

Referenced by frv_linux_supply_gregset().


Typedef Documentation

typedef unsigned char frv_elf_fpreg_t[4]

Definition at line 352 of file frv-linux-tdep.c.

typedef unsigned char frv_elf_greg_t[4]

Definition at line 349 of file frv-linux-tdep.c.


Enumeration Type Documentation

anonymous enum
Enumerator:
NORMAL_SIGTRAMP 
RT_SIGTRAMP 

Definition at line 39 of file frv-linux-tdep.c.


Function Documentation

void _initialize_frv_linux_tdep ( void  )
static enum gdb_osabi frv_linux_elf_osabi_sniffer ( bfd *  abfd) [static]

Definition at line 508 of file frv-linux-tdep.c.

References GDB_OSABI_LINUX, and GDB_OSABI_UNKNOWN.

static void frv_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
) [static]
static int frv_linux_pc_in_sigtramp ( struct gdbarch gdbarch,
CORE_ADDR  pc,
const char *  name 
) [static]
static struct regset* frv_linux_regset_from_core_section ( struct gdbarch gdbarch,
const char *  sect_name,
size_t  sect_size 
) [static, read]

Definition at line 480 of file frv-linux-tdep.c.

References frv_linux_fpregset, and frv_linux_gregset.

Referenced by frv_linux_init_abi().

static LONGEST frv_linux_sigcontext_reg_addr ( struct frame_info this_frame,
int  regno,
CORE_ADDR sc_addr_cache_ptr 
) [static]
static struct trad_frame_cache* frv_linux_sigtramp_frame_cache ( struct frame_info this_frame,
void **  this_cache 
) [static, read]
static struct value* frv_linux_sigtramp_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
) [static, read]
static int frv_linux_sigtramp_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
) [static]
static void frv_linux_sigtramp_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
) [static]

Definition at line 301 of file frv-linux-tdep.c.

References frv_linux_sigtramp_frame_cache(), and trad_frame_get_id().

static void frv_linux_supply_fpregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
) [static]
static void frv_linux_supply_gregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
) [static]

Variable Documentation

const int frv_instr_size = 4 [static]

Definition at line 37 of file frv-linux-tdep.c.

Referenced by frv_linux_pc_in_sigtramp().

struct regset frv_linux_fpregset [static]
Initial value:

Definition at line 473 of file frv-linux-tdep.c.

Referenced by frv_linux_regset_from_core_section().

struct regset frv_linux_gregset [static]
Initial value:

Definition at line 467 of file frv-linux-tdep.c.

Referenced by frv_linux_regset_from_core_section().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines