diff options
| author | Roland McGrath <[email protected]> | 2010-06-16 03:40:56 -0700 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2010-06-16 11:16:45 -0700 |
| commit | 3e4b5bbeca8987527c11a1ea048459a7ebd4ab5e (patch) | |
| tree | 3d50b9a1c32c4c41eac398d9d6bd91b16e26c858 /libdw/libdw.h | |
| parent | 5f4b5089e1e3ca3c696cb420a6e215006691cf95 (diff) | |
Add new dwarf_cfi_validate_fde call.
Diffstat (limited to 'libdw/libdw.h')
| -rw-r--r-- | libdw/libdw.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libdw/libdw.h b/libdw/libdw.h index 252361fc..75998e1a 100644 --- a/libdw/libdw.h +++ b/libdw/libdw.h @@ -799,6 +799,20 @@ extern int dwarf_frame_register (Dwarf_Frame *frame, int regno, Dwarf_Op **ops, size_t *nops) __nonnull_attribute__ (3, 4, 5); +/* Look up the FDE described at OFFSET bytes into the CFI section, + and validate it by decoding the FDE fully. Returns -1 for errors. + On success, returns the maximum DWARF register number that this + FDE describes and fills *START and *END with the PC address range + this FDE covers, *SIGNALP with whether this is a signal frame, and + *ENCODING with the pointer encoding used in this FDE. This is not + necessarily the exact encoding byte given in the augmentation string; + it will describe the exact address size used (DW_EH_PE_udata4 or + DW_EH_PE_udata8) if a DW_EH_PE_absptr encoding is being used. */ +extern int dwarf_cfi_validate_fde (Dwarf_CFI *cache, + Dwarf_Off offset, + Dwarf_Addr *start, Dwarf_Addr *end, + bool *signalp, uint8_t *encoding); + /* Return error code of last failing function call. This value is kept separately for each thread. */ |
