Class FdeTable
java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.structures.ehFrame.FdeTable
Class that builds the Frame Description Entry (FDE) Table for a Common Information Entry (CIE).
Call Frame Instructions (taken from gcc-3.2.3-20030829/gcc/dwarf2.h
DW_CFA_advance_loc = 0x40, DW_CFA_offset = 0x80, DW_CFA_restore = 0xc0, DW_CFA_nop = 0x00, DW_CFA_set_loc = 0x01, DW_CFA_advance_loc1 = 0x02, DW_CFA_advance_loc2 = 0x03, DW_CFA_advance_loc4 = 0x04, DW_CFA_offset_extended = 0x05, DW_CFA_restore_extended = 0x06, DW_CFA_undefined = 0x07, DW_CFA_same_value = 0x08, DW_CFA_register = 0x09, DW_CFA_remember_state = 0x0a, DW_CFA_restore_state = 0x0b, DW_CFA_def_cfa = 0x0c, DW_CFA_def_cfa_register = 0x0d, DW_CFA_def_cfa_offset = 0x0e, //DWARF 3. // DW_CFA_def_cfa_expression = 0x0f, DW_CFA_expression = 0x10, DW_CFA_offset_extended_sf = 0x11, DW_CFA_def_cfa_sf = 0x12, DW_CFA_def_cfa_offset_sf = 0x13,
-
Constructor Summary
ConstructorDescriptionFdeTable
(TaskMonitor monitor, Program curProg) Constructor for an FDE table. -
Method Summary
Modifier and TypeMethodDescriptionvoid
create
(Address addr, DwarfEHDecoder decoder, long fdeTableCnt) Creates an FDE Table at the specified Address.
-
Constructor Details
-
FdeTable
Constructor for an FDE table.- Parameters:
monitor
- a status monitor for indicating progress or allowing a task to be cancelled.curProg
- the program containing the FDE table.
-
-
Method Details
-
create
public void create(Address addr, DwarfEHDecoder decoder, long fdeTableCnt) throws MemoryAccessException, ExceptionHandlerFrameException Creates an FDE Table at the specified Address.- Parameters:
addr
- Address at which the FDE Table should be created.decoder
- the decoder for DWARF encoded exception handling informationfdeTableCnt
- the number of exception handler FDEs.- Throws:
MemoryAccessException
- if the needed memory can't be read.ExceptionHandlerFrameException
- if the FDE table can't be decoded.
-