2020-08-23: David Anderson
    * dwarf_form.c: Slightly changed the error message 
      for an error in DW_FORM_strp.
2020-08-23: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
	  dwarf_names_new.h,libdwarf_version.h: Updated  version
      string, regenerated files that reference it.
2020-08-23: David Anderson
    * dwarf_form.c,dwarf_generic_init.c,dwarf_loc.c,
      dwarf_loc.h,dwarf_loclists.c,dwarf_query.c, dwarf_rnglists.c,
      pro_opaque.h: Remove trailing whitespace. Fix indents.
2020-08-23: David Anderson
    * dwarf_form.c: In case an strp offset seems wrong
      we get a more detailed error message.
    * dwarf_macro5.c: Deleted gratuitous blank line.
2020-08-22: David Anderson
    * dwarf_loc.c,dwarf_rnglists.c: call 
      _dwarf_look_in_local_and_tied_by_index
      not _dwarf_extract_address_from_debug_addr so 
      .debug_addr in the tied file will be found.
    * dwarf_opaque.h,dwarf_query.c: Make  
      _dwarf_look_in_local_and_tied_by_index global,not
      _dwarf_extract_address_from_debug_addr.
2020-08-22: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
	  dwarf_names_new.h,libdwarf_version.h: Updated  version
      string, regenerated files that reference it.
2020-08-21: David Anderson
    * dwarf_init_finish.c(insert_sht_list_in_group_map):
      Added checks of dss_data_was_malloc around
      a couple of calls saying free(secdata.dss_data).
      The missing checks could only result in duplicate
      free with user calls that allocated their
      own section data to load a section and a certain
      error arising during the call.
    * dwarf_loc.c: To elminate ambiguity, renamed
      some fields from lowpc to rawlowpc (for example).
    * dwarf_loclists.c(build_array_of_lle): Removed
      a block of code duplicating work done in dwarf_loc.c.
      Fixed arguments passing ld_lopc, ld_highpc
      to pass ld_rawlow, ld_rawhigh for correctness.
2020-08-21: David Anderson
    * libdwarf2.1.mm: Rev 3.07. Corrected quote mismatches
      in the mm commands, and a couple of stray
      characters after a .P command
    * libdwarf2.1.pdf: Rev 3.07. Regenerated.
2020-08-18: David Anderson
    * checkexamples.c: Corrected example_rnglist_for_attribute()
      example.
    * dwarf_ranges.c: Corrected a comment and removed #if 0
      code as it is obsolete.
    * dwarf_rnglists.c(dwarf_get_rnglists_entry_fields_a):
      Allow the pointer-arguments used to return data to
      the caller to be null pointers safely, as libdwarf2.1.pdf
      suggested that was legal.
    * libdwarf2.1.mm: Version 3.06. Corrected the example
      calling dwarf_get_rnglists_entry_fields_a().
    * libdwarf2.1.pdf: Regenerated, Version 3.06
     
      
2020-08-10: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
	  dwarf_names_new.h,libdwarf_version.h: Updated  version
      string, regenerated files that reference it.
2020-08-10: David Anderson
    * dwarf_elf_defines.h,dwarf_elfread.c: A linux kernel used a
      R_X86_64_NONE (which means ignore the relocation) and
      now we deal with it properly for EM_X86_64.
2020-08-02: David Anderson
    * dwarf_alloc.c: Added a constructor for Dwarf_Locdesc_c
      (DW_DLA_LOCDESC_C) so fields ld_lle_value and
      ld_kind get non-zero and 
      erroneous initial values so
      the values can be checked later for correctness.
    * dwarf_errmsg_list.h: Added error DW_DLE_LOCATION_ERROR.
    * dwarf_loc.c: Now we rigorously set and check the fields
      ld_lle_value and ld_kind. 
      _dwarf_locdesc_c_constructor() sets those two fields
      so we can check correctness and in case of error, 
      report the details.
    * dwarf_loc.h: Added constructor prototype and a special
      DW_LLE_VALUE_BOGUS initial value (invisible to 
      library callers).
    * dwarf_loclists.c: After malloc use the  Dwarf_Locdesc_c
      constructor so later error checking possible.
    * libdwarf.h.in: Added error DW_DLE_LOCATION_ERROR.
    * libdwarf2.1.mm: Rev 3.05. Additional detail on
      return values for dwarf_get_locdesc_entry_d()
      and documented dwarf_get_locdesc_entry_c() 
      (recommending use of dwarf_get_locdesc_entry_d()
      instead)
    * libdwarf2.1.pdf: Rev 3.05. Regenerated.
2020-07-28: David Anderson
    * dwarf_locationop_read.c: Added DW_OP_GNU_variable_value.
    * dwarf_names.c, dwarf_names_enum.h: Regenerated.
    * dwarf.h: Added in GNU names that had been accidentally
      ommitted: DW_AT_GNU_deleted,DW_AT_GNU_locviews,
      DW_AT_GNU_entry_view,DW_OP_GNU_variable_value.
      These caused the regeneration of dwarf_names.h.
2020-07-22: David Anderson
    * dwarf_abbrev.c,dwarf_debug_names.c, dwarf_debuglink.c,
	  dwarf_dsc.c,dwarf_error.c,dwarf_form.c,dwarf_funcs.c,
	  dwarf_gdbindex.c,dwarf_harmless.c,dwarf_init_finish.c,
	  dwarf_leb.c,dwarf_leb_test.c,dwarf_line.c,dwarf_macro.c,
	  dwarf_macro5.c,dwarf_original_elf_init.c,dwarf_pubtypes.c,
	  dwarf_str_offsets.c,dwarf_stringsection.c,dwarf_stubs.c,
	  dwarf_test_errmsg_list.c,dwarf_types.c,dwarf_vars.c,
	  dwarf_weaks.c,dwarf_xu_index.c,gennames.c,malloc_check.c,
	  pro_arange.c,pro_encode_nm.c,pro_error.c,pro_finish.c,
	  pro_forms.c,pro_funcs.c,pro_line.c,pro_macinfo.c,
	  pro_pubnames.c,pro_reloc.c,pro_reloc_stream.c,
	  pro_reloc_symbolic.c,pro_types.c,pro_vars.c,pro_weaks.c:
      Updated copyright date. Reformatted copyright to
      have slightly shorter lines, no change in content.
2020-07-22: David Anderson
    * libdwarf2.1.mm: Now Rev 3.04. Revised the 
      Error Handling section for greater clarity.
      Revised dwarf_init_path() to correct formatting
      errors. 
    * libdwarf2.1.pdf: Regenerated as rev 3.04 .
    * dwarf_generic_init.c(dwarf_init_pathh): Removed
      the error-handling so when the call fails the
      Dwarf_Debug argument is not touched. 
      For the PE case return  the DW_DLV_ERROR or
      DW_DLV_NO_ENTRY (return left off by accident).
    * dwarf_arange.c: Reformatted the copyright
      to have shorter lines.
