From: Roland McGrath Date: Wed, 23 Jun 2010 10:17:28 +0000 (-0700) Subject: Back out dwarf_cfi_validate_fde. X-Git-Tag: elfutils-0.148~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9616b85b0854b3295d0bab900cb9270be90b70df;p=platform%2Fupstream%2Felfutils.git Back out dwarf_cfi_validate_fde. --- diff --git a/NEWS b/NEWS index 6237f5c..975e294 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,6 @@ Version 0.148: libdw: Accept DWARF 4 format: new functions dwarf_next_unit, dwarf_offdie_types. New functions dwarf_lineisa, dwarf_linediscriminator, dwarf_lineop_index. - New function dwarf_cfi_validate_fde. libdwfl: Fixes in core-file handling, support cores from PIEs. When working from build IDs, don't open a named file that mismatches. diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 1765858..7aca379 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,9 @@ +2010-06-23 Roland McGrath + + * cfi.c (dwarf_cfi_validate_fde): Function removed. + * libdw.h: Remove it. + * libdw.map: Likewise. + 2010-06-22 Roland McGrath * dwarf_getlocation.c (check_constant_offset): data[48] are constant. diff --git a/libdw/cfi.c b/libdw/cfi.c index e49335d..aeb48e6 100644 --- a/libdw/cfi.c +++ b/libdw/cfi.c @@ -504,42 +504,3 @@ __libdw_frame_at_address (Dwarf_CFI *cache, struct dwarf_fde *fde, } return result; } - -int -dwarf_cfi_validate_fde (cache, offset, start, end, signalp, encoding) - Dwarf_CFI *cache; - Dwarf_Off offset; - Dwarf_Addr *start; - Dwarf_Addr *end; - bool *signalp; - uint8_t *encoding; -{ - if (cache == NULL) - return -1; - - struct dwarf_fde *fde = __libdw_fde_by_offset (cache, offset); - if (unlikely (fde == NULL)) - return -1; - - Dwarf_Frame *fs; - int result = __libdw_frame_at_address (cache, fde, fde->end, &fs); - if (unlikely (result != DWARF_E_NOERROR)) - { - __libdw_seterrno (result); - return -1; - } - - result = fs->nregs + 1; - free (fs); - - if (start != NULL) - *start = fde->start; - if (end != NULL) - *end = fde->end; - if (signalp != NULL) - *signalp = fde->cie->signal_frame; - if (encoding != NULL) - *encoding = fde->cie->fde_encoding; - - return result; -} diff --git a/libdw/libdw.h b/libdw/libdw.h index d3e7a5a..9202136 100644 --- a/libdw/libdw.h +++ b/libdw/libdw.h @@ -825,20 +825,6 @@ 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. */ diff --git a/libdw/libdw.map b/libdw/libdw.map index 954fff6..8e93dff 100644 --- a/libdw/libdw.map +++ b/libdw/libdw.map @@ -240,8 +240,6 @@ ELFUTILS_0.146 { ELFUTILS_0.148 { global: - dwarf_cfi_validate_fde; - dwarf_lineisa; dwarf_linediscriminator; dwarf_lineop_index;