2014-05-19  David Anderson
     * dwarf_init_finish.c: Removed unused local variable.
     * dwarf_opaque.h: Added _dwarf_extract_string_offset_via_str_offsets()
       to communicate the argument list to other libdwarf source files.
     * dwarf_query.c: Fixed botch in call argument list, the dwarf_opaque.h
       change exposed it.   Deleted an unused local variable.
     * pro_reloc_symbolic.c: Deleted an unused local variable.
2014-05-18  David Anderson
     * libdwarf2.1.mm: Fixed a typo in the H3 line
       for dwarf_get_debug_add_index().
     * libdwarf2.1.pdf: Regenerated. Rev 2.20, May 18 2014.
2014-05-18  David Anderson
     * dwarf_loc.: Fixed offset update for DW_OP_constx/addrx.
2014-05-18  David Anderson
     * dwarf_form.c: Removed trailing whitespace, added commentary.
     * dwarf_loc.c: Added commentary.
2014-05-18  David Anderson
     * libdwarf.h.in, dwarf_form.c: Restored the function
       dwarf_get_debug_addr_index(). It is useful as a convenience
       for apps like dwarfdump.
2014-05-18  David Anderson
     *  dwarf_die_deliv.c,dwarf_error.c,dwarf_form.c,dwarf_init_finish.c,
        dwarf_opaque.h,dwarf_query.c,dwarf_util.c,libdwarf.h.in:
        Fixed numerous indent errors and removed trailing whitespace.
2014-05-17  David Anderson
     * dwarf.h: Minor comment enhancement.
     * dwarf_loc.c: Fixed code for DW_OP_constx, DW_OP_addrx,
       DW_OP_GNU_addr_index, DW_OP_GNU_const_index.
     * dwarf_form.c: DW_FORM_addr_index, DW_FORM_addrx,
       DW_FORM_strx, DW_FORM_GNU_str_index
     * dwarf_opaque.h: added new field dss_name to help
       debugging.
     * dwarf_query.c: Returns DW_DLE_MISSING_NEEDED_DEBUG_ADDR_SECTION when
       debug_addr is missing so address cannot be
       literally extracted.
       New functions:  dwarf_get_debug_addr_index()
       and dwarf_get_debug_str_index().
     * libdwarf.h.in: New error codes for FORM errors.
       New function declarations:  dwarf_get_debug_addr_index()
      and dwarf_get_debug_str_index().
2014-05-14  David Anderson
     * dwarf_die_deliv.c: Refactored several interfaces and used
       DW_DLV_OK (etc) returned values internally much more than
       before to  get the desired behavior easily.
     * dwarf_error.c: Error strings for 8 new error numbers.
     * dwarf_form.c: DW_FORM_addr_index, DW_FORM_addrx
       support added.
     * dwarf_init_finish.c: Sections .debug_addr and
       .debug_addr.dwo now handled if present.
     * dwarf_opaque.h: New Dwarf_CU_Context fields added
       so we can get CU DIE attributes for DW_FORM_addrx
       DW_FORM_strx etc.
       New de_debug* fields added for the new DebugFission
       sections.
     * dwarf_query.c: Using the revised _dwarf_get_size_of_val()
       internal function. 
       Handling DW_FORM_GNU_str_index, DW_FORM_strx.
       New functions (internal) for DW_FORM_strx, DW_FORM_addrx
       and the GNU version of these to avoid duplicating code.
     * dwarf_util.c: Implement revised _dwarf_get_size_of_val().
       Handling DW_FORM_GNU_str_index, DW_FORM_strx.
     * dwarf_util.h: Updated _dwarf_get_size_of_val()
       declaration.
     * libdwarf2.1.mm: Revision 2.8. May 15 2014. Documented
       a restriction to a sensible view to strings that
       dwarf_errmsg() returns.   However without actually
       changing anything to take advantage of that restriction.
     * libdwarf2.1.pdf: Regenerated.
2014-05-11  David Anderson
     * dwarf_error.c: Added 3 new error strings.
     * dwarf_form.c: Added DW_FORM_GNU_str_index and partial
       DW_FORM_GNU_addr_index handling.
     * dwarf_init_finish.c: Refactored initial section setup
       so we can handle dwo (DebugFission) or regular sections.
     * dwarf_query.c:  Add support for DW_FORM_GNU_str_index.
       Partial support for DW_FORM_GNU_addr_index.
     * dwarf_util.c:  Add support for DW_FORM_GNU_str_index,
       DW_FORM_GNU_addr_index.
     * libdwarf.h.in: 4 new error codes in DW_DLE_ list. Last now 248.
