From: Roland McGrath Date: Thu, 25 Jun 2009 00:07:54 +0000 (-0700) Subject: Merge commit 'origin/master' into roland/unwind X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a8371842a3e6a0cac75dd78d26e4afe5271b4024;p=thirdparty%2Felfutils.git Merge commit 'origin/master' into roland/unwind Conflicts: libdw/ChangeLog libdw/dwarf_getlocation.c --- a8371842a3e6a0cac75dd78d26e4afe5271b4024 diff --cc libdw/ChangeLog index 40b1c61b5,6ae3154ac..6b14e2705 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@@ -1,57 -1,12 +1,66 @@@ +2009-04-19 Roland McGrath + + * libdw.map (ELFUTILS_0.141): Add dwfl_addrframe, + dwfl_module_dwarf_cfi, dwfl_module_eh_cfi. + + * libdwP.h (struct Dwarf): Add member `cfi'. + * dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it. + * dwarf_getcfi.c: New file. + * dwarf_getcfi_elf.c: New file. + * dwarf_cfi_end.c: New file. + * dwarf_cfi_addrframe.c: New file. + * dwarf_frame_cfa.c: New file. + * dwarf_frame_register.c: New file. + * dwarf_frame_return_address_register.c: New file. + * Makefile.am (libdw_a_SOURCES): Add them. + * unwind.h: Declare those functions. + * libdw.map (ELFUTILS_0.141): Export them. + + * dwarf_getlocation.c (__libdw_intern_expression): New function, + broken out of ... + (getlocation): ... here, call it. + * libdwP.h: Declare it. + + * cie.c: New file. + * fde.c: New file. + * frame-cache.c: New file. + * cfi.c: New file. + * cfi.h: New file. + * encoded-value.h: New file. + * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them. + * libdwP.h: Add DWARF_E_INVALID_CFI to errors enum. + * dwarf_error.c (errmsgs): Add element for it. + + * dwarf_next_cfi.c: New file. + * Makefile.am (libdw_a_SOURCES): Add it. + * libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types. + Declare dwarf_next_cfi. + * libdw.map (ELFUTILS_0.141): Add dwarf_next_cfi. + + * memory-access.h [! ALLOW_UNALIGNED] + (read_2ubyte_unaligned): Renamed to ... + (read_2ubyte_unaligned_1): ... this. Take bool rather than Dwarf *. + (read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order. + (read_2sbyte_unaligned): Likewise. + (read_4ubyte_unaligned): Likewise. + (read_4sbyte_unaligned): Likewise. + (read_8ubyte_unaligned): Likewise. + (read_8sbyte_unaligned): Likewise. + +2009-04-03 Roland McGrath + + * libdwP.h (IDX_eh_frame): Remove it. + * dwarf_begin_elf.c (dwarf_scnnames): Remove its element. + + 2009-06-18 Roland McGrath + + * libdwP.h (__libdw_read_address_inc): Constify. + (__libdw_read_offset_inc): Likewise. + * dwarf_getaranges.c: Likewise. + * dwarf_getlocation.c: Likewise. + * dwarf_getsrclines.c: Likewise. + * dwarf_nextcu.c: Likewise. + 2009-05-05 Petr Machata * libdwP.h (__libdw_formptr): Declare new function. diff --cc libdw/dwarf_getlocation.c index be8a33308,504db376f..f1e5dd1fc --- a/libdw/dwarf_getlocation.c +++ b/libdw/dwarf_getlocation.c @@@ -154,8 -151,8 +154,8 @@@ __libdw_intern_expression (Dwarf *dbg { case DW_OP_addr: /* Address, depends on address size of CU. */ - if (__libdw_read_address_inc (dbg, sec_index, (unsigned char **)&data, + if (__libdw_read_address_inc (dbg, sec_index, &data, - cu->address_size, &newloc->number)) + address_size, &newloc->number)) return -1; break;