From: Roland McGrath Date: Wed, 23 Jun 2010 09:44:27 +0000 (-0700) Subject: Merge branch 'roland/cfi' into roland/relocate X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f69556a82af2ef140cfe768e42eda2805eea495;p=thirdparty%2Felfutils.git Merge branch 'roland/cfi' into roland/relocate --- 1f69556a82af2ef140cfe768e42eda2805eea495 diff --cc libdw/ChangeLog index 486c7e4a7,c22540aa8..8b00dd67b --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@@ -1,32 -1,29 +1,56 @@@ + 2010-06-23 Roland McGrath + + * 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 + * 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