2020-07-17: David Anderson
    * libdwarf/libdwarf_version.h: Version string updated.
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h,libdwarf_version.h : regenerated
      with latest version string
2020-07-17: David Anderson
    * dwarf_frame.c: rearrange comments a little and
      add a web reference as documentation.
	* pro_debug_sup.c,pro_section.c: Remove trailing 
      whitespace.  Fix indents.
2020-07-15: David Anderson
    * dwarf_alloc.c: Improved printf if DEBUG
      is turned on, with #undef DEBUG in source so
      necessary to modify the source and rebuild
      to get the voluminous alloc/dealloc debugging
      printf turned on.
2020-07-14: David Anderson
    * libdwarf2.1.mm: Version 3.02. Documents the new call
      dwarf_get_debug_sup() to access the DWARF5
      .debug_sup section.
    * libdwarf2p.1.mm: Version 1.51.  Documents the new
      call dwarf_add_debug_sup() to create the DWARF5
      .debug_sup section.
    * libdwarf2.1.pdf,libdwarf2p.1.pdf: Regenerated.
2020-07-14: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
	  dwarf_names_new.h,libdwarf_version.h: Regenerated
      with new version string.
2020-07-13: David Anderson
    * CMakeLists.txt, Makefile.am: Added dwarf_debug_sup.c
    * Makefile.in: Regenerated.
    * dwarf_errmsg_list.h: Added DW_DLE_DEBUG_SUP_STRING_ERROR
      and DW_DLE_DEBUG_SUP_ERROR.
    * dwarf_names.c dwarf_names_enum.h: Reflects correction
      of value of
      DW_GNUIVIS_static (a new non-standard name in dwarf.h)
    * generated_libdwarf.h.in,libdwarf.h.in: With the
      two new errors and declaration of
      dwarf_add_debug_sup() to produce .debug_sup
      and dwarf_get_debug_sup() to retrieve the section values..
    * pro_finish.c: Support for creating .debug_sup.
    * pro_opaque.h: Support for creating .debug_sup.
    * pro_section.c: Support for creating .debug_sup.
    * dwarf_debug_sup.c: New, for .debug_sup access.
	* pro_debug_sup.c: New. for .debug_sup creation.
2020-07-10: David Anderson
    * dwarf_die_deliv.c: Handle
      DW_AT_GNU_ranges_base in a CU DIE.
    * dwarf_opaque.h: Added 2lines of comment
      about cc_debug_offset.
    * dwarf_query.c(_dwarf_get_ranges_base_attr_value):
      Simplified as the cu_context
      has the base values, no need to read
      DIEs/Attributes here.
2020-07-09: David Anderson
    * dwarf_opaque.h: Changing a comment about libdwarf
      and the tied file (if any).
2020-07-08: David Anderson
    * libdwarf2.1.mm: Added documentation of
      .debug_gnu_pybtypes and .debug_gnu_pubnames.
      See dwarf_get_gnu_index_head() in the document.
    # libdwarf2.1.pdf: Regenerated. Rev 3.01
2020-07-08: David Anderson
    * dwarf_init_finish.c: setup of .debug_names was
      done twice (not harmful but the duplicate removed now).
2020-07-08: David Anderson
    * dwarf_elf_load_headers.c,dwarf_gdbindex.c,dwarf_gnu_index.c,
	  dwarf_gnu_index.h,dwarf_init_finish.c,
      dwarf_locationop_read.c: Fixed indents and trailing
      whitespace.
2020-07-08: David Anderson
    * dwarf.h: Fixed error in DW_GNUIVIS values.
    * dwarf_debug_names.h: Arranging shorter
      lines in a block of comments.
    * dwarf_elfread.c( find_section_to_relocate): Added 
      de_debug_gnu_pubnames, de_dbug_gnu_pubtypes to sections
      that can have relocations (in  a dwo.o before linking).
    * dwarf_gnu_index.c: Now loads debug_info so that
      in near future correctness of offsets in 
      .debug_gnu_pubnames/pubtypes can be checked.
2020-07-08: David Anderson
    * dwarf_gnu_index.c: Remove debug printf. Small corrections
      to the section reading.
2020-07-06: David Anderson
    * dwarf_loc.c: Too-long lines in comments adjusted shorter.
    * dwarf_loc.h: Renamed _dwarf_free_loclists_head to
      _dwarf_free_loclists_head_content for clarity.
    * dwarf_loclists.c: Deleted dead code. Renamed that
      function here too. Corrected a bug in
      _dwarf_free_loclists_head()
    * dwarf_gnu_index.c,dwarf_gnu_index.h: New files
      to handle sections .debug_gnu_pubnames and
      .debug_gnu_pubtypes
    * dwarf_init_finish.c: Added the new sections to
      enter_section_in_de_debug_sections_array().
    * CMakeLists.txt,Makefile.am: Added dwarf_gnu_index.c and
      dwarf_gnu_index.h
    * Makefile.in: Regenerated.
    * dwarf.h: Added new nonstandard DW_GNUIVIS* and
      DW_GNUIKIND* in support of these sections.
    * dwarf_alloc.c: New record type DW_DLA_GNU_INDEX_HEAD
      for these new sections.
    * dwarf_errmsg_list.h: New errors
    * dwarf_names.c, dwarf_names.h: Regenerated with
      DW_GNUIVIS and DW_GNUIKIND name functions.
    * dwarf_names_enum.h: Regenerated this too.
    * dwarf_names_new.h: Regenerated this.
    * libdwarf.h.in: Added Dwarf_Gnu_Index_Head type
      and new functions and new error codes. Dropped
      a dead DLA type and assigned it to be for
      DW_DLA_GNU_INDEX_HEAD. Added new functions 
      dwarf_get_gnu_index_head()
      dwarf_gnu_index_dealloc()
      dwarf_get_gnu_index_block() 
      dwarf_get_gnu_index_block_entry() allowing
      access to the data in .debug_gnu_pubtypes
      and .debug_gu_pubnames.
    * generated_libdwarf.h.in: Regenerated.
2020-07-04: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
	  dwarf_names_new.h,libdwarf_version.h: new version string.
2020-07-03: David Anderson
    * CMakeLists.txt, Makefile.am: renamed dwarf_dnames.h ->
      dwarf_debug_names.h and dwarf_dnames.c to 
      dwarf_debug_names.c.
    * Makefile.in: Regenerated.
    * dwarf_alloc.c, dwarf_debug_names.c: Include
      name updated dwarf_dnames.h to dwarf_debug_names.h .
    * dwarf_elfread.c(_dwarf_elf_object_access_internals_init):
      In case of a null gh_namestring we notice and skip
      over it.
    * dwarf_init_finish.c(_dwarf_load_section): Added to
      the comment on zero-size sections.
2020-07-02: David Anderson
    * dwarf_gdbindex.h: Removed gdbindex_offset_type typedef
      as it is not used anywhere.
    * dwarf_global.c(dwarf_get_cu_die_offset_given_cu_header_offset):
      Updated a commment to reflect handling of DWARF5 and more.
    * dwarf_util.h: Removed SKIP_LEB128_WORD_CK as it
      is no longer used and replaced by a better function.
    * dwarf_query.c: Removed comment about that macro.
    * dwarf_form.c: Revised the commentary on
      DW_AT_str_offsets_base to match the final DWARF5.
