]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Merge branch 'roland/cfi' into roland/relocate
authorRoland McGrath <roland@redhat.com>
Wed, 23 Jun 2010 09:44:27 +0000 (02:44 -0700)
committerRoland McGrath <roland@redhat.com>
Wed, 23 Jun 2010 09:44:27 +0000 (02:44 -0700)
1  2 
libdw/ChangeLog
libdw/cfi.h
libdw/libdw.h

diff --cc libdw/ChangeLog
index 486c7e4a7d25231b155cd366bd35d302eef43e28,c22540aa8785f3a4ccf285d8dfbaedf009454433..8b00dd67b2e52f479db4ee9ea8a5655efff33c1b
@@@ -1,32 -1,29 +1,56 @@@
+ 2010-06-23  Roland McGrath  <roland@redhat.com>
+       * cfi.c (dwarf_cfi_frames): New function.
+       * libdw.h: Declare it.
+       * fde.c (__libdw_fde_by_offset): Take new argument NEXTOFF.
+       If non-null, return -1 marker without error at end of section,
+       skip CIEs, and store next offset.  Maintain fde_tailp and next.
+       * cfi.h: Update decl.
+       * cfi.h (struct dwarf_fde): New member next.
+       (struct Dwarf_CFI_s): New members first_fde, fde_tailp.
+       * dwarf_getcfi.c (dwarf_getcfi): Initialize them.
+       * dwarf_getcfi_elf.c (allocate_cfi): Likewise.
+       * fde.c (intern_fde): Initialize next.
+       * cfi.c (clear_prev): New function, broken out of ...
+       (execute_cfi): ... here.  Call it.  Take new flag argument; when
+       false, stop at the first PC change and don't clear_prev.
+       (cie_cache_initial_state, __libdw_frame_at_address): Update callers.
+       * cfi.h (struct Dwarf_Frame_s): New member fde_pc.
+       * cfi.c (execute_cfi): Set it to pending PROGRAM pointer at return.
  2010-06-22  Roland McGrath  <roland@redhat.com>
  
 +      * dwarf_ranges_relocatable.c: New file.
 +      * dwarf_getlocation_relocatable.c: New file.
 +      * dwarf_haspc_relocatable.c: New file.
 +      * Makefile.am (libdw_a_SOURCES): Add them.
 +      * libdw.map (ELFUTILS_0.149): Add them.
 +      * libdw.h: Declare them.
 +      * libdwP.h: Add INTDECLs.
 +
 +      * dwarf_getlocation.c (getlocation): Renamed to ...
 +      (__libdw_getlocation): ... this; made global.
 +      (dwarf_getlocation, dwarf_getlocation_addr): Update callers.
 +      * libdwP.h: Declare it.
 +
 +      * relocate.h: New file.
 +      * relocate.c: Move structs there.
 +      (relocatable_datum): Renamed to ...
 +       (__libdw_relocatable): ... here, made global.
 +      * libdw.h (Dwarf_Relocatable): New type.  Declare three new functions.
 +      * dwarf_relocatable_info.c: New file.
 +      * dwarf_form_relocatable.c: New file.
 +      * dwarf_line_relocatable.c: New file.
 +      * Makefile.am (libdw_a_SOURCES): Add them.
 +      * libdw.map (ELFUTILS_0.149): New set; add those.
 +      * libdwP.h: Add an INTDECL.
 +
 +      * memory-access.h (read_8ubyte_unaligned_noncvt): New function/macro.
 +
        * dwarf_getlocation.c (check_constant_offset): data[48] are constant.
  
        * dwarf_getsrclines.c: Fix signed comparison warning in extended
diff --cc libdw/cfi.h
Simple merge
diff --cc libdw/libdw.h
Simple merge