GDB (xrefs)
Macros | Functions | Variables
/tmp/gdb-8.1/gdb/ppc64-tdep.c File Reference
#include "defs.h"
#include "frame.h"
#include "gdbcore.h"
#include "infrun.h"
#include "ppc-tdep.h"
#include "ppc64-tdep.h"
#include "elf-bfd.h"

Go to the source code of this file.

Macros

#define insn_d(opcd, rts, ra, d)
 
#define insn_ds(opcd, rts, ra, d, xo)
 
#define insn_xfx(opcd, rts, spr, xo)
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 

Functions

static CORE_ADDR ppc64_plt_entry_point (struct frame_info *frame, CORE_ADDR plt_off)
 
static CORE_ADDR ppc64_standard_linkage1_target (struct frame_info *frame, unsigned int *insn)
 
static CORE_ADDR ppc64_standard_linkage2_target (struct frame_info *frame, unsigned int *insn)
 
static CORE_ADDR ppc64_standard_linkage3_target (struct frame_info *frame, unsigned int *insn)
 
static CORE_ADDR ppc64_standard_linkage4_target (struct frame_info *frame, unsigned int *insn)
 
static CORE_ADDR ppc64_skip_trampoline_code_1 (struct frame_info *frame, CORE_ADDR pc)
 
CORE_ADDR ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
 
CORE_ADDR ppc64_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
 
void ppc64_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
 

Variables

static struct ppc_insn_pattern ppc64_standard_linkage1 []
 
static struct ppc_insn_pattern ppc64_standard_linkage2 []
 
static struct ppc_insn_pattern ppc64_standard_linkage3 []
 
static struct ppc_insn_pattern ppc64_standard_linkage4 []
 
static struct ppc_insn_pattern ppc64_standard_linkage5 []
 
static struct ppc_insn_pattern ppc64_standard_linkage6 []
 
static struct ppc_insn_pattern ppc64_standard_linkage7 []
 
static struct ppc_insn_pattern ppc64_standard_linkage8 []
 

Macro Definition Documentation

◆ insn_d

#define insn_d (   opcd,
  rts,
  ra,
 
)
Value:
((((opcd) & 0x3f) << 26) \
| (((rts) & 0x1f) << 21) \
| (((ra) & 0x1f) << 16) \
| ((d) & 0xffff))

Definition at line 32 of file ppc64-tdep.c.

◆ insn_ds

#define insn_ds (   opcd,
  rts,
  ra,
  d,
  xo 
)
Value:
((((opcd) & 0x3f) << 26) \
| (((rts) & 0x1f) << 21) \
| (((ra) & 0x1f) << 16) \
| ((d) & 0xfffc) \
| ((xo) & 0x3))

Definition at line 38 of file ppc64-tdep.c.

◆ insn_xfx

#define insn_xfx (   opcd,
  rts,
  spr,
  xo 
)
Value:
((((opcd) & 0x3f) << 26) \
| (((rts) & 0x1f) << 21) \
| (((spr) & 0x1f) << 16) \
| (((spr) & 0x3e0) << 6) \
| (((xo) & 0x3ff) << 1))

Definition at line 45 of file ppc64-tdep.c.

◆ MAX

#define MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

Function Documentation

◆ ppc64_convert_from_func_ptr_addr()

CORE_ADDR ppc64_convert_from_func_ptr_addr ( struct gdbarch gdbarch,
CORE_ADDR  addr,
struct target_ops targ 
)

◆ ppc64_elf_make_msymbol_special()

void ppc64_elf_make_msymbol_special ( asymbol *  sym,
struct minimal_symbol msym 
)

Definition at line 608 of file ppc64-tdep.c.

References SET_MSYMBOL_SIZE.

Referenced by ppc_linux_init_abi(), and ppcfbsd_init_abi().

◆ ppc64_plt_entry_point()

