Back out dwarf_cfi_validate_fde.
authorRoland McGrath <roland@redhat.com>
Wed, 23 Jun 2010 10:17:28 +0000 (03:17 -0700)
committerRoland McGrath <roland@redhat.com>
Wed, 23 Jun 2010 10:17:28 +0000 (03:17 -0700)
NEWS
libdw/ChangeLog
libdw/cfi.c
libdw/libdw.h
libdw/libdw.map

diff --git a/NEWS b/NEWS
index 6237f5c..975e294 100644 (file)
--- 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.
index 1765858..7aca379 100644 (file)
@@ -1,3 +1,9 @@
+2010-06-23  Roland McGrath  <roland@redhat.com>
+
+       * cfi.c (dwarf_cfi_validate_fde): Function removed.
+       * libdw.h: Remove it.
+       * libdw.map: Likewise.
+
 2010-06-22  Roland McGrath  <roland@redhat.com>
 
        * dwarf_getlocation.c (check_constant_offset): data[48] are constant.
index e49335d..aeb48e6 100644 (file)
@@ -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;
-}
index d3e7a5a..9202136 100644 (file)
@@ -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.  */
index 954fff6..8e93dff 100644 (file)
@@ -240,8 +240,6 @@ ELFUTILS_0.146 {
 
 ELFUTILS_0.148 {
   global:
-    dwarf_cfi_validate_fde;
-
     dwarf_lineisa;
     dwarf_linediscriminator;
     dwarf_lineop_index;