2020-07-02: David Anderson
    * libdwarf.h.in: Added DW_DLE_GDBINDEX_STRING_ERROR.
    * generated-libdwarf.h.in: Regenerated.
    * dwarf_errmsg_list.h: Added DW_DLE_GDBINDEX_STRING_ERROR.
    * dwarf_gdbindex.c(dwarf_gdbindex_addressarea_entry): Now
      checks its arguments and the return string for problems.
2020-07-01: David Anderson
    * libdwarf.h.in: Comment now deprecates 
      dwarf_get_loclist_entry().
    * generated_libdwarf.h.in: regenerated.
    * libdwarf2.1.mm: Deprecates dwarf_get_loclist_entry().
    * libdwarf2.1.pdf: Regenerated, version 2.99.
    * dwarf_locationop_read.c: Pass real address-size to
      read_encoded_addr() so it will work properly.
2020-06-29: David Anderson
    * dwarf_elf_load_headers.c: Added sanity checks
      on section size of the section strings and
      the symbol strings.
      All the section-size errors now use
      the new error code DW_DLE_SECTION_SIZE_OR_OFFSET_LARGE.
    * dwarf_errmsg_list.h: Added string for
      DW_DLE_SECTION_SIZE_OR_OFFSET_LARGE.
    * libdwarf.h.in: Added DW_DLE_SECTION_SIZE_OR_OFFSET_LARGE.
    * generated_libdwarf.h.in: Regenerated.
2020-06-29: David Anderson
    * libdwarf_version.h: updated version string.
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h: Regenerated.
2020-06-29: David Anderson
    * dwarf_elfread.c: Added checks on section sizes
      and offsets to ensure they don't exceed file size
      (but only check when we try to read them, we
      want to read dwarf even if sections we do not
      care about have damaged section headers).
    * dwarf_peread.c: Fixed indentation mistake.
2020-06-28: David Anderson
    * dwarf_elf_defines.h: Adding R_386_GOTPC
      so we don't rely on /usr/include to have the
      ones we need.
    * dwarf_elf_rel_detector.c: Adding R_386_GOTPC
      to identify the relocation as 32bit.
2020-06-27: David Anderson
    * dwarf_alloc.c(_dwarf_free_all_of_one_debug): If space 
      for debug_rnglists or
      debug_loclists was malloc'd (relocations
      or compressed sections force malloc) we
      now call the function that frees that
      data.  That function renamed:
      rela_free->malloc_section_free.
2020-06-25: David Anderson
    * dwarf_loc.c: Corrected indents.
    * dwarf_loclists.c: Corrected indents, removed
      trailing whitespace.
    * dwarf_peread.c: Removed trailing whitespace.
    * dwarf_rnglists.c: Removed trailing whitespace.
    * libdwarf2.1.mm: Rev 2.98. Added documentation
      on the .debug_names section printing functions.
      These intended for debugging .debug_names
      (that is, by dwarfdump),
      not things user code are likely to want to use. 
      Documented the new function 
      dwarf_get_rnglists_entry_fields_a() as the original
      dwarf_get_rnglists_entry_fields() 
      (which is still there and works as well as before)
      left off a field important to callers.
    * libdwarf2.1.pdf: Rev 2.98. Regenerated.
2020-06-22: David Anderson
    * dwarf_loc.c: Using knowledge of the base address status
      improve messaging while reducing execution time.
    * dwarf_loclists.c: Properly deal with setting
      up for output in case .debug_addr missing (fixing
      an omission).
    * dwarf_peread.c: In load_optional_header64() we were
      failing to read hdr.ImageBase which caused addresses
      to be wrong (base address needed to be set).
    * dwarf_rnglists.c: Based on knowledge of lack/presence
      of .debug_addr improve messaging and reduce
      cpu-time spent.
    * dwarf_rnglists.h: Added 2 line commentary.
    * libdwarf.h.in,generated_libdwarf.h.in: Added
      dwarf_get_rnglists_entry_fields_a(), the original
      function was inadequate.
2020-06-19: David Anderson
    * dwarf_reloc_x86_64.hr,dwarf_reloc_x86_64.h: Added in
      R_X86_64_PC64 relocation as llvm is using it.
2020-06-17: David Anderson
    * dwarf_elf_load_headers.c: Catch a potential division by 
      zero error. 
    * dwarf_peread.c: Added comments.
2020-06-17: David Anderson
    * dwarf_loclists.c, dwarf_rnglists.c: Rename 
      length_size->offset_size
      for clarity and correct the computation of the
      length of the offsets array.
2020-06-17: David Anderson
    * dwarf_die_deliv.c: Pick up CU DIE base fields
      always. Not just for DWARF4,5.
    * dwarf_loc.c: Clarify the flow. A comment added.
    * dwarf_form.c: Added missing DW_FORM_loclistx from
      a switch.
2020-06-16: David Anderson
    * dwarf_query.c, dwarf_util.c: Remove trailing whitespace.
      Changed indents and line lengths in a small area to match
      the usual look.
2020-06-16: Jorge Gorbe Moya 
    * dwarf_query.c, dwarf_util.c: Correct the handling
      of DW_UT initializations.
2020-06-16: David Anderson
    * dwarf_die_deliv.c,dwarf_frame2.c,dwarf_loc.c:
      Remove trailing whitespace.
2020-06-14: David Anderson
    * libdwarf1.1.mm: Added examples to the Error Handling
      section as the previous version was pretty vague
      about the best way to call libdwarf to deal
      with errors.
    * libdwarf1.1.pdf: Generated version 2.97.
     
2020-06-14: David Anderson
    * dwarf_die_deliv.c: Adds the highest known
      abbrev code to certain error messages.
    * dwarf_die_deliv.h: Corrected a comment.
    * dwarf_frame2.c: Now uses (uintptr_t) to avoid
      warnings from certain compiler/pointer-size
      environments.
    * dwarf_loc.c: Update the loclist head
      structure  ll_bytes_total
      field with DWARF 2,3,4 loclists too.
    * dwarf_opaque.h: Add cc_highest_known_code
      to Dwarf_CU_Context_s for better
      error reporting and align some field names
      for a better appearance.
    * dwarf_query.c: Improved error reporting
      when an abbrev code missing.
    * dwarf_util.c: Keep track of highest abbrev
      code seen (per compilation unit).
    * dwarf_util.h: Internal function declaration
      changed to allow reporting of highest
      abbrev code.
2020-06-12: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h,libdwarf_version.h: updated
      version string.
2020-06-12: David Anderson
    * checkexamples.c,dwarf_alloc.c,dwarf_arange.c,
      dwarf_frame.c,dwarf_line.c,dwarf_line_table_reader_common.h,
      dwarf_loc.c,dwarf_loc.h,dwarf_locationop_read.c,
      dwarf_loclists.c,dwarf_query.c,dwarf_rnglists.c,
      dwarf_util.c,libdwarf.h.in: Fixed indents
      and removed trailing whitespace.