2014-05-09  David Anderson
     * Makefile.in: Write ar std-out to ar-output-temp 
       so the text is not needlessly filling a terminal window.
2014-05-08  David Anderson
     * dwarf.h: Adds DW_AT_GNU_dwo_id, DW_AT_GNU_dwo_name and other
       GNU extensions.
     * libdwarf.h.in: Producer code changes:
       The dwarf_producer_init_d() is new and has new arguments.
       The older dwarf_producer_init() and _b _c versions are removed.
       Only one producer callback declaration exists now:
       Dwarf_Callback_Func.
     * pro_init.c: Implements the new dwarf_producer_init_d()
       function and initializes fields at runtime to select
       what DWARF to emit. Messy and confusing initialization code 
       rewritten to depend on the runtime arguments
       to dwarf_producer_init_d, not library compile-time.
     * pro_opaque.h: New runtime fields set by initialization code.
     * pro_reloc.c:  Fix a couple comment indentations.
     * pro_forms.c:  Add curly braces in an if to avoid
       a hard-to-find bug (there was none yet, but it was a trap...).
     * pro_reloc_symbolic.c,pro_reloc_stream.c:  Remove use 
       of obsolete callback functions.
     * pro_section.c: Ensure only IRIX isa/abi target generates
       an exception CIE entry. Remove use of obsolete
       callbacks.
     * pro_util.h: Remove confusing and unreadable
       relocation number ifdefs that
       depended on settings at library compile-time. Most of the
       content of the file is deleted now. See 
       isa_relocs[] in pro_init.c
     * dwarf_error.c: Added error code (used by producer code).
     * libdwarf2p.1.mm: Now version 1.36. Updated dwarf_producer_init()
       documentation.
     * libdwarf2p.1.pdf: Regenerated.
2014-04-14  David Anderson
     * pro_forms.c: Modified a comment about DW_FORM_ref_addr.
       No logic change.
     * bldDWindex.sh: Deleted. This shell script was intended for 
       DWARF2 postscript post-processing and was never useful.
2014-04-12  David Anderson
     * dwarf_die_deliv.c,dwarf_query.c: Gets the version stamp passed to
       _dwarf_get_size_of_val() so DW_FORM_ref_addr handled
       correctly.
     * dwarf_form.c: Handle DW_FORM_ref_addr as the V2
       specification says (V3 and later continue to
       be handled unchanged.).
     * dwarf_util.c: Handle DW_FORM_ref_addr as the V2
       specification says (V3 and later continue to
       be handled unchanged.).
     * dwarf_addr_finder.c: Removed a mistaken handling
       of DW_FORM_ref_addr. No one should be using this
       function's features though...
     * pro_forms.c: Made a comment clearer about
       DW_FORM_ref_addr.
     * pro_section.c: Made a comment clearer, removed
       #if 0 code.
2014-04-02  David Anderson
     * libdwarf2.1.mm: Examples using dwarf_offdie_b() were
       miscoded (is_info argument not provided). Now fixed.
       Now at version 2.17.
     * libdwarf2.1.pdf: Regenerated
2014-03-17  David Anderson
     * dwarf.v2.mm,dwarf.v2.pdf,index.v2.mm,index.v2.pdf: Removed
       these files, they are now on dwarfstd.org.
     * Makefile.in: Removed mention of the deleted files.
     * README, COPYING: Removed mention of the deleted files.
2014-02-08  David Anderson
     * libdwarf2p.1.mm: Now version 1.35.  Added a few words
       about the sect_name_index field in the callback
       from libdwarf to your code for each new Elf section
       to be generated.
     * libdwarf2p.1.pdf: Regenerated.
2014-02-02  David Anderson
     * dwarf_alloc.c: Added commentary.
     * dwarf_loc.c: Fixed two indents.
     * gennames.c: Removed trailing newlines from the printf
       output (dwarf_names_new.h is the file generated).
     * libdwarf.h.in: Removed trailing whitespace.
