2007-12-09 DavidAnderson * dwarf_sort_line.c dwarf_print_lines.c darf_frame.c: Forgot to commit yesterday. Today's commit includes renaming _dwarf_fde_section_offset _dwarf_cie_section_offset, _dwarf_print_lines, _dwarf_ld_sort_lines to dwarf_* name while retaining support for the now obsolete _dwarf_* form. 2007-12-08 DavidAnderson * config.h.in, configure.in: Latest linux libelf.h requires _GNU_SOURCE to get off64_t defined so dwarfdump compiles. Only define _GNU_SOURCE if libelf.h defines off64_t. Regenerated configure. * config.guess, config.sub: Updated to 2.61 * acconfig.h: Deleted, removing autoconf complaint. 2007-11-14 David Anderson * dwarf_frame2.c (gnu_aug_encodings): Now allows 'S' augmentation character in eh_frame. 2007-10-16 David Anderson * dwarf_alloc.c: Reformat a comment. * dwarf_die_deliv.c (dwarf_siblingof): When there is no trailing null-DIE in the section, ensure we don't test the contents of a byte past section end. * dwarf_frame.c: Changed spelling of a local variable so it is easier to grep for and to read. * dwarf_macro.c (free_macro_stack): Was free()ing memory that _dwarf_get_alloc() had supplied, which could lead to core dump. Fixed potential memory leaks (said leaks only possible with an error in the macro data, not with valid macro section data). 2007-10-15 David Anderson * dwarf_alloc.c: The code supporting the special build flag DWARF_SIMPLE_MALLOC was broken and could coredump libdwarf (which did not affect normal use of libdwarf). * dwarf_opaque.h: Remove the field de_simple_malloc_current as it is no longer used. 2007-09-04 David Anderson * pro_forms.c: Add commentary relating to the recent DWARF4 DW_AT_high_pc change. Correct FSF address. * libdwarf2p.1.mm: Document dwarf_add_AT_dataref() and dwarf_add_AT_ref_address(). * libdwarf2p.1.pdf: Regenerate. * dwarf.h: Update FSF address. * dwarf_opaque.h: Add DWARF4 entry (version stamp). Update FSF address. * dwarf_die_deliv.c: Add check for .debug_info version 4 (version stamp). Update FSF address. * libdwarf.h pro_macinfo.h pro_line.h dwarf_incl.h pro_alloc.h pro_section.h libdwarfdefs.h pro_util.h dwarf_vars.h dwarf_funcs.h pro_error.h dwarf_alloc.h pro_arange.h dwarf_arange.h pro_die.h dwarf_global.h pro_expr.h pro_reloc_stream.h pro_incl.h pro_encode_nm.h dwarf_line.h pro_frame.h pro_opaque.h dwarf_error.h dwarf_base_types.h dwarf_abbrev.h pro_types.h pro_reloc_symbolic.h dwarf_weaks.h dwarf_util.h dwarf_loc.h malloc_check.h dwarf_die_deliv.h acconfig.h dwarf_frame.h dwarf_macro.h pro_reloc.h dwarf_types.h pro_funcs.c Makefile.in pro_forms.c pro_line.c dwarf_print_lines.c pro_alloc.c pro_init.c dwarf_addr_finder.c pro_section.c dwarf_form.c dwarf_query.c dwarf_vars.c dwarf_pubtypes.c dwarf_frame3.c dwarf_funcs.c pro_error.c pro_arange.c dwarf_alloc.c dwarf_arange.c pro_die.c dwarf_sort_line.c dwarf_global.c dwarf_init_finish.c pro_weaks.c pro_pubnames.c pro_expr.c pro_reloc_stream.c pro_finish.c pro_encode_nm.c dwarf_line.c pro_frame.c dwarf_error.c dwarf_abbrev.c pro_types.c dwarf_leb.c pro_reloc_symbolic.c dwarf_string.c pro_vars.c dwarf_line2.c dwarf_weaks.c dwarf_frame2.c dwarf_util.c dwarf_loc.c LIBDWARFCOPYRIGHT malloc_check.c dwarf_die_deliv.c dwarf_frame.c dwarf_stubs.c dwarf_macro.c pro_reloc.c dwarf_types.c pro_macinfo.c: Update FSF address. 2007-07-26 David Anderson * pro_frame.c: Added commentary about some missing DWARF3 support. * dwarf_srclines_dealloc.c: File unused, now deleted. 2007-07-04 David Anderson * libdwarf.h: dwarf_get_loclist_entry() is implemented, removed the erroneous 'unimplemented' comment. * libdwarf2.1.mm: Improved the dwarf_get_loclist_entry() documentation. * libdwarf2.1.pdf: regenerated * dwarf_loclist_entry.c: Removed from distribution, the source has nothing of interest. 2007-07-03 David Anderson * libdwarf.h: Add declaration of dwarf_loclist_from_expr(); * dwarf_loc.c: Implement dwarf_loclist_from_expr() and add sign-extension macro calls to case DW_OP_const4s numbers. Removed unused local variables. * dwarf_form.c: Removed unused local variables. * libdwarf2.1.mm: Document dwarf_loclist_from_expr(). * libdwarf2.1.pdf: Regenerated. 2007-07-01 David Anderson * dwarf_frame2.c: Add commentary. * dwarf_frame.c: Add in block_len for DW_CFA_val_expression so libdwarf does not get confused by this frame expression operator. Thanks to Cristian Vlasceanu for providing a test case. 2007-06-29 David Anderson * README: added a note that a few warnings about conversions from pointer to integer are normal at libdwarf compile time. 2007-05-25 David Anderson * dwarf_frame2.c (_dwarf_get_fde_list_internal): Correct cie-list-creation so it adds to the tail of the list. gcc 4.1.2 generates cie-use in an order the code did not properly handle. 2007-05-08 David Anderson * Makefile.in: Now generates pdf files. * mips_extensions.mm: The only changes were to eliminate unsupported macro (.PM) and to try to get correct output from groff. No technical content change intended. The pdf/postscript output remains a little odd though. * libdwarf2.1.mm: Remove troff comment line. 2007-04-18 Chris Quenelle * dwarf_addr_finder.c: repaired comment * dwarf_form.c: add support for DW_AT_SUN_func_offsets * pro_alloc.c: add memory block tracking to find and fix lingering allocations. This is more important for very large and intensive compiles. * pro_die.c: Implement "markers" which are a generic way to do things like relocations. You can set a marker on any die, and when dwarf is produced in binary form, you get back a list of your markers with the offset of each one in the binary output. This is used by the Sun compilers to implement die references that span compile unit blocks. (I may remove this, it might be unused code related to partial_units and comdat support) * pro_die.c: Also check for loops in the die relationships so that if you add a child twice, or other errors, you won't get an infinite loop or a crash. Also start passing a DBG structure to all allocation calls to help with memory block tracking. * pro_expr.c: Add a public function to "reset" an expr. This allows the same expr object to be reused over and over to save memory if you're creating many many expressions for a location list. * pro_finish.c: Free any left over blocks when the user calls dwarf_producer_finish. * pro_forms.c: More support for compressed integer blocks. Modify error diagnostics so that user-defined attributes can be any type. Add support for dwarf_add_AT_ref_address which is just like dwarf_add_AT_address, only it produces a DW_FORM_ref_addr instead of DW_FORM_addr. This is needed for cross-CU die pointers. * pro_incl.h: add macros to control the spelling of relocation types. * pro_init.c: use new macros to control reloc types * pro_line.h: correct minimum instruction length on x86 * pro_opaque.h: add support for markers (see above) and also ability have libdwarf tell the caller where the string constants are so that they can be recorded as strings in case the binary output of libdwarf needs to be converted back into assembly. That's what Dwarf_P_Per_Sect_String_Attrs is about. Remove de_mem_list as it is never used. * pro_reloc_stream.c: repair prototype and comment for _dwarf_pro_reloc_name_stream64, and use relocation type macros. * pro_section.c: support for markers (see above) and for tracking inline string attributes. Add code to sort the attributes so that abbreviation table entries will be reduced. Change treatment of DW_FORM_ref_addr to be more correct. Some support for packing in the middle of sections, this will probably be removed. Also pass DBg structure to more allocations. * pro_util.h: relocation type values can't be zero. 2007-04-10 David Anderson for free() declaration. * dwarf_print_lines.c pro_section.c dwarf_query.c dwarf_alloc.c dwarf_arange.c dwarf_sort_line.c dwarf_global.c dwarf_line.c dwarf_abbrev.c dwarf_srclines_dealloc.c dwarf_frame2.c dwarf_util.c dwarf_loc.c dwarf_die_deliv.c dwarf_frame.c dwarf_macro.c: indent run with standard libdwarf options. 2007-02-20 David Anderson