2020-06-12: David Anderson
    * dwarf_alloc.c: Added free of loclists to 
      _dwarf_free_all_of_one_debug().
    * dwarf_loc.c: Created _dwarf_free_op_chain()
      and call it so even in case of error nothing leaks.
      Some adjustments to indents.
    * dwarf_loclists.c: _dwarf_dealloc_loclists ->
      _dwarf_dealloc_loclists_context for clarity.
      Modified _dwarf_free_loclists_head() to get
      leak-free behavior.
    * dwarf_opaque.h: Reflects above name change.
    * libdwarf2.1.mm: Corrected and amplified
      words on the new functions.
    * libdwarf2.1.pdf: Regenerated.
2020-06-10: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h,libdwarf/libdwarf_version.h:
      updated version string.
2020-06-09: David Anderson
    * CMakeLists.txt,Makefile.am : Deleted dwarf_loc2.h reference.
      Added dwarf_locationop_read.c, dwarf_loclists.c.
    * Makefile.in: Regenerated.
    * dwarf_alloc.c: Corrected a comment about reserved numbers.
      Reflects name change from struct Dwarf_Loc_c_s to
      struct Dwarf_Loc_Expr_Op_s. 
    * dwarf_errmsg_list.h: Added DW_DLE_LOCLISTS_ERROR.
    * dwarf_form.c: Added arguments to the library
      internal function _dwarf_formblock_internal()
      for better support of DWARF5 loclist creation.
    * dwarf_frame2.c: Changed a local from unsigned
      to Dwarf_Unsigned as well as changing pointer
      casts from 'unsigned long' to Dwarf_Unsigned.
    * dwarf_loc.c: Lots of refactoring to make
      the flow easier to understand.
      Moved _dwarf_read_loc_expr_op() to
      a new file dwarf_locationop_read.c as the 
      function is quite large.
      Renamed other functions so the names are not
      so much alike.
    * dwarf_loc.h: New fields in Dwarf_Loc_Chain_s
      to support the raw vs. cooked values of location
      low/high. New fields to support DWARF 5 loclists
    * dwarf_loc2.h: Deleted. Relevant contents in
      dwarf_loc.c and dwarf_loclists.c
    * dwarf_locationop_read.c: Existing code
      to read location ops refactored to a routine
      by themselves.  Long enough by itself
    * dwarf_loclists.c: New file with .debug_loclists
      support. 
    * dwarf_loclists.h: Nothing here. will be deleted.
    * dwarf_opaque.h: New functions and arguments
      for internal debug_loclists data.
    * dwarf_rnglists.c: Changed certain arguments
      to Dwarf_Half (address_size etc) where that
      makes sense.  
    * dwarf_util.c: Now dwarf_load_debug_info()
      loads the base data from .debug_rnglists
      and .debug_loclists (DWARF5)
    * libdwarf.h.in: 'unsigned' now 'unsigned int'
      existing function unchanged: dwarf_get_loclist_c()
      new function dwarf_get_locdesc_entry_d()
      new function dwarf_get_loclist_head_basics()
      new function dwarf_get_location_op_value_d()
      new function dwarf_get_loclist_head_kind()
      - Following for printing raw loclists, not
      usually used.
      new function dwarf_load_loclists()
      new function dwarf_get_loclist_context_basics()
      new function dwarf_get_loclist_lle()
      new function dwarf_get_loclist_offset_index_value()
      new function dwarf_get_loclist_raw_entry_detail()
    * libdwarf2.1.mm: 2.96, documents the new calls.
    * libdwarf2.1.pdf: Version 2.96.
2020-05-23: David Anderson
    * dwarf_opaque.h: Defines DWARFSTRING_ALLOC_SIZE   200
    * dwarf_form.c: Using DWARFSTRING_ALLOC_SIZE for the
      initial allocation, (mostly) avoiding the need
      for malloc here.  dwarfstring is mainly used
      for error messages, so preallocation is rarely useful
    * dwarf_line.c(create_fullest_file_path): Corrected
      the comments for this function.
2020-05-22: David Anderson
    * dwarf_alloc.c: New functions with proper type checking:
      dwarf_dealloc_error(), dwarf_dealloc_attribute(),
      dwarf_dealloc_die().
    * dwarf_arange.c: Now does correct free_aranges_chain() 
      and ensures chain entry stuff dealloc-d as appropriate.  
    * dwarf_die_deliv.c: Improved an error message in reports
      an address-size error.
    * dwarf_frame.c: Initialize more local variables at the
      point of declaration. Do  all needed dealloc of
      the chain entries 
      when creating the list.
    * dwarf_global.c: Now uses the new ch_itemtype
      to dealloc properly.  Which simplifies the 
      dealloc_globals_chain() call.
    * dwarf_line.c:  Now uses the new ch_itemtype
      to dealloc properly.
    * dwarf_line_table_reader_common.h: Now uses wrappers
      for the READ_UNALIGNED_CK DECODE_LEB128_UWORD_CK etc
      macros so the code
      now deallocs appropriately in case of error.
      Most places were not doing full dealloc. Now
      all are.
    * dwarf_opaque.h: New field ar_dbg so attribute
      dealloc is easier.  New chain field ch_itemtype
      so dealloc is simpler and safer.
    * dwarf_query.c: Removed comment about leaking memory,
      the leaks are fixed by using the DECODE_LEB128_UWORD_CK
      etc wrapper functions.
    * libdwarf.h.in: Declares the new dealloc functions
      dwarf_dealloc_error(),dwarf_dealloc_die(),
      dwarf_dealloc_attribute().
    * generated_libdwarf.h.in: Regenerated.
    * libdwarf2.1.mm: New documentation of dwarf_dealloc()
      as well as documentation of
      dwarf_dealloc_error(),dwarf_dealloc_die(),
      dwarf_dealloc_attribute().
    * libdwarf2.1.pdf: Regenerated. Version 2.94.
2020-05-19: David Anderson
    * dwarf_rnglists.c: Ommited a crucial assign to rh_debug so it
      leaked if de_alloc_tree absent.
2020-05-19: David Anderson
    *  dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,dwarf_names_new.h,
       libdwarf_version.h : New version strings.
2020-05-19: David Anderson
    * libdwarf.h.in: Revised a couple rnglists functions
      by removing unneeded arguments and revising the arguments
      to dwarf_rnglists_offset_get_rle_head(),
      dwarf_get_rnglist_head_basics(), and
      dwarf_get_rnglists_entry_fields()
    * generated_libdwarf.h.in: Regenerated.
    * dwarf_rnglists.c: Checked a pointer argument for null before using.
      Remove the unneeded function arguments (affecting several internal
      functions too). Renamed a few internal things for clarity.
    * libdwarf2.1.mm: Documented the new rnglists functions
      and added examples of use.
    * libdwarf2.1.pdf: Regenerated. Version 2.93.