2014-02-01  David Anderson
     * dwarf_alloc.c: Instead of doing a long list of address compares,
       use the hash 'tree' and tfind() to determine if we malloced
       the space or simply took an address from .debug_info (
       or other in-memory section) when
       we returned a _dwarf_get_alloc() pointer to the user.
2014-01-31  David Anderson
     * configure.in: The test to generate HAVE___UINT32_T_IN_SYS_TYPES_H
       was in a strange place. Moved it up a few lines.
     * configure: Regenerated.
     * dwarf_alloc.c: Added comment hinting at how dwarf_dealloc
       can be further simplified.
2014-01-30  David Anderson
     * dwarf_loc.c: Add support for DW_FORM_exprloc
       to dwarf_loclist_n().
     * libdwarf2.1.mm: Document support for DW_FORM_exprloc.Version 2.16
     * libdwarf2.1.pdf: Regenerate.
     * dwarf.h, dwarf_form.c, dwarf_line.c,
       dwarf_query.c, dwarf_util.c: Add limited support for DW_FORM_GNU_ref_alt
        and DW_FORM_GNU_strp_alt.
2014-01-30  David Anderson
     * dwarf_alloc.c: Refactored and added relevant commentary.
       Added a check for debug_types in dwarf_dealloc().
     * dwarf_init_finish.c: Corrected a comment and made one line
       declation-is-initialization.
     * dwarf_opaque.h: Added commentary.

2014-01-29  David Anderson
     * common.h,dwarf.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_elf_access.c,dwarf_elf_access.h,dwarf_error.c,dwarf_error.h,
       dwarf_form.c,dwarf_frame.c,dwarf_frame.h,dwarf_frame2.c,
       dwarf_frame3.c,dwarf_funcs.c,dwarf_funcs.h,dwarf_global.c,
       dwarf_global.h,dwarf_harmless.c,dwarf_harmless.h,dwarf_incl.h,
       dwarf_init_finish.c,dwarf_line.c,dwarf_line.h,dwarf_line2.c,
       dwarf_loc.h,dwarf_macro.h,dwarf_opaque.h,dwarf_reloc_arm.h,
       dwarf_reloc_mips.h,dwarf_reloc_ppc.h,dwarf_reloc_ppc64.h,
       dwarf_reloc_x86_64.h,dwarf_tsearch.h,dwarf_types.h,dwarf_util.h,
       dwarf_vars.h,dwarf_weaks.h,libdwarfdefs.h,malloc_check.h,
       pro_alloc.h,pro_arange.h,pro_die.h,pro_encode_nm.h,pro_error.h,
       pro_frame.h,pro_incl.h,pro_line.h,pro_opaque.h,dwarf_tsearch.h:
       Remove trailing whitespace.
2014-01-29  David Anderson
     *  dwarf_tsearch.h, dwarf_tsearchhash.c: New files implementing
        a hashed tree with tsearch() interfaces.
     *  Makefile.in: Add dwarf_tsearchhash.c to the build.
     *  dwarf_init_finish.c: Remove references to malloc_check and _dwarf_setup_debug()
        and include of "malloc_check.h" as those are no longer needed.
     *  dwarf_line.c: Removed a superfluous _dwarf_get_alloc().  The result of the call
        was never used.
     *  dwarf_opaque.h: Removed Dwarf_Alloc_Hdr_s references and simple malloc references.
        added de_alloc_tree as base of a hash database replacing most of dwarf_alloc.c.
     *  dwarf_query.c: Removed an unused local variable.
     *  dwarf_alloc.h,dwarf_alloc.c: Removed simple malloc support and all the 
        complicated code handling allocation record-keeping in favor of 
        much simpler code calling functions
        using a tsearch-like interface.
2014-01-10  David Anderson
     *  dwarf_print_lines.c,dwarf_macro.c: Remove trailing whitespace.
     *  dwarf_ranges.c, dwarf_sort_lines.c: Remove trailing whitespace.
     *  dwarf_query.c, dwarf_pubtypes.c: Remove trailing whitespace.
     *  dwarf_original_elf_init.c,dwarf_loc.c: Remove trailing whitespace.
     *  gennames.c: Fix a printf so the generated dwarf_names.c
        does not have a trailing space.
2014-01-10  David Anderson
     *	gennames.c: Added comment clarifying why error is set
        before the call to fgets, and fixing the declaration
        order to avoid c99-ism.
     *  dwarf_frame2.c: Use /* not // for comments in C.
