2018-05-26 David Anderson
    * gennames.c:
      Update version string
    * dwarf_arange.c: Instead of load_section(dbg,.debug_info, 
      and then *_abbrevr, call the combined _info and _abbrev 
      function _dwarf_load_debug_info() as is done everywhere else.
2018-05-24 David Anderson
    * dwarf_aranges.c: Calling dwarf_get_aranges() 
      without loading .debug_info and .debug_abbrev
      resulted in an error when checking for the
      sanity of an offset into .debug_info: 
      DW_DLE_ARANGE_OFFSET_BAD.
      Now libdwarf ensures the needed sections are loaded
      because the 'section length' of compressed
      sections is only correct after such are loaded.
2018-05-17 David Anderson
    * config.h.in: Added #undef HAVE_VSNPRINTF HAVE_SNPRINTF
    * configure: regenerated.
    * configure.ac: Added AC_CHECK_FUNCS(snprintf) 
      AC_CHECK_FUNCS(vsnprintf)
    * dwarf_alloc.c(_dwarf_free_all_of_one_debug): Added fclose
      of dbg->de_printf_callback_null_device_handle.
    * dwarf_opaque.h: Added de_printf_callback_null_device_handle
      Dwarf_Debug member.
    * dwarf_arange.c,dwarf_die_deliv.c,dwarf_frame2.c,
      gennames.c: Use static buffers, not on-stack char
      array targets for sprintf/snprintf.
      Testing HAVE_SNPRINTF(HAVE_VSNPRINTF) and use c99 function 
      if present, else c90
    * dwarf_util.c:  Putting  null_device_handle in Dwarf_Debug 
      struct Use static buffers, not on-stack char array targets for
      sprintf/snprintf.
      Testing HAVE_SNPRINTF(HAVE_VSNPRINTF) and use c99 function 
      if present, else c90.
2018-05-16 David Anderson
    * dwarf_leb.c, dwarf_util.c: Removed use of C99
      like vsnprintf. Now using C90.
2018-05-15 David Anderson
    * dwarf_incl.h: Inserted <stddef.h> include here.
      stddef.h defines really basic useful C90 things like NULL. 
    * dwarf_opaque.h: Remove nested include stddef.h.
2018-05-15 David Anderson
    * dwarf_incl.h: Removed dwarf_alloc.h include
    * dwarf_abbrev.c,dwarf_alloc.c,dwarf_arange.c,dwarf_die_deliv.c,
      dwarf_dnames.c,dwarf_dsc.c,dwarf_error.c,dwarf_form.c dwarf_frame.c,
      dwarf_frame2.c,dwarf_gdbindex.c,dwarf_global.c,dwarf_incl.h,
      dwarf_init_finish.c,dwarf_line.c,dwarf_loc.c,dwarf_macro.c,
      dwarf_macro5.c,dwarf_print_lines.c,dwarf_query.c,dwarf_ranges.c,
      dwarf_str_offsets.c,dwarf_util.c,dwarf_xu_index.c:
      Added explicit include dwarf_alloc.h.
2018-05-15 David Anderson
    * Makefile.in: dwarf_frame3.c now gone from build.
      It should be removed. Nothing in it is used.
    * dwarf_incl.h: Removed dwarf_error.h include
    * dwarf_*: put includes in local normal order
      and added include dwarf_error.h as needed
      (in many files).
2018-05-15 David Anderson
    * dwarf_incl.h: Removed dwarf_util.h include
    * dwarf_abbrev.c,dwarf_alloc.c,dwarf_arange.c,dwarf_die_deliv.c,
      dwarf_dnames.c,dwarf_form.c,dwarf_frame.c,dwarf_frame2.c,
      dwarf_gdbindex.c,dwarf_global.c,dwarf_init_finish.c,dwarf_line.c,
      dwarf_loc.c,dwarf_macro5.c,dwarf_print_lines.c,dwarf_query.c,
      dwarf_ranges.c,dwarf_str_offsets.c,dwarf_util.c,dwarf_xu_index.c,
      dwarf_string.c,dwarf_macro.c: Added include dwarf_util.h.
2018-05-15 David Anderson
    * dwarf_die_deliv.c,dwarf_dsc.c,dwarf_error.c,
      dwarf_init_finish.c,dwarf_original_elf_init.c,
      pro_error.c,pro_line.c: Removed the unnecessary
      inclusion of elf.h. 
    * dwarf_incl.h: Removed the unnecessary
      inclusion of elf.h, limits.h, and dwarf_xu_index.h. 
2018-05-15 David Anderson
    * dwarf_abbrev.c,dwarf_alloc.c,dwarf_die_deliv.c,
      dwarf_dsc.c,dwarf_dsc.h,dwarf_elf_access.c,dwarf_error.h,
      dwarf_gdbindex.h,dwarf_global.h,dwarf_groups.c,
      dwarf_harmless.c,dwarf_harmless.h,dwarf_leb.c,dwarf_loc.h,
      dwarf_loc2.h,dwarf_opaque.h,dwarf_print_lines.c,
      dwarf_ranges.c,dwarf_string.c,dwarf_tsearch.h,
      dwarf_tsearchhash.c,dwarf_util.c,dwarf_xu_index.c,
      dwarf_xu_index.h,pro_alloc.c,pro_die.h,pro_finish.c,
      pro_util.h: Removed trailing blank lines.
      Updated copyright year.
2018-05-15 David Anderson
    * dwarf_loc2.c, dwarf_line_table_reader_common.c,
      dwarf_errmsg_list.c: Renamed to end in .h, not .c,
      as these are all targets of #include.
    * dwarf_test_errmsg_list.c: New file with the test code
      extracted from dwarf_errmsg_list.c and #including
      the new dwarf_errmsg_list.h
    * Makefile.in: Renamings .c to .h and the errmsg checking
      builds the new dwarf_test_errmsg_list.c
      The -DTESTING in building dwarf_test_errmsg_list.c
      is no longer necessary.
    * dwarf_error.c, dwarf_line.c,dwarf_print_lines.c:  
      Reflect the .c->h renamings
2018-05-14 David Anderson
    * libdwarf.h.in: Removed trailing whitespace.
2018-05-14 David Anderson
    * libdwarf2.1.mm: Documented dwarf_get_fde_info_for_reg3_b().
      Refined some comments about frame data.
    * libdwarf2.1.pdf: Regenerated. Version 2.64
2018-05-14 David Anderson
    * gennames.c: Updated version string.
2018-05-14 David Anderson
    * dwarf_frame2.c: Do a thorough check of every non-zero
      augmentation data length in a way that will catch
      integer overflows.
    * dwarf_str_offsets.c: Fixed a botch in the original
      dwarf_dealloc in dwarf_close_str_offsets_table_access().
2018-05-14 David Anderson
    * dwarf_frame.c: Implemented dwarf_get_fde_info_for_reg3_b().
    * libdwarf.h.in: Fixed arg list for dwarf_get_fde_info_for_reg3_b.
2018-05-14 David Anderson
    * libdwarf.h.in: Declare new frame function,
      next commit will have the code in dwarf_frame.c.
2018-05-01 Carlos Enciso
    * gennames.c: Reversed the order of calling process_args()
      vs print_args(). There is no visible difference for
      linux/unix, and is just to match the convention
      now used in dwarfdump for the ordering.  
2018-04-22 David Anderson
    * gennames.c: Updated version string.
    * libdwarf.h.in: Removed trailing comma from enumeration list.
2018-04-19 David Anderson
    * dwgetopt.c: Changed to match correction in dwarfdump version.
2018-04-17 David Anderson
    * dwgetopt.c: Changed to match correction in dwarfdump version.
2018-04-16 David Anderson
    * dwarf_str_offsets.c: Removed debug call to dump_bytes()
    * gennames.c: Updated version string.
2018-04-14 David Anderson
    * CMakeLists.txt: Added new source/header files to cmake.
2018-04-14 David Anderson
    * libdwarf2.1.mm: Complete doc on the new .debug_str_offsets
      interfaces.
    * Regenerated. Rev 2.63.
2018-04-13 David Anderson
    * gennames.c: Updated version string.
    * Makefile.in: Added dwarf_str_offsets.o to target list.
    * checkexamples.c: Added example code for the .debug_str_offsets
      section interfaces.
    * dwarf_alloc.h: Update ALLOC_AREA_INDEX_TABLE_MAX for new
      allocatable.
    * dwarf_alloc.c:Add #include and array entry for DW_DLA_STR_OFFSETS
    * libdwarf.h.in:
    * dwarf_errmsg_list.c: Added new .debug_str_offsets section
      reader error codes.
    * dwarf_str_offsets.h: New. Hidden struct for .debug_str_offsets
      interfaces.
    * dwarf_str_offsets.c: New for .debug_str_offsets.
    * libdwarf2.1.mm: Incomplete doc on the new interfaces.
2018-03-29 David Anderson
    * configure.ac: Now uses AC_COMPILE_IFELSE 
      instead of AC_TRY_COMPILE. Substantial changes
      along those lines.
    * config.h.in, configure: Regenerated.
2018-03-28 David Anderson
    * configure.ac: Replaces configure.in and
      uses AC_COMPILE_IFELSE instead of the
      deprecated AC_TRY_COMPILE.
    * configure: Regenerated.
    * config.h.in: Regenerated
2018-03-27 David Anderson
    * configure.in: Cross compiling tested, working.
    * configure: regenerated.
2018-03-25 David Anderson
    * configure.in: Support for cross compiling
    * configure: regenerated.
    * Makefile.in: Support for cross compiling
2018-03-25 David Anderson
    * Makefile.in: Add comments about what is built for build
      system (as opposed to host or target).
2018-03-24 David Anderson
    * checkexamples.c: This is just example code for
      libdwarf2.1.mm, not part of libdwarf. Now 
      checked by cc for errors and organized in the
      same order the examples appear in the .mm.
    * dwarf_errmsg_list.c: Added error code
      DW_DLE_LINE_HEADER_CORRUPT.
    * dwarf_line.c(_dwarf_set_line_table_regs_default_values):
      Add line-table header version number argument so the
      function works for DWARF5 (and earlier as well).
      Now uses dwarf_srclines_files_indexes() several places,
      simplifying the code.
    * dwarf_line.h: Adds new fields to Dwarf_Line_Context_s
      so that dwarf_srclines_files_indexes() logic is
      simple.
    * dwarf_line_table_reader_common.c: Passes version number
      to _dwarf_set_line_table_regs_default_values() so it
      works right for DWARF5 (and for earlier DWARF).
    * libdwarf.h.in: Added DW_DLE_LINE_HEADER_CORRUPT to
      error list. Added function dwarf_srclines_files_indexes().
    * libdwarf2.1.mm: Rev 2.61. Document the new function
      dwarf_srclines_files_indexes()
      and update all examples for formatting and correct C.
    * libdwarf2.1.pdf: Regenerated, Rev 2.61.
2018-03-22 David Anderson
    * dwarf_line.c, dwarf_print_lines.c: Index file
      numbers for all versions of DWARF (DWARF5
      indexes starting at 0).
2018-03-21 David Anderson
    * gennames.c: Updated version string.
2018-03-21 David Anderson
    * dwarf_elf_access.c: Allow for relocations on .debug_str_offsets.
    * dwarf_errmsg_list.c: Clarified meaning of
      DW_DLE_DIE_ABBREV_LIST_NULL, added new errors
      DW_DLE_STR_OFFSETS_BASE_WRONG_FORM,
      DW_DLE_DATA16_OUTSIDE_SECTION,
      DW_DLE_LNCT_MD5_WRONG_FORM
    * dwarf_form.c: Added support for DWARF5 new FORMs.
    * dwarf_line.c: Added dwarf_srclines_files_data_b()
      so clients needing DWARF5 line table support can
      get the DW_LNCT_MD5 value if it is present.
    * dwarf_line.h: Added support for the DWARF5
      MD5 data.
    * dwarf_line_table_reader_common.c: Added 
      DW_LNCT_MD5 support.
    * dwarf_opaque.h: Added _dwarf_extract_data16 so we do not
      have code duplication reading this data.
    * dwarf_print_lines.c: If MD5 present, we now print it.
    * dwarf_query.c: Correct handling of form for
      DW_AT_str_offsets_base.
    * dwarf_util.c: Add support for DWARF5 FORMs.
    * libdwarf.h.in: Define the values of the new
      DW_DLE codes mentioned above.
      Declare new function dwarf_srclines_files_data_b()
    * libdwarf2.1.mm: Document new function. Rev 2.61.
    * libdwarf2.1.pdf: Generated Rev 2.61
2018-01-05 David Anderson
    * dwarf_macro5.c(_dwarf_get_macro_ops_count_internal):
      A test duplicated the preceding loop condition so
      the body of the test was dead code. Removed the
      dead code.
2018-01-29 David Anderson
    * dwarf_arange.c: Improve and comment checks for
      stepping off the end of arange data.
    * dwarf_die_deliv.c: Make an error code 
      returned a bit more specific. 
      DW_DLA_DIE_BAD becomes DW_DLE_ABBREV_MISSING.
    * dwarf_errmsg_list.c: Added new error codes
      DW_DLE_ABBREV_MISSING DW_DLE_NO_TAG_FOR_DIE
      DW_DLE_LOWPC_WRONG_CLASS DW_DLE_HIGHPC_WRONG_FORM.
    * dwarf_form.c: Used DW_DLE_NO_TAG_FOR_DIE instead of
      DW_DLA_DIE_BAD to make an error return more specific.
    * dwarf_frame2.c: Add new checks for corrupted dwarf
      frame data.
    * dwarf_query.c: Added error check and changed
      DW_DLE_DIE_BAD to DW_DLE_ABBREV_MISSING in one place.
      Other DWARF corruption checks and error refinements added.
    * libdwarf.h.in: Added the defines for the new DW_DLE
      codes.
2018-01-29 David Anderson
    * gennames.c: Update version string.