2020-05-17: David Anderson
    * dwarf_dnames.c: Improved error reporting of the names generation
      when something goes wrong.
    * dwarf_elf_access.c,dwarf_elfread.c: Add MATCH_REL_SEC 
      for the .debug_addr section.
    * dwarf_form.c: Improved error reporting by showing specific details.
      Now supports DW_FORM_rnglistx.  New function
      dwarf_addr_form_is_indexed(theform) created, now using
      it here and in dwarfdump as needed..
    * dwarf_line_table_reader_common.h: Corrected indents.
    * dwarf_opaque.h:  Small commentary changes, added the 
      CU Context field cc_dwo_name_present (used for 
      non-standard DWARF4).
    * dwarf_query.c: Simplified some pointlessly messy code.
      Now also using dwarf_addr_form_is_indexed() instead of
      a list missing some DWARF5 values.
    * dwarf_ranges.c: #if 0 some useless code for now. 
    * dwarf_rnglists.c: The .debug_rnglists code is here.
    * dwarf_rnglists.h: For use inside libdwarf. Opaque
      to libdwarf callers.
    * dwarf_tsearchhash.c: Trivial change. No logic change.
    * dwarf_util.c: Removed pointless blank line.
    * dwarf_util.h, dwarf_xu_index.h: Fix trailing whitespace.
    * libdwarf.h.in: New functions and opaque types for reading
      the .debug_rnglists section.
    * generated_libdwarf.h.in: Regenerated.
2020-05-05: David Anderson
    * dwarf_rnglists.h, dwarf_opaque.h, dwarf_rnglists.c: 
      Preliminary new fields/code for Rnglists_Context.
2020-05-04: David Anderson
    * dwarf_alloc.c: renamed dwarf_dealloc_rnglists
      to _dwarf_dealloc_rnglists.
    * dwarf_errmsg_list.h: Added DW_DLE_RNGLISTS_ERROR.
    * dwarf_opaque.h: Added _dwarf_dealloc_rnglists() prototype.
    * dwarf_rnglists.c: Minor corrections of this new code.
    * dwarf_rnglists.h: Added a new field for internal use.
      Deleted some #if 0 lines.
    * dwarf_util.c(_dwarf_load_debug_info): Now also
      calls dwarf_load_rnglists as we need that in the
      Dwarf_Debug.
    * libdwarf.h.in: Added DW_DLE_RNGLISTS_ERROR.
      Deleted dwarf_dealloc_rnglists as it is renamed
      and made private to libdwarf.
    * generated_libdwarf.h.in: Regenerated.
2020-05-02: David Anderson
    * libdwarf2.1.mm: Added a note to Changes that
      instances of 'length_size' in the code and headers
      variable naming will, over time, be changed to 
      'offset_size' as this name suggests what they really
      represent: a 4 or 8 byte offset size.
    * libdwarf2.1.pdf: Regenerated, version 2.92
2020-05-02: David Anderson
    * CMakeLists.txt, Makefile.am: Added dwarf_rnglists.h,
      dwarf_rnglists.c
    * Makefile.in: Regenerated.
    * dwarf_alloc.c: Now calls dwarf_dealloc_rnglists() at
      finish to clean up rnglists data, if any.
    * dwarf_arange.c: Deleted some blank lines and added one.
    * dwarf_opaque.h: Added de_rnglists_context_count and
      de_rnglists_context to support rnglists.
    * dwarf_rnglists.h:  Defines the Dwarf_Rnglists_Context
      structure.
    * dwarf_rnglists.c:  Implements initial support of the
      .debug_rnglists section.
    * libdwarf.h.in: Declares new rnglist-related functions
      and an opaque struct Dwarf_Rnglists_Context_s.
    * generated_libdwarf.h.in: Regenerated.
2020-04-26: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h,libdwarf_version.h: Updated
      version string.
2020-04-25: David Anderson
    * dwarf_abbrev.c: Fix trailing whitespace.
    * dwarf_arange.c: Delete macro READ_UNALIGNED_CK
      use an just use  _dwarf_read_unaligned_ck_wrapper.
    * dwarf_die_deliv.c: Uses wrapper instead
      of READ_UNALIGNED_CK where necessary.
      Delete commented-out lines.
    * dwarf_error.c: Remove unwanted debug  code.
    * dwarf_form.c: Remove trailing whitespace.
    * dwarf_global.c: Rename some arguments for greater
      clarity.
    * dwarf_line.c: Fix line handling so both DW5
      and earlier handled better.  Improve some error
      messages.
    * dwarf_macro5.c:  Use wrapper() funcs, not
      READ_UNALIGNED_CK and fix a couple local
      variables so that works.
    * dwarf_ranges.c: Remove trailing whitespace.
    * dwarf_util.c: Remove trailing whitespace.
2020-04-24: David Anderson
    * dwarf_die_deliv.c: Now using wrappers so that
      errors do not lead to a temporary leak.
    * dwarf_global.c: Now ensures that an error
      in reading globals does not lead to temporary
      leaks that rely on dwarf_finish() to clean up.
2020-04-24: David Anderson
    * dwarf_names.c,dwarf_names.h, dwarf_names_enum.h,
      dwarf_names_new.h, libdwarf_version.h: 
      updated version string.
2020-04-23: David Anderson
    * dwarf_arange.c: Using new wrapper() code
      so that the reader macros do not interfere
      with doing appropriate dealloc.
    * dwarf_util.c: Implement new wrapper functions
      _dwarf_read_unaligned_ck_wrapper() and
      _dwarf_read_area_length_ck_wrapper.
    * dwarf_util.h: Declare the new functions.
2020-04-22: David Anderson
    * libdwarf.h.in: Added DW_DLE_USER_DECLARED_ERROR
      and the dwarf_error_creation() function that creates
      the Dwarf_Error.
    * generated_libdwarf.h.in: Regenerated.
2020-04-20: David Anderson
    * dwarf_form.c: Split a too-long comment line.
2020-04-16: David Anderson
    * dwarf_line_table_reader_common.h: more detailed error
      messages in a few cases.
    * dwarf_print_lines.c: Added dwarf_check_lineheader_b()
      as dwarf_check_lineheader() did not return error
      details.
    * libdwarf.h.in: defined prototype for 
      dwarf_check_lineheader_b();
    * generated_libdwarf.h.in: regenerated.
2020-04-14: David Anderson
    * libdwarf2.1.mm: Fixed wording 
      of dwarf_get_fde_info_for_cfa_reg3_b()
      which had the 1/0 value of has_more_rows
      backwards.
      Corrected several misspellings. 
    * libdwarf2.1.pdf: Regenerated, v2.91.
2020-04-13: David Anderson
    * dwarf_abbrev.c: Various errors now show additional detail
      about what exactly is wrong.
2020-04-11: David Anderson
    * dwarf_die_deliv.c,dwarf_xu_index.c: Each had
      a single trailing space. Removed. 
