diff options
Diffstat (limited to 'libdwarf/ChangeLog2006')
-rw-r--r-- | libdwarf/ChangeLog2006 | 835 |
1 files changed, 835 insertions, 0 deletions
diff --git a/libdwarf/ChangeLog2006 b/libdwarf/ChangeLog2006 new file mode 100644 index 0000000..02009d6 --- /dev/null +++ b/libdwarf/ChangeLog2006 @@ -0,0 +1,835 @@ +2006-12-05 David Anderson <davea@sgi.com> + * dwarf_error.c, libdwarf.h: added + DW_DLE_FRAME_REGISTER_COUNT_MISMATCH. + * dwarf_frame.c (_dwarf_exec_frame_instr): removed references + to compile-time constants for register table size. Now uses + run-time-chosen sizes. Now uses heap for reg table instead + of stack. Now uses SIMPLE_ERROR_RETURN macro to simplify + the code. +2006-11-08 David Anderson <davea@sgi.com> + * pro_expr.c (dwarf_add_expr_gen): DW_OP_deref_size, + DW_OP_xderef_size, and DW_OP_pick were incorrect, missing + & operator. Would coredump. Thanks to Alan Chambers for mentioning + the coredump. +2006-09-26 David Anderson <davea@sgi.com> + * dwarf_die_deliv.c (dwarf_offdie): Now returns the + correct die (worked before, almost always, but worked by accident). + Thanks to Mattias Lindblad for supplying a test case. +2006-09-01 David Anderson <davea@sgi.com> + * libdwarf2.1.mm (dwarf_loclist_n): Minor refinement + of the description. + * libdwarf2.1.ps: regenerated +2006-08-31 David Anderson <davea@sgi.com> + * libdwarf2.1.mm (dwarf_loclist_n): A location expression + sets ld_lopc to 0, ld_hipc to all-bits-on, and this + is now documented. + * libdwarf2.1.ps: regenerated +2006-06-14 David Anderson <davea@sgi.com> + * dwarf_opaque.h dwarf_frame.h dwarf_frame.c + dwarf_init_finish.c dwarf_frame2.c: Corrected handling + of eh_frame zP encoding. + Thanks to Cristi Vlasceanu for noticing it was broken. + * Makefile.in: remove libdwarf.so in 'clean' rule. + Thanks to Cristi Vlasceanu for noticing it was missing. +2006-04-28 David Anderson <davea@sgi.com> + * dwarf_frame.c: Changed local variable type to + avoid compiler warning. +2006-04-21 David Anderson <davea@sgi.com> + * dwarf_frame.c: Initialized local to 0, wrong value. + Thanks to Cristi Vlasceanu for noticing. +2006-04-18 David Anderson <davea@sgi.com> + * All *.c: Ran indent so all c files follow a standard look. +2006-04-16 David Anderson <davea@sgi.com> + * dwarf.h: Remove #if 0 around some #defines, it is ok to + leave the defines visible (the defines are HP extensions). + * libdwarf.h: Add new dwarf3 interface to frames. + (which actually is also a better interface to dwarf2 info, + not strictly for dwarf3). + * dwarf_alloc.c: Add 'constructor/destructor' pointers + to the initialization table so we can handle a more + flexible (dwarf3) frame interface.Call the functions + at the appropriate times. + * dwarf_frame.c: Using macro FDE_NULL_CHECKS_AND_SET_DBG + reduce duplicate coding.Internal code now handles dwarf2 + and dwarf3 and interfaces to exported interfaces appropriately. + * dwarf_frame.h: Alter internal struct to handle frames more flexibly. + * dwarf_frame2.c: Remove unused local variable. + * dwarf_init_finish.c: Add initialization of new Dwarf_Debug + struct entries allowing handling + of run-time-config of frame info. + * dwarf_loc.c: Add DWARF3 operators, such as DW_OP_call4. + * dwarf_opaque.h: Declaration of new Dwarf_Debug struct + entries allowing handling of run-time-config of frame info. + * pro_expr.c: Add entries allowing creation of DWARF3 DW_OP + such as call2. + * pro_section.c: Change crucial code handling section lengths, + using a macro BEGIN_LEN_SIZE to clarify and correct a few places. +2006-03-31 David Anderson <davea@sgi.com> + * libdwarf.h: Added dwarf_get_fde_info_for_cfa_reg3() prototype + preparing for dwarf3 frame interface. + * dwarf_frame.c: Now uses separate rule, not DW_FRAME_CFA_COL, + to record CFA. + * dwarf_frame.h: Add commentary on frame access. +2006-03-30 David Anderson <davea@sgi.com> + * Makefile.in configure.in: Adding --enable-shared --enable-nonshared + --disable-shared and --disable-nonshared. + * configure: regenerated with 2.59 autoconf. + * README: Added explanation on changing dwarf.h libdwarf.h. +2006-03-29 David Anderson <davea@sgi.com> + * dwarf_print_lines.c dwarf_sort_line.c: Clean up initialization + code for line table reading. When returning rules table + data to caller ensure fully filled out yet no overrun + (handling case where rules table sizes not defined identically + by caller and library). + * dwarf.h: New commentary on ABI/register-number issues. + * libdwarf.h: New commentary on ABI/register-number issues. +2006-03-26 David Anderson <davea@sgi.com> + * dwarf_line.c: file_entry_count local was not initialized. + Initialized some locals at declaration. + Thanks to Mikael Vidstedt for noticing. +2006-03-23 David Anderson <davea@sgi.com> + * dwarf_error.c: added error strings for codes 200,201 + * dwarf_line.c dwarf_line.h dwarf_print_lines.c dwarf_sort_line.c: Moved + line prefix reading to a common routine, filling in a new internal + struct to make it simple. Removed much duplicate code. + Added more support for dwarf3 line table standard opcodes. + Now prints details (with -v -v) of standard opcodes it + does not understand (if any present). +2006-03-13 David Anderson <davea@sgi.com> + * dwarf.h: add ALTIUM #defines (extensions to dwarf) + * libdwarf.h: Alter arguments to new + functions dwarf_get_fde_augmentation_data() and + dwarf_get_cie_augmentation_data() used by GNU eh_frame. + * dwarf_frame.h: Add new fields so we can handle GNU eh_frame. + * dwarf_frame.c: Remove erroneous load_sections calls (wrong for eh_frame + data) and correct the new dwarf_get_fde_augmentation_data() and + dwarf_get_cie_augmentation_data() implementation. + * dwarf_frame2.c: Implement support for GNU eh_frame. + * dwarf_line.h: Correct handling of DWARF3 opcode base check. + * dwarf_line.c: Add new macro use to get DWARF3 opcode base handling correct. + * dwarf_print_lines.c: Add new macro use to get DWARF3 opcode base handling correct. + * dwarf_sort_lines.c: Add new macro use to get DWARF3 opcode base handling correct. +2006-03-08 David Anderson <davea@sgi.com> + * dwarf_frame2.c: ensure local variables initialized + to avoid coredump. +2006-03-08 David Anderson <davea@sgi.com> + * dwarf_die_deliv.c: Remove Richard Stukey's -1 and + replace with a simpler more complete fix. +2006-03-07 David Anderson <davea@sgi.com> + * Makefile.in: Add dwarf_line2.c dwarf_frame3.c to files to build. + * dwarf_addr_finder.c: Add comments about file purpose. + * dwarf_frame.c: Move IRIX specific function out of this file. + * dwarf_frame3.c: Move IRIX specific function to this new file. + * dwarf_frame.h: Add interface declaration. + * dwarf_line.c: Move IRIX specific function out of this file. + * dwarf_line2.c: Move IRIX specific function to this new file. + * dwarf_line.h: Add interface declaration. + * dwarf_frame2.c: Altered comments so indent handles them better, + ran indent. + +2006-03-07 David Anderson <davea@sgi.com> + * dwarf_die_deliv.c (dwarf_siblingof): -1 to point to end of cu, + not one-past-end. With thanks to Richard Stuckey. + * libdwarf2.1.mm: document existing function dwarf_get_fde_exception_info() + * dwarf_frame.h: Add new internal interfaces. + * dwarf_frame.c: Remove cie/fde reader to dwarf_frame2.c. + * dwarf_frame2.c: Contains heavily refactored cie/fde reader, + preparing for eh_frame support and avoids some searching + in fde creation. Removes duplicated code into new + internal functions. + * Makefile.in: Adding comment about flag for malloc_checking + code. Add dwarf_frame2.c to source list. + * libdwarf.h: added declarations for eh_frame information, though + these are not yet supported. + * dwarf.h: Added defines for eh_frame information, though these + are not yet used. +2006-02-23 David Anderson <davea@sgi.com> + * dwarf_line.h dwarf_line.c: added dwarf_line_srcfileno() + to complement dwarf_lineno. + * libdwarf2.1.mm: document dwarf_line_srcfileno(). + +2005-11-25 David Anderson <davea@sgi.com> + * dwarf.h: Now matches 2005 DWARF3 public review document. + +2005-11-08 David Anderson <davea@sgi.com> + * dwarf_alloc.c, dwarf_init_finish.c, dwarf_sort_line.c, malloc_check.c: + remove malloc.h include, it is not needed, stdlib.h suffices. + +2005-10-24 David Anderson <davea@sgi.com> + * dwarf.h: Updated to match DWARF3 public review document. + +2005-10-03 David Anderson <davea@sgi.com> + * dwarf_alloc.c: Change some entries to BASE_ALLOC. + * dwarf_global.h: Add argument to interface so we do not + universally use DW_DLA_GLOBAL, but cater to compatibility. + * dwarf_funcs.c, dwarf_global.c, dwarf_weaks.c, + dwarf_funcs.c, dwarf_types.c: Restored use of DW_DLA_* + instead of universally using DW_DLA_GLOBAL. + * dwarf_pubtypes.c: added comments about DW_DLA_GLOBAL use. +2005-08-01 David Anderson <davea@sgi.com> + * malloc_check.c: Moved the #ifdef WANT_LIBBDWARF_MALLOC_CHECK + down after #includes so the test is meaningful. +2005-07-15 David Anderson <davea@sgi.com> + * libdwarf.h: New DW_DLA codes and full .debug_types support added. + new dealloc functions declared. + * Makefile.in: Add dwarf_pubtypes.o (.debug_pubtypes support). + * dwarf_abbrev.c: Add dealloc() calls where needed. + * dwarf_alloc.c: Add dwarf_malloc_check calls, rename and + update _DW_RESERVE to DW_RESERVE, make hash table declaration + in array more readable. Add optional final dealloc loop. + * dwarf_alloc.h: Increase the index array to add .debug_pubtypes + support. + * dwarf_base_types.h: Increase the index array to add .debug_pubtypes + support. + * dwarf_die_deliv.c: Add dealloc calls to get full dealloc. + * dwarf_error.c: Document new error codes for .debug_pubtypes. + * dwarf_init_finish.c: Add .debug_pubtypes support, add + dwarf_malloc_check_complete() call for alloc checking. + * dwarf_form.c: Document dwarf_formstring() use. + * dwarf_frame.c: Add dwarf_fde_cie_list_dealloc() for + complete dealloc. + * dwarf_global.h: Add _dwarf_internal_globals_dealloc + declaration for libdwarf-internal use. + * dwarf_global.c dwarf_funcs.c dwarf_types.c dwarf_vars.c + dwarf_weaks.c: Add new dealloc public routines for + complete dealloc and add .debug_pubtypes support. + * dwarf_pubtypes.c: Support for .debug_pubtypes. + * dwarf_malloc_check.h dwarf_malloc_check.c : New checking + for complete accurate dealloc (off by default). + * dwarf_opaque.h: Add internal .debug_pubtypes support. + * libdwarf2.1.mm: Document new dealloc code, correct + dwarf_formstring documentation. + +2005-07-14 David Anderson <davea@sgi.com> + * dwarf_line.c: Added dwarf_srclines_dealloc and call it + for dwarf_srclines output. Does complete deallocation, + unlike previous method, which was incomplete deallocation. + Thanks to Alan Alexander for pointing out there was + incomplete deallocation. + * dwarf_print_lines.c: remove references and allocation + of line_context. Memory was leaking due to unreferenced + variable. + * libdwarf2.1.mm: Document new dwarf_srclines_dealloc() + deallocation routine for dwarf_srclines(). + +2005-07-13 David Anderson <davea@sgi.com> + * dwarf_init_finish.c (dwarf_init): if _dwarf_setup() fails, + free elf resources with elf_end() call. + Thanks to Cristi Vlasceanu for pointing out that a memory + leak existed here. + +2005-06-13 David Anderson <davea@sgi.com> + * dwarf_frame.c (_dwarf_exec_frame_instr): Corrected test + so that .o files (pre-relocation) are less likely to generate + DW_DLE_DF_NEW_LOC_LESS_OLD_LOC error. Renamed local variable + for better readability. +2005-04-13 David Anderson <davea@sgi.com> + * dwarf_error.c: Error codes 194 and 195 were missing + strings, added them to table. + * dwarf_frame.c: Check for newer gcc .eh_frame + augmentation strings and avoid trying to handle these + for now. + * dwarf_global.c: Add an error check for + pubnames-style sections for bad offset. + * dwarf_init_finish.c: Add dwarf_get_section_max_offsets() + to allow clients to do additional error checking. + This code will have to change again, so leaving it + undocumented. As written it's not useful for COMDAT + style DWARF sections. + * libdwarf.h: Added prototype for dwarf_get_section_max_offsets(). + +2005-03-31 David Anderson <davea@sgi.com> + * mips_extensions.mm: Documented the libexc/.debug_funcnames + dependency and the 64bit-offset DWARF extension. + * mips_extensions.ps: Regenerated. + +2005-03-21 David Anderson <davea@sgi.com> + * dwarf_line.c: Added commentary. + * libdwarf2.1.mm: Documented dwarf_lineendsequence() better. + * libdwarf2.1.ps: Regenerated. + * libdwarf.h: Added DW_DLE_FRAME_AUGMENTATION_UNKNOWN as + error code 195. + * dwarf_init_finish.c: Corrected comment spelling. + * dwarf_frame.h dwarf_frame.c: Added handling for + much (but not all) of gcc 3.3 gcc 3.4 .eh_frame + 'z' augmentation. Gives error on attempting + to get z augmentation data since such is not + completely handled. + +2005-03-18 David Anderson <davea@sgi.com> + * dwarf_frame.h dwarf_frame.c: The gcc .eh_frame + info did not print correctly so we now access the + correct section data so it prints. Still no support + for dwarf3 frame operators. + * dwarf_macro.c: Detect end-of-macros properly + (stopped too soon before). + +2005-02-14 David Anderson <davea@sgi.com> + * pro_incl.h: Added #elif defined(HAVE_LIBELF_H) + enabling build on a platform missing normal elf.h. + +2005-02-11 David Anderson <davea@sgi.com> + * dwarf_base_types.h: Added DW_CIE_VERSION3 define. + * dwarf_die_deliv.c: Allowed CURRENT_VERSION_STAMP3. + * dwarf_frame.c: Allowed DW_CIE_VERSION3. + * dwarf_frame.h: Define DW_DEBUG_FRAME_VERSION3. + * dwarf_line.c: Allow CURRENT_VERSION_STAMP3. + * dwarf_line.h: Add lc_version_number to line structure. + * dwarf_opaque.h: Add CURRENT_VERSION_STAMP3 and comment showing + version numbers (DWARF3 vs DWARF2) by DWARF section. + +2004-11-21 David Anderson <davea@sgi.com> + * configure.in libdwarfdefs.h: Now tests more precisely for __uint32_t + and __uint64_t (previous test was not sufficient for debian/mips). + Regenerated configure config.h.in. + +2004-10-28 David Anderson <davea@sgi.com> + * LIBDWARFCOPYRIGHT Makefile.in NEWS config.h dwarf_abbrev.c + dwarf_abbrev.h dwarf_addr_finder.c dwarf_alloc.c dwarf_alloc.h + dwarf_arange.c dwarf_arange.h dwarf_base_types.h dwarf_die_deliv.c + dwarf_die_deliv.h dwarf_error.c dwarf_error.h dwarf_form.c + dwarf_frame.c dwarf_frame.h dwarf_funcs.c dwarf_funcs.h + dwarf_global.c dwarf_global.h dwarf_incl.h dwarf_init_finish.c + dwarf_leb.c dwarf_line.c dwarf_line.h dwarf_loc.c dwarf_loc.h + dwarf_macro.c dwarf_macro.h dwarf_opaque.h dwarf_print_lines.c + dwarf_query.c dwarf_sort_line.c dwarf_string.c dwarf_stubs.c + dwarf_types.c dwarf_types.h dwarf_util.c dwarf_util.h + dwarf_vars.c dwarf_vars.h dwarf_weaks.c dwarf_weaks.h + libdwarfdefs.h pro_alloc.c pro_alloc.h pro_arange.c pro_arange.h + pro_die.c pro_die.h pro_encode_nm.c pro_encode_nm.h pro_error.c + pro_error.h pro_expr.c pro_expr.h pro_finish.c pro_forms.c + pro_frame.c pro_frame.h pro_funcs.c pro_funcs.h pro_incl.h + pro_init.c pro_line.c pro_line.h pro_macinfo.c pro_macinfo.h + pro_opaque.h pro_pubnames.c pro_pubnames.h pro_reloc.c + pro_reloc.h pro_reloc_stream.c pro_reloc_stream.h pro_reloc_symbolic.c + pro_reloc_symbolic.h pro_section.c pro_section.h pro_types.c + pro_types.h pro_util.c pro_util.h pro_vars.c pro_vars.h + pro_weaks.c pro_weaks.h: Copyright update with + 2004 and new SGI official address. + +2004-10-26 David Anderson <davea@sgi.com> + * acconfig.h: removed. Was old style autoconf usage. + * configure.in: Updated AC_DEFINE usage, adding args 2 & 3. + * config.guess: Updated. timestamp='2004-06-11'. + * config.sub: Updated. timestamp='2004-03-12'. + * configure config.h.in: regenerated with autoconf 2.58. + +2004-06-09 David Anderson <davea@sgi.com> + * dwarf_frame.c (_dwarf_exec_frame_instr): + Was not setting ru_offset to 1 in DW_CFA_def_cfa_offset + case, now it does. + +2004-02-24 David Anderson <davea@sgi.com> + * dwarf_frame.c (_dwarf_exec_frame_instr): + DW_CFA_def_cfa_register case, was setting offset, which + is incorrect. Thanks to Tom Hughes <thh@cyberscience.com> + for pointing this out. + +2004-02-03 David Anderson <davea@sgi.com> + * dwarf_util.h: DECODE_LEB128_UWORD DECODE_LEB128_SWORD + were simply wrong if Dwarf_Word or + Dwarf_Sword longer than 4 bytes. Upper bits left random. + Large values not extracted correctly. + +2004-01-15 David Anderson <davea@sgi.com> + * dwarf_alloc.c pro_alloc.c pro_init.c: changing BSD-ish bzero() + to posix-standard memset() calls. + * configure.in: remove bstring.h test, add alloca.h test. + No longer useing bzero, some environments have alloca + in malloc.h, no alloca.h. If neither exist + it's up to you to deal with it. + * dwarf_line.c dwarf_print_lines.c dwarf_sort_line.c: Test + HAVE_ALLOCA_H + * configure config.h.in: regenerated + +2003-12-31 David Anderson <davea@sgi.com> + * dwarf_init_finish.c: added #error to detect and describe + absence of libelf.h. + * README: Added mention of libelf.h requirement, minor + cleanout of obsolete comments, added configure example. + * Makefile.in: Removed bogus LIBS line, updated copyright date. + * acconfig.h: Updated copyright date. + * config.guess config.sub: new versions from automake-1.6. + * config.h.in configure: Regenerated. + +2003-12-15 David Anderson <davea@sgi.com> + * dwarf_init_finish.c (_dwarf_setup): test for (section_size) + was wrong for eh_frame section. Changed this one to + (section_size == 0) so it is like all the others testing + section_size. Thanks to David Mosberger + for pointing out this inconsistency. + +2003-12-08 David Anderson <davea@sgi.com> + * dwarf_line.h: reference in comment to li_dbg meant to + refer to li_offset. Corrected and amplified comment. + +2003-10-06 David Anderson <davea@sgi.com> + * dwarf_abbrev.c dwarf_die_deliv.c dwarf_form.c dwarf_loc.c + dwarf_util.c: applied indent(1). + +2003-10-02 David Anderson <davea@sgi.com> + * dwarf_loc.c: Implemented dwarf_get_loclist_entry(), + implemented new dwarf_loclist_n() fully implementing + loclist support. + * dwarf_stubs.c: removed dwarf_get_loclist_entry stub. + * libdwarf2.1.mm: Documented dwarf_loclist_n() and + updated documentation on dwarf_loclist(). + +2003-09-29 David Anderson <davea@sgi.com> + * dwarf_abbrev.c: Ensure the .debug_abbrev section is loaded. + * dwarf_arange.c dwarf_global.c: Recent dwarf committee + discussions have revealed we were wrong in not allowing + padding in aranges. + * dwarf_die_deliv.c dwarf_query.c: handle DW_FORM_indirect. + * dwarf_form.c: Add dwarf_whatform_direct() so folks + can report on DW_FORM_indirect use. + Fill in new Dwarf_Locdesc fields. + * dwarf_loc.c: Handle .debug_loc partially. + Fill in new Dwarf_Locdesc fields. + Load .debug_loc if not present and if it's needed. + * dwarf_opaque.h: Added ar_attribute_form_direct field + so we can report DW_FORM_indirect + in libdwarf-using code (where such wants to). + * dwarf_util.c: Don't confuse DW_FORM_indirect uleb length + with other lengths. + * libdwarf2.1.mm: Document new function dwarf_whatform_direct() + Not needed by ordinary clients, just for clients + wanting to print certain debug info. + +2003-04-15 Brian Ford <ford@vss.fsi.com> + * configure.in (AC_C_BIGENDIAN): Move after AC_PROG_CC so a proper + working compiler is used for the test. + +2003-01-21 David Anderson <davea@sgi.com> + * dwarf_die_deliv.c (dwarf_next_cu_header, dwarf_offdie): + Add calls to dwarf_load_object() to load .debug_info, + .debug_abbrev + * dwarf_init_finish.c (_dwarf_setup): Remove calls to + dwarf_load_object for .debug_info, .debug_abbrev sections. + * dwarf_opaque.h: Add new fields to Dwarf_Debug so + we don't need to pre-load .debug_info, .debug_abbrev + * dwarf_util.h: Fix READ_AREA_LENGTH macro so it uses + only length itself to determine which format the + length is. + +2003-01-14 David Anderson <davea@sgi.com> + * dwarf_loc.c: Made comment at head of dwarf_loclist() + a bit clearer. + +2002-11-22 Tom Hughes <thh@cyberscience.com> + * dwarf_macro.c: Corrected bugs in macro-info functions. + +2002-10-29 David Anderson <davea@sgi.com> + * dwarf_init_finish.c: The libelf_sgi mods + left a HAVE_ELF64_GETSHDR ifdef in the wrong place + so folks without Elf64 could not build. Fixed. + +2002-10-21 David Anderson <davea@sgi.com> + * dwarf_form.c: the form_ref functions were failing to + add in cc_extension_size when checking for offset + legality. Thanks to Kelly O'Hair <kelly.ohair@sun.com> + for pointing out the 4 places this was wrong. + Used cu_context local pointer to avoid numerous + double indirections. + +2002-08-14 David Anderson <davea@sgi.com> + * dwarf_string.c (dwarf_get_str): Return + DW_DLV_NO_ENTRY when offset is just at the end of the + sections, making it possible to use dwarf_get_str + to print the section independently. + * libdwarf2.1.mm, libdwarf2.1.ps: Document the + revised dwarf_get_str interface (which was not + fully thought thru before). + * dwarf_line.c (dwarf_srcfiles): Avoid core dump + when DW_AT_comp_dir absent (it's not required). + + +2002-07-31 David Anderson <davea@sgi.com> + * pro_types.c (_dwarf_transform_simplename_to_disk): correct + generation of .debug_info size field. + Thanks to Kelly O'Hair <kelly.ohair@sun.com> for pointing out + the bug. + +2002-05-23 Daniel Gohman <gohmandj@sgi.com> + * dwarf_init_finish.c: Add support for using SGI's + ELF library as an alternative to using AT&T-style + libelf. + Add a new function _dwarf_load_section to handle + loading of sections. + * dwarf_opaque.h: Add entries to Dwarf_Debug_s to + store section indicies. + * most consumer files: Load sections on demand so + that unneeded sections don't get loaded. + * dwarf_init_finish.c: Fixed an incorrect check for + duplicate .eh_frame sections. + +2002-04-25 Kelly O'Hair <kelly.ohair@sun.com> + * pro_section.c (_dwarf_pro_generate_debuginfo): add + required dwarf2 sec 7.5.3 trailing null byte + to .debug_abbrev per compilation-unit. + +2002-03-31 David Anderson <davea@sgi.com> + * dwarf_abbref.c (dwarf_get_abbrev): change + DW_DLE_DEBUG_ABBREV_NULL to DW_DLE_DWARF_ABBREV_NULL. + Former was wrong code. + * libdwarf2.1.mm: correct argument reference, returned_abbrev + not returned_fde in dwarf_get_abbrev discussion. + +2002-03-07 David Anderson <davea@sgi.com> + * libdwarf.h: added struct Elf declaration + to reduce dependency on header include ordering. + +2002-02-11 David Anderson <davea@sgi.com> + * libdwarf2.1.mm libdwarf2.1.ps: + dwarf_offdie can return DW_DLV_NO_ENTRY and that + is now documented. + * dwarf_loc.c: if the length of a location description + is zero that is ok, not an error. dwarf2 sec 2.4.1. + +2002-01-10 David Anderson <davea@sgi.com> + * dwarf_opaque.h, dwarf_init_finish.c: if libdwarf does + the elf_begin() it must also do the elf_end() to + avoid a memory leak, and now does this correctly. + +2002-01-10 David Anderson <davea@sgi.com> + * dwarf_init_finish.c: Using a variable to + hold ELF_C_READ_MMAP. Really motivated by + code not added to this source. + * dwarf_die_deliv.c: Added comments, moved + a couple variables to local scope from function scope. + + * dwarf.h: Added some #defines which were specified in the Dwarf + 2.1 Dwarf draft 5 (now called dwarf 3 draft 5). + +2001-09-18 David Anderson davea@sgi.com + * all files: applied gnu indent with + -bad -bap -nbbo -br -ce -brs + -l72 -lc72 -hnl -nprs + -fca -i4 -lp -psl -npcs + Code should use this set in libdwarf. + + +2001-08-21 "kelly o'hair" <kelly.ohair@eng.sun.com> + * pro_section.c: If one called dwarf_add_file_decl() + or dwarf_add_directory_decl() but never added a line, + .debug_line was not produced. This was a mistake, + as if any file or directory was provided .debug_line + should be produced. + +2001-08-06 davea@sgi.com + * libdwarf2.1.mm: documented dwarf_dealloc rules + more clearly. (.ps updated too) + * mips_extensions.mm: documented the way SGI + gets frame stack pointer out of debug_frame. + (.ps updated too) + +2001-06-14 davea@sgi.com + * dwarf_leb.c: changed around where bytes counted in + _dwarf_decode_s_leb128 so it's easier to tell it is correct. + And removed one loop completely: it was + an early attempt at performance improvement and + is no longer relevant. + + * dwarf_global.c: added new + dwarf_get_cu_die_offset_given_cu_header_offset function + to get CU die offset (as the long name says). + A variety of functions return cu-header-offsets, so + this is useful at times. + Used locals to reduce the number of indirections + and make things easier to follow. + + * dwarf_arange.c: added new dwarf_get_arange_cu_header_offset + function so dwarfdump could print the cu header offset + (which appears in the arange headers). + + * libdwarf2.1.mm: documented the above new functions. + +2001-06-07 davea@sgi.com + * dwarf_leb.c: shift operator was not being applied + to full size of Dwarf_Signed/Unsigned for 64bit + Dwarf_Signed/Unsigned (ILP32 compile) so + large numbers not decoded if signed. + * pro_encode_nm.c: added {} in a couple if/else + for 'clarity' and to make inserting debug printf easier. + * pro_expr.c: Added comments explaining why possible + compiler (gcc) warnings are ok, the result is safe. + +2001-05-30 davea@sgi.com + * pro_reloc_stream.c: Wrote Set_REL32_info and + Set_REL64_info macros + from generic ELF abi documents to make use acceptable + when IRIX elfaccess.h is not available. + +2001-05-30 "kelly o'hair" <kelly.ohair@eng.sun.com> + * Makefile.in: was missing pro_macinfo.o + pro_encode_nm.o dwarf_macro.o from the OBJS list. + +2001-05-22 davea@sgi.com + * dwarf_frame.c, pro_expr.c: Added comments on why + casts are safe in spite of gcc warnings (4 places total). + +2001-05-18 Dan Gritter <dgritter@us.ibm.com> + * dwarf_loc.c DW_OP_bregx operands are unsigned + reg num followed by signed offset. + +2001-04-11 David Anderson <davea@sgi.com> + * dwarf_die_deliv.c: check for 0 abbreviation code + and return a 'no entry' return value when found. + (normal dwarf2, 0 means no DIE, the end of some set of DIEs.) + +2001-01-16 David Anderson <davea@sgi.com> + + * pro_die.c: set ar_reloc_len field + in all cases. + +2000-12-14 David Anderson <davea@sgi.com> + + * dwarf_frame.h: clarified some comments. + +2000-12-14 Ulrich Drepper <drepper@cygnus.com> + + * dwarf_line.c: Now sets DW_LNE_end_sequence to + default_is_stmt, the correct value, not is_stmt. + + +2000 Aug 24 davea@sgi.com + dwarf_error.c: a dwarf_init() failure resulted in this + using a static Dwarf_Error struct. And dwarf_dealloc + did not deal properly with that. + dwarf_alloc.c dwarf_alloc.h: these had DYNAMIC_CHUNK protected code + which was never used. Deleted the unused code. Added a small + comment (hopefully useful) to dwarf_alloc.h. + + And now deals correctly with a null dbg on + DW_DLA_ERROR due to failed + dwarf_init() call (or due to other error in calling + libdwarf that results in libdwarf not knowing the dbg, + a likely far more common case) and frees the memory. + This used to result in chaos (depending on your + luck...). + +2000 Aug 23 davea@sgi.com + libdwarf2.1.mm, ps. Failed to mention that dwarf_finish() + has to be accompanied by elf_end() if dwarf_init() was used + to initialize libdwarf to truly release all stuff. + Added text to dwarf_finish() describing how to do that. +2000 April 14 davea@sgi.com + + dwarf_abbrev.c - 1.22 + - When it is a null abbrev entry, return it correctly so it can be + printed (meaning fill out all the return-parameters so the caller can + do the right thing). + + dwarf_init_finish.c - 1.48 + - For most sections, simply having an empty section (present but empty) + is just fine. There is no reason to register an error in such a case. + + Copyright has changed. See LIBDWARFCOPYRIGHT and NEWS + + dwarfdump/print_die.c - 1.42 + - Explain what combo checker is doing and make it more maintainable (and fix bug which would not be hit, but was real enough). + + dwarfdump/tag_tree.list - 1.2 + - Add valid parent/child relationships so checker does not report valid + entries as bogus. + + dwarf_form.c - 1.26 + - Correct dwarf reader to use appropriate size, not de_length_size. This is part of the handling of the new dwarf2 64bit facilities. I + overlooked this small aspect before in one place + dwarf_query.c - 1.48 + - Use correct size, not de_length_size. For offset size. + libdwarf2.1.mm - 1.41 + - Tried to make frame register output args meaning clearer + libdwarf2.1.ps - 1.19 + - Tried to make frame register output args meaning clearer + pro_forms.c - 1.33 + - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2 + spec. even if pointer size is 64 bits. + pro_init.c - 1.18 + - Get ref4, not ref8 when generating 32bit dwarf per original dwarf2 + spec. even if pointer size is 64 bits. + + +davea@sgi.com + + +2000 March 7 +dwarf_line.c - 1.48 +dwarf_line.h - 1.16 +dwarf_print_lines.c - 1.10 +dwarf_sort_line.c - 1.8 + - Now handles opcode_base of line section to be other than that at + compile time of libdwarf. +Important as the dwarf2 committee is adding a new standard opcode +davea@sgi.com + +2000 Feb 24 +pro_forms.c 1.31 ar_next field not always zeroed before. +Could lead to infinite loop in the producer code. +Now the field is always zeroed. + +Makefile.in - 1.3 Jason Merrill <jason@cygnus.com> + provided fix so gcc will work on libdwarf +print_sections.c - 1.54 - casts to avoid warnings + +davea@sgi.com + + +1999 Dec 14 +acconfig.h - 1.3 +config.h.in - 1.5 +configure - 1.4 +configure.in - 1.5 + - HAVE_DWARF2_99_EXTENSION HAVE_OLD_DWARF2_32BIT_OFFSET + refinements added. +CHANGES - 1.3 +Makefile.base - 1.98 +NEWS - 1.5 +config.h - 1.4 +config.h.in - 1.4 +configure.in - 1.4 +dwarf_alloc.c - 1.36 +dwarf_arange.c - 1.19 +dwarf_arange.h - 1.6 +dwarf_die_deliv.c - 1.51 +dwarf_frame.c - 1.62 +dwarf_frame.h - 1.23 +dwarf_funcs.c - 1.10 +dwarf_funcs.h - 1.3 +dwarf_global.c - 1.21 +dwarf_global.h - 1.7 +dwarf_init_finish.c - 1.45 +dwarf_line.c - 1.44 +dwarf_opaque.h - 1.52 +dwarf_print_lines.c - 1.8 +dwarf_query.c - 1.45 +dwarf_types.c - 1.10 +dwarf_types.h - 1.3 +dwarf_util.c - 1.40 +dwarf_util.h - 1.22 +dwarf_vars.c - 1.11 +dwarf_vars.h - 1.3 +dwarf_weaks.c - 1.10 +dwarf_weaks.h - 1.3 +libdwarf2.1.mm - 1.40 +libdwarf2.1.ps - 1.18 +pro_arange.c - 1.15 +pro_die.c - 1.23 +pro_frame.c - 1.29 +pro_init.c - 1.15 +pro_macinfo.c - 1.7 +pro_opaque.h - 1.14 +pro_pubnames.c - 1.18 +pro_reloc_stream.c - 1.5 +pro_section.c - 1.70 +pro_section.h - 1.16 +pro_types.c - 1.12 + - Allowing generation of correct dwarf2 with the 1999 64bit dwarf + extension, and reading all forms of dwarf2 compatibly (all 32/64bit + dwarf2 section forms). + +This adds the ability to consume and produce both sgi 64bit +and the new dwarf2 committee-approved 64bit dwarf extension. +As a result of the new dwarf2 stuff , a producer (compiler) +can mix 32 and 64bit dwarf (for a 64bit object) and the +linker will work seamlessly. (as long as section sizes don't +get over 2GBytes). + +And the producer is easily configured to produce mips/sgi style +64bit dwarf or the new form of 64bit dwarf. + +This also eliminates a fair amount of rather silly duplicated code. +davea@sgi.com + + +1999 Nov 4 + +pro_section.c - 1.69 + - A pointer size entity had an offset-size value used at one place. +davea@sgi.com + +1999 Sep 30 +dwarf_arange.c - 1.18 + - Changed // comment to /* */. // failed to compile + with C89 compiler... +davea@sgi.com + + +1999 Sep 29 +Changed all the producer code +substantially to allow generating assembler code +for the dwarf2 (rather similar to what gcc does) +allowing symbolic relocations. +MIPS output still generates the binary form. +davea@sgi.com + + + +1999 Aug 20 +Stan Shebs (shebs@cygnus.com) pointed out that the pro_util.h +use of R_MIPS* was a problem compiling on Sun. +Since the producer code is not really used at present except for +MIPS/sgi, I've added #ifndefs to pro_util.h which provide zero values +when <elf.h> does not provide the macros. +When anyone needs the producer code to actually *work* for non-MIPS +something better will have to be done. + +This has no effect on those simply compiling libdwarf for +use by dwarfdump. +davea@sgi.com + +1999 July 21 +Changed the READ_UNALAGNED macro to call a function +depending on endianness of the host and the object being read. +So all the dwarf_* source changed in a trivial way. +Added support for printing egcs eh_frame section. +Added a local memcpy-like function to do the cross-endian +thing where applicable (called by READ_UNALIGNED macro). +Because the .eh_frame section +after linking can have some zeroed out bytes at the +end of the CIE/FDE data the code looking for CIEs and FDEs +now assumes a zero CIE/FDE length means it has reached +the end of the CIE/FDE data. +davea@sgi.com + + +1999 June 14 + Fred Fish fnf@ninemoons.com contributed + autoconf'ing of the libdwarf and dwarfdump source. + + + mips_extensions.* Documented additional old errors + in the Dwarf Version 2 spec. + + The ChangeLog before this is incomplete. + +------------------------------------------------------------- +Since Oct 95 and before May, 1996 davea@sgi.com David Anderson + +Added the function dwarf_get_cie_of_fde() which makes it possible +to remember a single fde/cie set out of a block usefully. + +Enhanced doc of dwarf_bitoffset() + +Added new function dwarf_global_formref() so all reference +forms can be retrieved. + +Fixed bug in retrieving array bounds: was failing to sign extend +formsdata. + +Added function dwarf_get_fde_info_for_all_regs(), which makes +retrieval of the complete set of registers (as needed by +debuggers and exception handlers) effectively N times faster +than getting them one a time where N is the number of registers. + +Added support for exception table handling (really just support +for a reference to an exception table for c++ exceptions). + +Fixed a bug where useless extra space (several megabytes) +were malloc'ed for the abbreviations table by the libdwarf +consumer code. + +------------------------------------------------------------- +June 10, 1999 + Changelog started. +------------------------------------------------------------- |