|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.cmpware.elf.Dwarf2Location
public class Dwarf2Location
This class is used to convert DWARF2 Location Expressions to addresses.
Copyright (c) 2005 Cmpware, Inc. All Rights Reserved.
| Field Summary | |
|---|---|
static java.lang.String |
copyright
Copyright string |
static int |
DW_OP_abs
|
static int |
DW_OP_addr
|
static int |
DW_OP_and
|
static int |
DW_OP_bra
|
static int |
DW_OP_breg0
|
static int |
DW_OP_breg1
|
static int |
DW_OP_breg10
|
static int |
DW_OP_breg11
|
static int |
DW_OP_breg12
|
static int |
DW_OP_breg13
|
static int |
DW_OP_breg14
|
static int |
DW_OP_breg15
|
static int |
DW_OP_breg16
|
static int |
DW_OP_breg17
|
static int |
DW_OP_breg18
|
static int |
DW_OP_breg19
|
static int |
DW_OP_breg2
|
static int |
DW_OP_breg20
|
static int |
DW_OP_breg21
|
static int |
DW_OP_breg22
|
static int |
DW_OP_breg23
|
static int |
DW_OP_breg24
|
static int |
DW_OP_breg25
|
static int |
DW_OP_breg26
|
static int |
DW_OP_breg27
|
static int |
DW_OP_breg28
|
static int |
DW_OP_breg29
|
static int |
DW_OP_breg3
|
static int |
DW_OP_breg30
|
static int |
DW_OP_breg31
|
static int |
DW_OP_breg4
|
static int |
DW_OP_breg5
|
static int |
DW_OP_breg6
|
static int |
DW_OP_breg7
|
static int |
DW_OP_breg8
|
static int |
DW_OP_breg9
|
static int |
DW_OP_bregx
|
static int |
DW_OP_const1s
|
static int |
DW_OP_const1u
|
static int |
DW_OP_const2s
|
static int |
DW_OP_const2u
|
static int |
DW_OP_const4s
|
static int |
DW_OP_const4u
|
static int |
DW_OP_const8s
|
static int |
DW_OP_const8u
|
static int |
DW_OP_consts
|
static int |
DW_OP_constu
|
static int |
DW_OP_deref
|
static int |
DW_OP_deref_size
|
static int |
DW_OP_div
|
static int |
DW_OP_drop
|
static int |
DW_OP_dup
|
static int |
DW_OP_eq
|
static int |
DW_OP_fbreg
|
static int |
DW_OP_ge
|
static int |
DW_OP_gt
|
static int |
DW_OP_hi_user
|
static int |
DW_OP_le
|
static int |
DW_OP_lit0
|
static int |
DW_OP_lit1
|
static int |
DW_OP_lit10
|
static int |
DW_OP_lit11
|
static int |
DW_OP_lit12
|
static int |
DW_OP_lit13
|
static int |
DW_OP_lit14
|
static int |
DW_OP_lit15
|
static int |
DW_OP_lit16
|
static int |
DW_OP_lit17
|
static int |
DW_OP_lit18
|
static int |
DW_OP_lit19
|
static int |
DW_OP_lit2
|
static int |
DW_OP_lit20
|
static int |
DW_OP_lit21
|
static int |
DW_OP_lit22
|
static int |
DW_OP_lit23
|
static int |
DW_OP_lit24
|
static int |
DW_OP_lit25
|
static int |
DW_OP_lit26
|
static int |
DW_OP_lit27
|
static int |
DW_OP_lit28
|
static int |
DW_OP_lit29
|
static int |
DW_OP_lit3
|
static int |
DW_OP_lit30
|
static int |
DW_OP_lit31
|
static int |
DW_OP_lit4
|
static int |
DW_OP_lit5
|
static int |
DW_OP_lit6
|
static int |
DW_OP_lit7
|
static int |
DW_OP_lit8
|
static int |
DW_OP_lit9
|
static int |
DW_OP_lo_user
|
static int |
DW_OP_lt
|
static int |
DW_OP_minus
|
static int |
DW_OP_mod
|
static int |
DW_OP_mul
|
static int |
DW_OP_ne
|
static int |
DW_OP_neg
|
static int |
DW_OP_nop
|
static int |
DW_OP_not
|
static int |
DW_OP_or
|
static int |
DW_OP_over
|
static int |
DW_OP_pick
|
static int |
DW_OP_piece
|
static int |
DW_OP_plus
|
static int |
DW_OP_plus_uconst
|
static int |
DW_OP_reg0
|
static int |
DW_OP_reg1
|
static int |
DW_OP_reg10
|
static int |
DW_OP_reg11
|
static int |
DW_OP_reg12
|
static int |
DW_OP_reg13
|
static int |
DW_OP_reg14
|
static int |
DW_OP_reg15
|
static int |
DW_OP_reg16
|
static int |
DW_OP_reg17
|
static int |
DW_OP_reg18
|
static int |
DW_OP_reg19
|
static int |
DW_OP_reg2
|
static int |
DW_OP_reg20
|
static int |
DW_OP_reg21
|
static int |
DW_OP_reg22
|
static int |
DW_OP_reg23
|
static int |
DW_OP_reg24
|
static int |
DW_OP_reg25
|
static int |
DW_OP_reg26
|
static int |
DW_OP_reg27
|
static int |
DW_OP_reg28
|
static int |
DW_OP_reg29
|
static int |
DW_OP_reg3
|
static int |
DW_OP_reg30
|
static int |
DW_OP_reg31
|
static int |
DW_OP_reg4
|
static int |
DW_OP_reg5
|
static int |
DW_OP_reg6
|
static int |
DW_OP_reg7
|
static int |
DW_OP_reg8
|
static int |
DW_OP_reg9
|
static int |
DW_OP_regx
|
static int |
DW_OP_rot
|
static int |
DW_OP_shl
|
static int |
DW_OP_shr
|
static int |
DW_OP_shra
|
static int |
DW_OP_skip
|
static int |
DW_OP_swap
|
static int |
DW_OP_xderef
|
static int |
DW_OP_xderef_size
|
static int |
DW_OP_xor
|
| Constructor Summary | |
|---|---|
Dwarf2Location()
|
|
| Method Summary | |
|---|---|
static java.lang.String |
dasm(byte[] b,
int addrBytes,
boolean swapBytes)
This method disassembles a DWARF2 location program. |
static int |
getAddr(Processor p,
byte[] loc,
long frameBase)
This static method returns the address value associated with a location program. |
static long |
getData(Processor p,
int addr,
int size)
This method returns a long integer representing the value of a data of the specified length at the specified address. |
static boolean |
isScalar()
This method returns true if a scalar value was returned in the last call to getAddr(). |
static boolean |
isScalar(int op)
This method returns true if the operation results in a scalar being on top of the stack. |
static java.lang.String |
opName(int op)
This method returns a DWARF op name given the op code. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String copyright
public static final int DW_OP_addr
public static final int DW_OP_deref
public static final int DW_OP_const1u
public static final int DW_OP_const1s
public static final int DW_OP_const2u
public static final int DW_OP_const2s
public static final int DW_OP_const4u
public static final int DW_OP_const4s
public static final int DW_OP_const8u
public static final int DW_OP_const8s
public static final int DW_OP_constu
public static final int DW_OP_consts
public static final int DW_OP_dup
public static final int DW_OP_drop
public static final int DW_OP_over
public static final int DW_OP_pick
public static final int DW_OP_swap
public static final int DW_OP_rot
public static final int DW_OP_xderef
public static final int DW_OP_abs
public static final int DW_OP_and
public static final int DW_OP_div
public static final int DW_OP_minus
public static final int DW_OP_mod
public static final int DW_OP_mul
public static final int DW_OP_neg
public static final int DW_OP_not
public static final int DW_OP_or
public static final int DW_OP_plus
public static final int DW_OP_plus_uconst
public static final int DW_OP_shl
public static final int DW_OP_shr
public static final int DW_OP_shra
public static final int DW_OP_xor
public static final int DW_OP_skip
public static final int DW_OP_bra
public static final int DW_OP_eq
public static final int DW_OP_ge
public static final int DW_OP_gt
public static final int DW_OP_le
public static final int DW_OP_lt
public static final int DW_OP_ne
public static final int DW_OP_lit0
public static final int DW_OP_lit1
public static final int DW_OP_lit2
public static final int DW_OP_lit3
public static final int DW_OP_lit4
public static final int DW_OP_lit5
public static final int DW_OP_lit6
public static final int DW_OP_lit7
public static final int DW_OP_lit8
public static final int DW_OP_lit9
public static final int DW_OP_lit10
public static final int DW_OP_lit11
public static final int DW_OP_lit12
public static final int DW_OP_lit13
public static final int DW_OP_lit14
public static final int DW_OP_lit15
public static final int DW_OP_lit16
public static final int DW_OP_lit17
public static final int DW_OP_lit18
public static final int DW_OP_lit19
public static final int DW_OP_lit20
public static final int DW_OP_lit21
public static final int DW_OP_lit22
public static final int DW_OP_lit23
public static final int DW_OP_lit24
public static final int DW_OP_lit25
public static final int DW_OP_lit26
public static final int DW_OP_lit27
public static final int DW_OP_lit28
public static final int DW_OP_lit29
public static final int DW_OP_lit30
public static final int DW_OP_lit31
public static final int DW_OP_reg0
public static final int DW_OP_reg1
public static final int DW_OP_reg2
public static final int DW_OP_reg3
public static final int DW_OP_reg4
public static final int DW_OP_reg5
public static final int DW_OP_reg6
public static final int DW_OP_reg7
public static final int DW_OP_reg8
public static final int DW_OP_reg9
public static final int DW_OP_reg10
public static final int DW_OP_reg11
public static final int DW_OP_reg12
public static final int DW_OP_reg13
public static final int DW_OP_reg14
public static final int DW_OP_reg15
public static final int DW_OP_reg16
public static final int DW_OP_reg17
public static final int DW_OP_reg18
public static final int DW_OP_reg19
public static final int DW_OP_reg20
public static final int DW_OP_reg21
public static final int DW_OP_reg22
public static final int DW_OP_reg23
public static final int DW_OP_reg24
public static final int DW_OP_reg25
public static final int DW_OP_reg26
public static final int DW_OP_reg27
public static final int DW_OP_reg28
public static final int DW_OP_reg29
public static final int DW_OP_reg30
public static final int DW_OP_reg31
public static final int DW_OP_breg0
public static final int DW_OP_breg1
public static final int DW_OP_breg2
public static final int DW_OP_breg3
public static final int DW_OP_breg4
public static final int DW_OP_breg5
public static final int DW_OP_breg6
public static final int DW_OP_breg7
public static final int DW_OP_breg8
public static final int DW_OP_breg9
public static final int DW_OP_breg10
public static final int DW_OP_breg11
public static final int DW_OP_breg12
public static final int DW_OP_breg13
public static final int DW_OP_breg14
public static final int DW_OP_breg15
public static final int DW_OP_breg16
public static final int DW_OP_breg17
public static final int DW_OP_breg18
public static final int DW_OP_breg19
public static final int DW_OP_breg20
public static final int DW_OP_breg21
public static final int DW_OP_breg22
public static final int DW_OP_breg23
public static final int DW_OP_breg24
public static final int DW_OP_breg25
public static final int DW_OP_breg26
public static final int DW_OP_breg27
public static final int DW_OP_breg28
public static final int DW_OP_breg29
public static final int DW_OP_breg30
public static final int DW_OP_breg31
public static final int DW_OP_regx
public static final int DW_OP_fbreg
public static final int DW_OP_bregx
public static final int DW_OP_piece
public static final int DW_OP_deref_size
public static final int DW_OP_xderef_size
public static final int DW_OP_nop
public static final int DW_OP_lo_user
public static final int DW_OP_hi_user
| Constructor Detail |
|---|
public Dwarf2Location()
| Method Detail |
|---|
public static int getAddr(Processor p,
byte[] loc,
long frameBase)
throws MemoryAccessException,
java.io.IOException
p - the current processor.loc - the location program.frameBase - the frame base address.
MemoryAccessException - if an illegal memory access occurs.
java.io.IOException - if an error reading the program data occurs.public static boolean isScalar()
public static boolean isScalar(int op)
op - The DWARF address program operation.
public static java.lang.String dasm(byte[] b,
int addrBytes,
boolean swapBytes)
b - The byte array containing the DWARF2 location
program.addrBytes - the number of bytes in an address.
curretnly should be 4 or 8.swapBytes - The byte swap flag from the ELF file.
public static java.lang.String opName(int op)
op - The op code.
public static long getData(Processor p,
int addr,
int size)
p - The processor.addr - The address of the data to be read.size - The size in bytes of the data to be
read.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||