2020-04-11: David Anderson
    * dwarf_global.c: Changed break to continue
      so we don't stop the loop too early, yet
      still avoid leaking a useless.
2020-04-10: David Anderson
    * debug-cu-tu-indexes-layout.odg: The Split-Dwarf
      (aka debugfission) table layout is simple, but
      this is an introduction to the 
      layout of the arrays.  LibreOffice Draw document.
    * dwarf_init_finish.c: Small enhancements of error messages.
    * dwarf_util.c: Reformatted a macro here
      (READ_UNALIGNED_CK) so the lines are not so long
      and the backslashes are easily seen as complete.
    * dwarf_xu_index.c: There was some confusion in the
      code which prevented it from working.
      Interfaces remain the same, but things work now.
      The first part is a 20 line (or so) explanation
      of some of the internal handling of the tables.
      Now things work. Many error messges get
      detailed information.
    * dwarf_xu_index.h: Added new fields and relabeled
      the N U S fields in the header to match the
      DWARF5 standard.
    * libdwarf2.1.mm: Rev 2.90 10 April 2020.
      A little bit of reformatting to shorten the lines
      here. Has little or no effect on the output pdf.
      corrected the wording about the
      dwarf_get_xu_section_offset() function. 
    * libdwarf2.1.pdf: Regenerated Rev 2.90.
2020-04-07: David Anderson
    * dwarf_alloc.c: Deleted useless comment and added
      a blank line to separate declarations from code.
    * dwarf_frame2.c:  Fixed a too-long line.
    * dwarf_query.c: Now DW_DLE_ALLOC_FAIL has a meaningful
      error string attached.
    * dwarf_util.c: Added comment before CHECK_DIE macro.
2020-04-03: David Anderson
    * dwarf_arange.c: Deleted a useless blank line.
      Removed useless () around a return value.
2020-04-03: David Anderson
    *  dwarf_form.c,dwarf_frame2.c,dwarf_query.c: Fix indents and
       remove trailing whitespace.
2020-04-02: David Anderson
    * dwarf_die_deliv.c: Better text printed for an address size error
      including reporting the actual addrss-size found by libdwarf.
    * dwarf_frame2.c: Deleted a static version of
      _dwarf_create_address_size_dwarf_error() and use
      the global one. Revised some error messages to
      have specific details. Each instance of
      DW_DLE_DEBUG_FRAME_LENGTH_BAD now reports something
      specific about each case.
    * dwarf_opaque.h: Added a declaration of
      _dwarf_create_address_size_dwarf_error().
2020-03-28: David Anderson
    * dwarf_global.c: dwarf_return_empty_pubnames() revised
      so it cannot fail.
    * libdwarf.h.in: Revised comments attached to
      dwarf_return_empty_pubnames() function prototype.
    * generated_libdwarf.h.in: Regenerated.
2020-03-27: David Anderson
    * dwarf_names.c,dwarf_names.h, dwarf_names_enum.h,
      dwarf_names_new.h, libdwarf_version.h: 
      updated version string.
2020-03-27: David Anderson
    * dwarf_form.c,dwarf_query.c,dwarf_ranges.c: Improve various
      error messages with specific information about the
      error.
2020-03-27: David Anderson
    * dwarf_ranges.c: Properly detect end-of-section
      again.
2020-03-27: David Anderson
    * dwarf_alloc.c, dwarf_form.c: Removed
      trailing whitespace.
