GDB (xrefs)
Classes | Macros | Typedefs | Functions | Variables
/tmp/gdb-7.10/gdb/mn10300-linux-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "regcache.h"
#include "mn10300-tdep.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "osabi.h"
#include "regset.h"
#include "solib-svr4.h"
#include "frame.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "linux-tdep.h"

Go to the source code of this file.

Classes

struct  mn10300_elf_fpregset_t
 

Macros

#define MN10300_ELF_NGREG   28
 
#define MN10300_ELF_NFPREG   32
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_A3   0
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_A2   1
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_D3   2
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_D2   3
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCVF   4
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRL   5
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRH   6
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ   7
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E1   8
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E0   9
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E7   10
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E6   11
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E5   12
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E4   13
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E3   14
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_E2   15
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_SP   16
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_LAR   17
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_LIR   18
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_MDR   19
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_A1   20
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_A0   21
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_D1   22
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_D0   23
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_ORIG_D0   24
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_EPSW   25
 
#define MN10300_ELF_GREGSET_T_REG_INDEX_PC   26
 
#define AM33_SIGCONTEXT_D0   0
 
#define AM33_SIGCONTEXT_D1   4
 
#define AM33_SIGCONTEXT_D2   8
 
#define AM33_SIGCONTEXT_D3   12
 
#define AM33_SIGCONTEXT_A0   16
 
#define AM33_SIGCONTEXT_A1   20
 
#define AM33_SIGCONTEXT_A2   24
 
#define AM33_SIGCONTEXT_A3   28
 
#define AM33_SIGCONTEXT_E0   32
 
#define AM33_SIGCONTEXT_E1   36
 
#define AM33_SIGCONTEXT_E2   40
 
#define AM33_SIGCONTEXT_E3   44
 
#define AM33_SIGCONTEXT_E4   48
 
#define AM33_SIGCONTEXT_E5   52
 
#define AM33_SIGCONTEXT_E6   56
 
#define AM33_SIGCONTEXT_E7   60
 
#define AM33_SIGCONTEXT_LAR   64
 
#define AM33_SIGCONTEXT_LIR   68
 
#define AM33_SIGCONTEXT_MDR   72
 
#define AM33_SIGCONTEXT_MCVF   76
 
#define AM33_SIGCONTEXT_MCRL   80
 
#define AM33_SIGCONTEXT_MCRH   84
 
#define AM33_SIGCONTEXT_MDRQ   88
 
#define AM33_SIGCONTEXT_SP   92
 
#define AM33_SIGCONTEXT_EPSW   96
 
#define AM33_SIGCONTEXT_PC   100
 
#define AM33_SIGCONTEXT_FPUCONTEXT   104
 

Typedefs

typedef gdb_byte mn10300_elf_greg_t[4]
 
typedef mn10300_elf_greg_t mn10300_elf_gregset_t[MN10300_ELF_NGREG]
 
typedef gdb_byte mn10300_elf_fpreg_t[4]
 

Functions