static CORE_ADDR ppc64_plt_entry_point ( struct frame_info frame,
CORE_ADDR  plt_off 
)
static

◆ ppc64_skip_trampoline_code()

CORE_ADDR ppc64_skip_trampoline_code ( struct frame_info frame,
CORE_ADDR  pc 
)

◆ ppc64_skip_trampoline_code_1()

static CORE_ADDR ppc64_skip_trampoline_code_1 ( struct frame_info frame,
CORE_ADDR  pc 
)
static

◆ ppc64_standard_linkage1_target()

static CORE_ADDR ppc64_standard_linkage1_target ( struct frame_info frame,
unsigned int *  insn 
)
static

◆ ppc64_standard_linkage2_target()

static CORE_ADDR ppc64_standard_linkage2_target ( struct frame_info frame,
unsigned int *  insn 
)
static

◆ ppc64_standard_linkage3_target()

static CORE_ADDR ppc64_standard_linkage3_target ( struct frame_info frame,
unsigned int *  insn 
)
static

Definition at line 419 of file ppc64-tdep.c.

References ppc64_plt_entry_point(), and ppc_insn_ds_field().

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage4_target()

static CORE_ADDR ppc64_standard_linkage4_target ( struct frame_info frame,
unsigned int *  insn 
)
static

Variable Documentation

◆ ppc64_standard_linkage1

struct ppc_insn_pattern ppc64_standard_linkage1[]
static

Definition at line 83 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage2

struct ppc_insn_pattern ppc64_standard_linkage2[]
static

Definition at line 122 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage3

struct ppc_insn_pattern ppc64_standard_linkage3[]
static

Definition at line 165 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage4

struct ppc_insn_pattern ppc64_standard_linkage4[]
static

Definition at line 204 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage5

struct ppc_insn_pattern ppc64_standard_linkage5[]
static

Definition at line 246 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage6

struct ppc_insn_pattern ppc64_standard_linkage6[]
static
Initial value:
=
{
{ -1, insn_ds (62, 2, 1, 24, 0), 1 },
{ insn_d (-1, -1, -1, 0), insn_d (15, 11, 2, 0), 0 },
{ insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 11, 0, 0), 0 },
{ insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
{ -1, 0x4e800420, 0 },
{ 0, 0, 0 }
}
#define insn_ds(opcd, rts, ra, d, xo)
Definition: ppc64-tdep.c:38
#define insn_d(opcd, rts, ra, d)
Definition: ppc64-tdep.c:32
#define insn_xfx(opcd, rts, spr, xo)
Definition: ppc64-tdep.c:45

Definition at line 283 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage7

struct ppc_insn_pattern ppc64_standard_linkage7[]
static
Initial value:
=
{
{ -1, insn_ds (62, 2, 1, 24, 0), 1 },
{ insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 2, 0, 0), 0 },
{ insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
{ -1, 0x4e800420, 0 },
{ 0, 0, 0 }
}
#define insn_ds(opcd, rts, ra, d, xo)
Definition: ppc64-tdep.c:38
#define insn_xfx(opcd, rts, spr, xo)
Definition: ppc64-tdep.c:45

Definition at line 305 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().

◆ ppc64_standard_linkage8

struct ppc_insn_pattern ppc64_standard_linkage8[]
static
Initial value:
=
{
{ -1, insn_ds (62, 2, 1, 24, 0), 1 },
{ insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 },
{ insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 12, 0, 0), 0 },
{ insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
{ -1, 0x4e800420, 0 },
{ 0, 0, 0 }
}
#define insn_ds(opcd, rts, ra, d, xo)
Definition: ppc64-tdep.c:38
#define insn_d(opcd, rts, ra, d)
Definition: ppc64-tdep.c:32
#define insn_xfx(opcd, rts, spr, xo)
Definition: ppc64-tdep.c:45

Definition at line 325 of file ppc64-tdep.c.

Referenced by ppc64_skip_trampoline_code_1().