2020-03-27: David Anderson
    * dwarf_alloc.c: The (static) list of DW_DLA 
      initializers was very messy and hard to read.
      Cleaned up its appearance.`
      Added the 'type' to the fields that -DDEBUG
      prints.
    * dwarf_form.c,dwarf_util.c: The DW_DLE_FORM_BLOCK_LENGTH_ERROR
      error messages now have a longer and more
      complete error string.
2020-03-26: David Anderson
    * dwarf_alloc.c,dwarf_error.c: Changed spelling of the
      -DDEBUG prefixes to "libdwarfdetector"
    * libdwarf2.1.mm: Documented hints on finding libdwarf
      and libdwarf-caller memory leaks. Section 6.33
    * libdwarf2.1.pdf: Regenerated, version 2.89
2020-03-26: David Anderson
    * dwarf_alloc.c,dwarf_error.c:  Now DEBUG can be turned on via
      CFLAGS at configure time. Or left off by default.
      Changed all the fprintf here (debug stuff) to
      do printf instead.
    * dwarf_die_deliv.c,dwarf_frame2.c: Altered the 
      DW_DLE_ADDRESS_SIZE_ERROR
      strings so the 3 cases can be distinquished easily
      (just a convenience for debugging).
    * dwarf_globals.c: Removed one superfluous ().
    * dwarf_query.c: Reforatted lgpl text for shorter
      lines (no change in the content).
      Removed one superfluous ().
2020-03-25: David Anderson
    * dwarf_alloc.c, dwarf_error.c: Revised the debug
      output created if DEBUG is defined.
2020-03-25: David Anderson
    * dwarf_die_deliv.c: Fix trailing whitespace.
    * dwarf_frame2.c:    Fix trailing whitespace.
2020-03-24: David Anderson
    * dwarf_line.c: Deleted useless blank line.
2020-03-24: David Anderson
    * dwarf_alloc.c: Now with #ifdef DEBUG of debug messages in
      various places as thise get needed over and over.
    * dwarf_die_deliv.c: Working toward complete dealloc
      of resources to eliminate the  dependence on de_alloc_tree.
    * dwarf_error.c: #if 0 a debug message.
    * dwarf_form.c: Remove superflous ().
    * dwarf_global.c(_dwarf_internal_globals_dealloc):
      Recreated and documented critical dealloc code
      so Dwarf_Global_Context gets dealloc-c.
    * dwarf_line.c: Add a return DW_DLV_ERROR after
      an error Dwarf_Error is created..
2020-03-23: David Anderson
    * dwarf_die_deliv.c,dwarf_frame2.c: Some error messages
      are now far more precise (showing values).
    * dwarf_global.c: Correcting leakage and making
      some error messages more precise.
    * dwarf_print_lines.c: Correcting leakages.
    * dwarf_pubtypes.c: Minor readability change.
2020-03-21: David Anderson
    * dwarf_abbrev.c Move leb wrapper functions to dwarf_util.[ch]:
      and rename as _dwarf.....
      Make certain error conditions more explicit (better
      text in the error string).
    * dwarf_die_deliv.c: Move leb wrapper functions to dwarf_util.[ch]
      and rename as _dwarf.....
    * dwarf_frame2.c: Add {} for the few 'if' missing same.
    * dwarf_line.c: In case of form error make the error
      text more useful.
    * dwarf_query.c: Move leb wrapper functions to dwarf_util.[ch]
      and rename as _dwarf.....
    * dwarf_util.c, dwarf_util.h: Add the renamed
      _dwarf_leb128_uword_wrapper() and
      _dwarf_leb128_sword_wrapper() for general use
      where better error messages are advisable.
    * dwarf_init_finish.c: Removed a single trailing blank.
    * libdwarf.h.in: Removed trailing spaces.
    * generated_libdwarf.h.in: Regenerated.
2020-03-20: David Anderson
    * dwarf_arange.c: In case of error, was failing
      to clean up all allocations.
    * dwarf_macro5.c: Was preventing some dwarf_dealloc().
      Fixed.
2020-03-19: David Anderson
    * dwarf_abbrev.c: Generates a more useful and specific
      message in case a TAG is corrupt.
    * dwarf_line.c: After dealloc assign 0 to the pointer.
    * dwarf_die_deliv.c: Improved insert_into_context_list()
      for clarity and correctness. 
    * dwarf_error.c: Removed a couple "!= NULL" in if
      conditions.
    * dwarf_query.c: Uses local variable now to
      satisfy the usual libdwarf convention that in case
      of DW_DLV_NO_ENTRY or DW_DLV_ERROR only the
      Dwarf_Error argument is altered, not other
      pointer args.
    * dwarf_util.h: Declaration for _dwarf_format_TAG_err_msg()
    * dwarf_util.c: Generates a more useful and specific
      message in in _dwarf_format_TAG_err_msg()
      in case a TAG is corrupt.
2020-03-18: David Anderson
    * dwarf_die_deliv.c: Rewrote the function that
      keeps the cu_context list in the proper order.
      For clarity and correctness.
2020-03-16: David Anderson
    * dwarf_alloc.c: A recent change had the wrong
      test during initial Dwarf_Debug
      struct setup meaning dwarf_finish() was not cleaning
      up allocations. This made the runtimes better
      than they should be. Important correction here.
    * dwarf_die_deliv.c: Drop use of the dwarf_dieoff()
      context list, that was never appropriate. Now
      again with one list.
    * dwarf_opaque.h: Removed a list of Dwarf_CU_Contexts,
      that was never correct to have dwarf_offdie maintain
      a list separate from iterating through CUs.
    * dwarf_query.c (dwarf_attrlist): Add a 
      dwarf_dealloc on abbrev_list
      in an error case.
    * dwarf_util.c: Make the lines look a tiny bit
      better avoiding too-long lines.
2020-03-15: David Anderson
    * dwarf_frame2.c: On an internal error (bad dwarf)
      the necessary cleanup function was not being called
      in two places.
2020-03-15: David Anderson
    * dwarf_alloc.c: Now with configure-time options
      for tracking the alloc/dealloc actions in detail.
2020-03-15: David Anderson
    * dwarf_alloc.c: Now with the de_alloc_tree tests
      in final form. Respecting dwarf_set_de_alloc_flag().
2020-03-14: David Anderson
    * dwarf_alloc.c: Now adds an optional DEBUG
      macro that libdwarf developers may find useful.
      Revised the dwarf_dealloc code to not require de_alloc_tree.
    * dwarf_line.c: Now dwarf_srcfiles() and dwarf_filename()
      always allocate DW_DLA_STRINGS. Whereas earlier some
      of the strings were actually in a .debug section,
      not allocated. 
    * libdwarf2.1.mm: Now dwarf_diename()  and
      dwarf_die_text are documented
      as returning static strings that are not be be
      freed or dwarf_dealloc'd.  This was always true
      but the documentation said dwarf_dealloc() was
      required. Don't use dwarf_dealloc on these returned
      strings.
    * libdwarf2.1.pdf: Regenerated, version 2.88
    * dwarf_loc.c: Was incorrectly passing NULL instead
      of dbg to _dwarf_get_alloc in a few places.
    * dwarf_util.c, dwarf_global.c: Now checks more for
      incomplete setup
      of an internal structure to avoid calling dwarf_dealloc
      with NULL as the space to be freed.
2020-03-13: David Anderson
    * dwarf_abbrev.c: Remove erroneous dwarf_dealloc
      introduced yesterday. Caused a coredump
      in FreeBSD 64bit dwarfdump testing.
    * dwarfstring.c: Introduced an extra zero initializer in
      the dwarfstring_destructor() as safe and harmless.
2020-03-12: David Anderson
    * dwarf_abbrev.c: Use a wrapper on macro
      DECODE_LEB128_UWORD_CK
      so we can dwarf_dealloc in case of a problem.
      And be more thorough in various places
      for those dwarf_dealloc.
2020-03-12: David Anderson
    * dwarf_die_deliv.c:  A local function now explicitly
      static (_dwarf_siblingof_internal). 
      Following dwarf_dealloc of cudie  we assign 0 to it.`
      New function local_dealloc_cu_context() enables
      accurate and full dealloc of a cu context
      (which means there was some error fount) in
      an easy and complete way.
      local_attrlist_dealloc() does similarly for attrlists.
      A DECODE_LEB128_UWORD_CK now in a wrapper so on error
      we can dwarf_dealloc a DIE.
    * dwarf_macro5.c: Now dwarf_dealloc_macro_context() is safe
      if called with a null argument (and in that case there
      is nothing to do).
    * dwarf_opaque.h: Removed _dwarf_siblingof_internal()
      from the declared functions.
2020-03-12: David Anderson
    * dwarf_alloc.h, dwarf_opaque.h: Removed trailing whitespace.
      Shortened the lines of the LGPL text (the text
      is unchanged).
2020-03-12: David Anderson
    * dwarf_str_offsets.c,dwarf_util.c: Removed trailing whitespace
      and fixed indent mistakes.
2020-03-12: David Anderson
    * dwarf_query.c: Adds wrapper code around some
      dwarf_util.h macros
      so in case of a serious DWARF error we can
      free locally allocated things.
2020-03-12: David Anderson
    * dwarf_errmsg_list.h: Corrected DW_DLE_STR_OFFSETS_EXTRA_BYTES
      text. The error messages have more detail due to 
      the dwarf_str_offsets.c changes below, so fixed
      the string here.
2020-03-12: David Anderson
    * dwarf_macro5.c: Do proper dwarf_dealloc, avoiding
      a pointless dependency on de_alloc_tree freeing 
      things.
2020-03-12: David Anderson
    * dwarf_alloc.c: Minor cleanup that assigns
      zero after dwarf_dealloc so dead pointers
      not left around.
2020-03-12: David Anderson
    * dwarf_str_offsets.c: Improve messages in case of
      a serious DWARF error, reporting what is wrong
      more precisely and allowing a few bytes of all-zero-bits
      to be allowed at end of section (no error needed).
2020-03-12: David Anderson
    * dwarf_util.c: Revise too-long lines and checks for NULL
      pointers for moderm readability.
      Improve _dwarf_free_abbrev_hash_table_contents() so
      it can safely free an incompletely set up hash table.
2020-03-09: David Anderson
    * dwarf_alloc.c: Implements optional (at run time)
      reduced use of the de_alloc_tree search tree
      as a performance enhancement (see libdwarf2.1.mm/pdf).
    * dwarf_alloc.h: Declares _dwarf_alloc_tree_counts(),
      a new hidden function.
    * libdwarf_version.h: New date string
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h: New date string so regenerated
      these.
    * libdwarf.h.in: New function dwarf_set_de_alloc_flag()
      declared.
    * generated_libdwarf.h.in: Regenerated