static void am33_supply_gregset_method (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void am33_supply_fpregset_method (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
 
static void am33_collect_gregset_method (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void am33_collect_fpregset_method (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
 
static void am33_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static void am33_linux_sigframe_cache_init (const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static void am33_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_mn10300_linux_tdep (void)
 

Variables

static const struct regset am33_gregset
 
static const struct regset am33_fpregset
 
static const struct tramp_frame am33_linux_sigframe
 
static const struct tramp_frame am33_linux_rt_sigframe
 
initialize_file_ftype _initialize_mn10300_linux_tdep
 

Macro Definition Documentation

#define AM33_SIGCONTEXT_A0   16

Definition at line 592 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_A1   20

Definition at line 593 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_A2   24

Definition at line 594 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_A3   28

Definition at line 595 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_D0   0

Definition at line 588 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_D1   4

Definition at line 589 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_D2   8

Definition at line 590 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_D3   12

Definition at line 591 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E0   32

Definition at line 596 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E1   36

Definition at line 597 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E2   40

Definition at line 598 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E3   44

Definition at line 599 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E4   48

Definition at line 600 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E5   52

Definition at line 601 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E6   56

Definition at line 602 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_E7   60

Definition at line 603 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_EPSW   96

Definition at line 612 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_FPUCONTEXT   104

Definition at line 614 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_LAR   64

Definition at line 604 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_LIR   68

Definition at line 605 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_MCRH   84

Definition at line 609 of file mn10300-linux-tdep.c.

#define AM33_SIGCONTEXT_MCRL   80

Definition at line 608 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_MCVF   76

Definition at line 607 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_MDR   72

Definition at line 606 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_MDRQ   88

Definition at line 610 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_PC   100

Definition at line 613 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define AM33_SIGCONTEXT_SP   92

Definition at line 611 of file mn10300-linux-tdep.c.

Referenced by am33_linux_sigframe_cache_init().

#define MN10300_ELF_GREGSET_T_REG_INDEX_A0   21

Definition at line 70 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_A1   20

Definition at line 69 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_A2   1

Definition at line 50 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_A3   0

Definition at line 49 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_D0   23

Definition at line 72 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_D1   22

Definition at line 71 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_D2   3

Definition at line 52 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_D3   2

Definition at line 51 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E0   9

Definition at line 58 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E1   8

Definition at line 57 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E2   15

Definition at line 64 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E3   14

Definition at line 63 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E4   13

Definition at line 62 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E5   12

Definition at line 61 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E6   11

Definition at line 60 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_E7   10

Definition at line 59 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_EPSW   25

Definition at line 74 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_LAR   17

Definition at line 66 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_LIR   18

Definition at line 67 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRH   6

Definition at line 55 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_MCRL   5

Definition at line 54 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_MCVF   4

Definition at line 53 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_MDR   19

Definition at line 68 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_MDRQ   7

Definition at line 56 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_ORIG_D0   24

Definition at line 73 of file mn10300-linux-tdep.c.

#define MN10300_ELF_GREGSET_T_REG_INDEX_PC   26

Definition at line 75 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_GREGSET_T_REG_INDEX_SP   16

Definition at line 65 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

#define MN10300_ELF_NFPREG   32
#define MN10300_ELF_NGREG   28

Definition at line 35 of file mn10300-linux-tdep.c.

Referenced by am33_collect_gregset_method(), and am33_supply_gregset_method().

Typedef Documentation

typedef gdb_byte mn10300_elf_fpreg_t[4]

Definition at line 41 of file mn10300-linux-tdep.c.

typedef gdb_byte mn10300_elf_greg_t[4]

Definition at line 38 of file mn10300-linux-tdep.c.

typedef mn10300_elf_greg_t mn10300_elf_gregset_t[MN10300_ELF_NGREG]

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

Function Documentation

void _initialize_mn10300_linux_tdep ( void  )
static void am33_collect_fpregset_method ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  fpregs,
size_t  len 
)
static
static void am33_collect_gregset_method ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
static
static void am33_iterate_over_regset_sections ( struct gdbarch gdbarch,
iterate_over_regset_sections_cb cb,
void *  cb_data,
const struct regcache regcache 
)
static

Definition at line 463 of file mn10300-linux-tdep.c.

Referenced by am33_linux_init_osabi().

static void am33_linux_init_osabi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static
static void am33_linux_sigframe_cache_init ( const struct tramp_frame self,
struct frame_info this_frame,
struct trad_frame_cache this_cache,
CORE_ADDR  func 
)
static
static void am33_supply_fpregset_method ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  fpregs,
size_t  len 
)
static
static void am33_supply_gregset_method ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Variable Documentation

initialize_file_ftype _initialize_mn10300_linux_tdep
const struct regset am33_fpregset
static
Initial value:
=
{
}
static void am33_collect_fpregset_method(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
static void am33_supply_fpregset_method(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)

Definition at line 455 of file mn10300-linux-tdep.c.

const struct regset am33_gregset
static
Initial value:
=
{
}
static void am33_collect_gregset_method(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void am33_supply_gregset_method(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 450 of file mn10300-linux-tdep.c.

const struct tramp_frame am33_linux_rt_sigframe
static
Initial value:
= {
1,
{
{ 0x2c, -1 },
{ 0xad, -1 },
{ 0x00, -1 },
{ 0xf0, -1 },
{ 0xe0, -1 },
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
static void am33_linux_sigframe_cache_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

Definition at line 496 of file mn10300-linux-tdep.c.

const struct tramp_frame am33_linux_sigframe
static
Initial value:
= {
1,
{
{ 0x2c, -1 },
{ 0x77, -1 },
{ 0x00, -1 },
{ 0xf0, -1 },
{ 0xe0, -1 },
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
static void am33_linux_sigframe_cache_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

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