2020-03-02: David Anderson
    * dwarf_print_lines.c: Removed one-line #if 0
      code that serves no purpose.
2020-02-25: David Anderson
    * dwarf_print_lines.c: Removed space character just before newline
      as it  has no useful prupose. 3 places.
2020-02-25: David Anderson
    * dwarf_names.c,dwarf_names.h, dwarf_names_enum.h,
      dwarf_names_new.h:
      libdwarf_version.h: updated version string.
2020-02-25: David Anderson
    * dwarf_line_table_reader_common.h: Now with dwarfstring
      containers in local scopes and easily evaluated
      as to lifetime and correctness.
2020-02-25: David Anderson
    * dwarf_elfread.c: Deleted a #if 0 ...#endif few lines.
    * dwarf_line.c: Fixed trailing whitespace.
    * dwarf_line_table_reader_common.h: Removed all use of the
      old dwarf_printf varargs code.  Instead using dwarfstring
      and dwarfstring_append_printf_i() etc.
      And a far simpler _dwarf_printf().
      No longer any sprintf/snprintf/vsnprintf here.
    * dwarf_opaque.h: Remove trailing whitespace.
    * dwarf_print_lines.c: Removed all use of the
      old dwarf_printf varargs code.
      No longer any sprintf/snprintf/vsnprintf here.
    * dwarf_util.c: Delete unused buffersetsize function.
      Delete now-unuised dwarf_printf()
    * dwarfstring.c: Now using TRUE FALSE, not DW_DLV anything.
      No one will be testing the integer return value anyway.
      Fixed the code where %-4s was truncating if the string
      to be processed was longer than 4 characters.
    * dwarfstring.h: Added commentary.
    * test_dwarfstring.c: New testcase for dwarfstring
2020-02-21: David Anderson
    * dwarf_arange.c,dwarf_debuglink.c,dwarf_frame2.c:
      removed the last sprintf/snprintf, changed to 
      use dwarfstring.h functions.
2020-02-18: David Anderson
    * dwarf_line.c: Added free() calls to delete_line_context_itself
      to avoid a leak that was created in last commit..
    * dwarf_line.h: Deleted a now-spurious comment.
    * dwarf_line_table_reader_common.h: Removed an == NULL
      comparison in favor of a !filename_entry_pairs.
2020-02-16: David Anderson
    * libdwarf2.1.mm: Now explains how dwarf_srcfiles()
      name arrays differ in DWARF5 from earlier
      debug_info versions. So callers can use
      the srcfiles array properly.
    * libdwarf2.1.pdf: Now version 2.87, dated 16 February 2020.
    * dwarf_line.c, dwarf_line.h,dwarf_print_lines.c,
      dwarf_line_table_reader_common.h: Recording DW5 line table
      header data more fully so lines print verbose
      prints more of the actual line table header.
2020-02-15: David Anderson
    * dwarf_elf_access.c,dwarf_init_finish.c: With libelf
      in use there was a mistake that broke dumping some objects that
      needed relocations.
    * dwarf_opaque.h: Corrected a is_rela to r_is_rela
2020-02-13: David Anderson
    * dwarf_elfread.c,dwarf_errmsg_list.h: Removed
      trailing whitespace.
2020-02-13: David Anderson
    *  libdwarf_version.h: New version string 
    *  dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
       dwarf_names_new.h: Regenerated with new
       version string.
2020-02-13: David Anderson
     * libdwarf/libdwarf.h.in: Added a new error code to
       properly distinguish between distinct elf section
       header issues related to relocations versus
       other section header issues.
     * libdwarf/generated_libdwarf.h.in: regenerated

    * dwarf_elf_access.c: Adding local READ_UNALIGNED_SAFE
      so we can do libelf relocations properly; .rel and .rela.
    * dwarf_elf_defines.h: Adding R_386_PC32 to the 
      applicable relocation sets.
    * dwarf_elf_load_headers.c: Now we deal with .rel.
      and .rela. relocations for better completeness.
      Removed some code duplication and complexity
      too.
    * dwarf_elf_rel_detector.c: Deals with R_386_PC32 now.
    * dwarf_elfread.c: Add READ_UNALIGNED_SAFE so we can
      do no-libelf relocations properly; .rel and .rela
    * dwarf_elfread.h: Added gr_is_rela field and
      two enums RelocRela and RelocOffsetSize so we have
      type-safety in the argument lists.
    * dwarf_init_finish.c: A new function ensures we
      skip various sections we know we do not want to
      look at.
    * dwarf_opaque.h: Declare _dwarf_ignorethissection()
      so libelf and non-libelf can ignore the unwanted
      sections.
    *  dwarf_errmsg_list.h: Entry added for the new
       DW_DLE error code.
2020-02-11: David Anderson
    * dwarf_elf_access.c,dwarf_line_table_reader_common.h,
      dwarf_tied_decls.h:
      removed trailing whitespace and final blank line.
2020-02-11: David Anderson
    * dwarf_init_finish.c: Removed code that was #if 0 #endif
2020-02-10: David Anderson
    * dwarf_elf_access.c: Now allows for .rel and .rela.
    * dwarf_elf_defines.h: Now allows for .rel and .rela.
    * dwarf_init_finish.c: Now allows for .rel and .rela.
    * dwarf_opaque.h: Adding dss_is_rela so we can
      process .rel. sections too.
2020-01-25: David Anderson
    * dwarf_form.c: DW_FORM_rnglistx was ommitted from a switch statement.
      Adding it in fixed the resulting errors in a DWARF5 object file
      built by clang 9.0.0.0
2020-01-16: David Anderson
    * dwarf_alloc.c,dwarf_die_deliv.c,dwarf_form.a,
      dwarf_query.c,dwarfstring.c,
      pro_reloc.c,pro_reloc_stream.c,pro_reloc_symbolic.c,
      pro_section.c,pro_types.c,pro_vars.c,pro_weaks.c,
      test_dwarfstring.c: Fixed indentations and
      removed trailing whitespace.
    * dwarf_xu_index.c: Ensure local Dwarf_Sig8 variables
      are always initialized. Does not fix any bug but
      does make it easier to read the code.
      Fixes indentation and removes trailing whitespace too.
2020-01-14: David Anderson
    * dwarf_names.c,dwarf_names.h,dwarf_names_enum.h,
      dwarf_names_new.h,libdwarf_version.h: Updated version string.
2020-01-05: David Anderson
    * dwarf_query.c(dwarf_offset_list): Coverity Scan CID 206598.
      Now checks for DW_DLV_ERROR where it failed to do so before,
      and returns an error instead of letting it slip through.
2020-01-03: David Anderson
    * dwarf_load_elf_headers.c(dwarf_elf_load_rela_32):
      Coverity Scan uncovered a memory leak in one
      case. CID 206524
