2015-12-31  David Anderson
     * configure.in: Now allows --enable-shared and --disable-nonshared
     * configure: regenerated.
2015-12-19  David Anderson
     * dwarfdump.c: Now we print macros alone by CU with -m
       (at least for DWARF5 macro format)
     * print_lines.c(print_source_intro): Minor local 
       variable ordering change.
     * print_macro.c(print_source_intro): Minor local 
       variable ordering change.
2015-12-19  David Anderson
     * print_macro.c: Print the actual macro offset size we will use.
2015-12-18  David Anderson
     * dwarfdump.c,globals.h print_die.c,print_lines.c,
       print_macro.c,print_pubnames.c,print_ranges.c:
       Removed globals elf_max_address and elf_address_size
       in favor of local variables and new
       global function get_address_size_and_max().
2015-12-16  David Anderson
     * print_aranges.c, print_die.c: Ensure the four
       error-reporting globals DIE_[CU_][global_]_offset are 
       set properly.
2015-12-16  David Anderson
     * common.c: Update version string.
     * dwarfdump.c: Update version string. Fix PRINT_CU_INFO()
       to do what was intended (and not have a side effect).
     * print_aranges.c: Folded a too-long line.
     * print_die.c: Folded  a line so both offsets listed on same line.
     * print_macro.c: moved macro_context call above the print of
       ".debug_macro" so if the section does not exist we print nothing.
2015-12-15  David Anderson
     * print_macro.c: Much of printing DWARF5 macros now works.
2015-12-13  David Anderson
     * print_macro.c: Call new function dwarf_get_macro_ops_count() and
       print returned values.
2015-12-12  David Anderson
     * print_macro.c: Now does -vv intro with cu_die print too.
     * print_macros.c: Only print .debug_macro name if there are some.
2015-12-11  David Anderson
     * naming.h,naming.c: Added get_MACRO_name().
     * print_macro.c: Now reads and prints macro5 header.
2015-12-11  David Anderson
     * esb.c: esb_append now checks for NULL string pointer.
       Added comment esb functions do NOT check for NULL pointers
       generally.
2015-12-10  David Anderson
     * esb.c: esb_get_copy() failed to account for the trailing NUL.
       esb_get_copy was not being tested by SELFTEST.  Fixed both issues.
2015-12-08  David Anderson
     * common.c,dwarfdump.c: Update version string.
     * print_frames.c: Fix trailing whitespace.
       Implement an attempt at DW_CFA_METAWARE_info.
2015-12-08  David Anderson
     * print_frames.c: Fix indents and remove trailing whitespace.
       Add comments: Errors in DIE info just result in omitting
       procedure names, no warning/errors.
     * dwarfdump.c: Deleted Elf64_Ehdr *eh64 declaration
       that can never be used.
2015-11-30  David Anderson
     * print_frames.c: Remove trailing whitespace.
2015-11-30  David Anderson
     * Makefile.in: Add print_macro.o to build list.
     * dwarfdump.c: Add macro_flag flag to signal print
       of DWARF5 debug_macro data.
     * globals.h: Export new macro print function.
     * print_die.c: Call new macro print function, skip that attr
       in checking-only run..
2015-11-28  David Anderson
     * globals.h: Added DEBUG_FRAME_EH_GNU define for consistency..
     * print_frames.c: use the new dwarf_get_frame_section_name()
       and dwarf_get_frame_section_name_eh_gnu() functions for
       section names.
     * print_lines.c: Use the new dwarf_get_line_section_name_from_die()
       function for the section name.
     * print_locs.c,print_macros.c,print_pubnames.c,print_static_funcs.c,
       print_types.c,print_weaknames.c: Added comments. These are
       places where the section is either obsolete or the section
       name is rarely of any use.
2015-11-27  David Anderson
     * dwarfdump.1: Mentions that with zdebug sections offsets
       refer to expanded object section, not compressed section.
     * print_aranges.c,print_die.c,print_lines.c,print_ranges.c,
       print_strings.c: Get the real section name from libdwarf.
2015-11-26  David Anderson
     * common.c,dwarfdump.c: Updated version string.
     * config.h.in, configure.in, Makefile.in: Deals with
       zlib when present.
2015-11-15  David Anderson
     * Makefile.in: Now supports building in a clean separate directory.
2015-11-11  David Anderson
     * print_abbrevs.c(dwarf_get_array_info): Initialize local variable.
     * print_die.c(get_location_list): Initialize local variable.:
     * dwarf_loc.h: Add declaration of _dwarf_loc_block_sanity_check().
     * dwarf_loc.c: Call new function  _dwarf_loc_block_sanity_check 
     * dwarf_loc2.c: Implement and call new function 
       _dwarf_loc_block_sanity_check to avoid duplicating code.
2015-11-07  David Anderson
     * dwarfdump.1: Documented -x line5=.
     * dwarfdump.c: Revised -g so it no longer turns on -i.
       Revised the meaning of -g to mean use old loclist interfaces
       (for testing the older interfaces with dwarfdump).
     * print_die.c(get_small_encoding_integer_and_name): a dwarf_dealloc
       referenced err whereas *err was correct.
       Revised loclist output making it look a bit like DWARF5
       even for DWARF2,3,4 output. Reads better, I think.
     * print_locs.c: -l gets a 'no longer supported' message 
       as it was never safe to do anyway.
2015-11-01  David Anderson
     * configure.in: Add -O0 to  --enable-wall.
       So if a coredump during debugging gdb will work really well.
     * configure: Regenerated.
     * print_frames.c: Ommitted a 'return' statement so
       some output duplicated. Added in the missing return.
2015-11-01  David Anderson
     * Makefile.in, configure.in: Implement --enable-wall for compile-time
       checking.
     * configure: Regenerate.
     * print_die.c:  Add DWARF5 DW_OPs  and .debug_loc.dwo loclists are
       handled. 
       Now uses either latest (DWARF5)
       interfaces or earlier, repurposing the old -g option to select.
     * print_frames.c,print_frames.h: Printing expressions 
       (in .debug_frame, .eh_frame) 
       now honors -g so DWARF5 expressions handled. 
     * print_lines.c: Fixed some formatting.
     * print_locs.c: Changes reflecting code calling into print_frames.c
2015-10-26  David Anderson
     * print_die.c: Removed debug printf.Corrected DW_OP_GNU_const_type
       handling (cannot be fully reported
       for certain new location operators).
2015-10-15  David Anderson
     *  print_die.c: Added DW_FORM_strp_sup,
        same idea as DW_FORM_GNU_strp_alt.
2015-10-15  David Anderson
     * dwarfdump.c: Add enum line_flag_type_e so we can test
       all the srclines interfaces (4 of them). Expand -x
       for that too.
     * print_die.c: Support DW_FORM_GNU_strp_alt.
     * print_lines.c: Update for old and new srclines
       interfaces.
     * globals.h: Added the enum line_flag_e variable for
       recording -x line5= value.
2015-10-06  David Anderson
     * dwarfdump.c: Now allow selecting alternate line table
       reading code so line table routines can be tested thoroughly.
     * print_lines.c: Uses one of the selected line table routine
       sets.  Adds new line access routine calls to test those too.
     * globals.h: Declares new flag line_skeleton_flag;
     * print_die.c: Moved a local declaration to where it is used.
       Added a missing DW_DLV_ERROR check so in case of error
       we do not leak memory.
2015-09-26  David Anderson
     * dwarfdump.c, common.c: Update version string.
     * print_lines.c: Added local variables for clarity
       in a call, changed the dwarf_srclines_dealloc() location
       to fully clean up after a two-level line table srcfiles call.
2015-09-26  David Anderson
     * dwarfdump.c, common.c: Update version string.
2015-09-24  David Anderson
     * dwarfdump.c, common.c: Update version string.
     * print_lines.c: IA in line header hint is
       really spelled IS. Fixed now.
     * dwarf_elf_access.c: Added R_IA64* and R_390 relocation ifdefs
       for cases where they are not in a test machines elf.h or the like.
2015-09-23  David Anderson
     * print_lines.c: Removed accidental newline from output.
2015-09-22  David Anderson
     * print_die.c: Removed trailing whitespace and fixed indentation mistake.
     * print_lines.c: Fixed indentation and  inconsistencies
       in spelling line table field hints.
       Leaving IA as has been for a long time 
       though it should be spelled IS.
2015-09-19  David Anderson
     * print_lines.c: Tweaking two-level line table code, mostly
       comments..
2015-09-17  David Anderson
     * print_lines.c: Adding handling of experimental two-level
       line table.
2015-09-15  Carlos Alberto Enciso
     * common.c: For Windows version, add a symbol with the 
       release date (taken from the distributed compressed archive),
       to be used by print_version_details() for better 
       tracking of versions.
     * print_die.c: The text search (-S), now follows 
       the DW_AT_specification
       and the DW_AT_abstract_origin attributes, 
       to get the associated name;
       this finds the declaration and definitions 
       DIEs for a member functions
       or the abstract and concrete instance DIEs for inlined functions.
       Fix some C99 issues with local variable declarations in
       get_attr_value().
     * print_aranges.c: Add an extra newline in print_aranges().
2015-09-15  David Anderson
     * print_die.c: for case DW_AT_dwo_id a c99-ism has been
       changed to be like C89.
2015-09-14  David Anderson
     * dwarfdump.c: Remove trailing space.
     * print_frames.c, globals.h: print_frame_inst_bytes() defined and used
       in one file, so made a static function, removed from globals.h
2015-09-13  David Anderson
     * dwarfdump.c, common.c: Update version string.
2015-09-11  David Anderson
     * dwarfdump.c: Update usage message to mention
       -x tied=  and update version strings.
     * common.c: Update version string.
2015-09-11  David Anderson
     * dwarfdump.c: Fixed copy/paste errors so DebugFission
       code works (see tieddbg in the source).
2015-09-11  David Anderson
     * dwarfdump.c, dwarfdump.1: Added -x tied=<path>
       option so one can get .debug_addr data when referencing
       a .dwp or .dwo. Tieing these together.
     * print_die.c: Fixed indent errors.
2015-09-05  David Anderson
     * tag_attr.list,tag_attr_ext.list,tag_tree.list: removed
       trailing whitespace.
2015-07-12  David Anderson
     * dwarfdump.c: Use dwoptind dwoptarg, not optind, optarg
     * dwgetopt.c,dwgetopt.h,dwgetopttest.c,tag_attr.c,
       tag_tree.c: Use dwoptind dwoptarg etc, 
       not optind, optarg, optopt op6error etc.
     * print_die.c: updated commentary.
2015-05-07  David Anderson
     * common.c, dwarfdump.c: Update version string.
     * print_die.c: Print DW_AT_dwo_id properly as a Dwarf_Sig8 value.
2015-05-03  David Anderson
     * print_die.c: Print the fission data from the
       index section when we print cu header, not when printing cu DIE.
       Moved cu header/cu die print code to functions, simplifying
       calling code.
2015-05-01  David Anderson
     * tag_attr.list: Added a DW_AT_signature and
       moved a couple attributes to match the standard-document
       order of attributes.
2015-03-10  David Anderson
     * dwarfdump.c: Update version string.
     * common.c: Update version string.
     * dwgetopt.c: Was mishandling options
       missing their required argument and
       coredumping dwarfdump.
     * getopttest.c: Added new tests to ensure
       we have the dwgetopt() fixes working properly.
     * Makefile.in: Added new test runs to 'make test'.
     * print_die.c, print_lines.c: Removed instances
       of trailing whitespace.
2015-03-09  David Anderson
     * Makefile.in: added new tests of dwgetopt. 
       Runs not only dwgetopt but system getopt.
     * dwarfdump.c: New function set_checks_off()
       so if printing we don't do checks (intended 
       to be this way for a long time now).
       Updated version string.
     * 	common.c: Updated version string.
     * print_die.c: Was not always recognizing unit DIES 
       DW_TAG_partial_unit or DW_TAG_type_unit where it saw 
       DW_TAG_compile_unit. Now does so.
     * dwgetopt.c: Errors could lead to dwarfdump coredump. Fixed.
     * getopttest.c: Added several new tests. Now one
       can run single tests and run against either getopt or dwgetopt
       (set at compile time of getopttest.c).
2015-03-03  David Anderson
     * tag_attr.list: Removed DW_AT_sibling from DW_TAG_partial_unit.
       DW_TAG_compile_unit. Removed DW_AT_containing_type from 
       DW_TAG_subprogram, DW_TAG_structure_type.
     * dwarfdump.c,common.c: Update version strings.
     * print_die.c: Fix indent mistakes. Add comment
       in _dwarf_print_one_expr_op() that one error is
       not presently realizable (FreeBSD compiler
       noticed the situation).
     * print_ranges.c: Fix indent mistakes.
     * tag_attr.c: Remove trailing whitespace from a #include line.
2015-03-03  Carlos Alberto Enciso
     * dwarfdump.c: Add allocate_range_array_info(),
        release_range_array_info() calls to help fix range checking.
     * globals.h: Add declarations of range checking functions.
     * print_die.c: Add check_range_array_info() call.
       Add record_range_array_info_entry() call.
       Move all the range check code out of print_die.c.
       Add handling of high_pc as an offset, not just as a value.
     * print_ranges.c: Delete unneeded includes.
       Add check_ranges_list() implementation moved from
       print_die.c. Add new ranges check functions.
       Range check error messages now appear later in the output,
       though the content is identical.
     * tag_attr_ext.list: Add DW_TAG_GNU_call_site and 
       DW_TAG_GNU_call_site_parameter tag attr combinations.
     * tag_tree_ext.list: Add DW_TAG_GNU_call_site DW_TAG_call_site_parameter
2015-02-22  David Anderson
     * configure.in: removed getopt.h from tests, we use
       local dwgetopt now.
     * dwgetopt.h: Function name is dwgetopt. Prototype named right now.
       Copied from libdwarf dwgetopt.h
     * configure: regenerated
     * Makefile.in: build dwgetopt.o
     * dwgetopt.c: Copied from libdwarf source. 
     * tag_attr.c,tag_tree.c: Now call dwgetopt() instead of getopt().

2015-02-04  David Anderson
     * 	common.c,dwarfdump.c:Updated version string.
     * print_debugfission.c: Now we are using a Dwarf_Sig8
       for fission hash so we introduce an esb_s to do
       the formatting.
     * tag_attr.c: Now we format a more detailed message when
       we detect an insufficient static tag_attr or tag_tree
       array instance. It's code only used at build time so
       just giving up is fine: someone changed dwarf.h.
     * tag_attr.list:  Adding new TAGs and new Attrs
       from DWARF5. Since the DWARF5 standard not yet final
       these could change!
     * tag_attr_ext.list: Added new GNU attributes.
     * tag_common.h:  updated DW_TAG_last and DW_AT_last 
        STD_TAG_TABLE_ROWS STD_ATTR_TABLE_COLUMNS values
       due to dwarf.h updates.
     * tag_tree.list: New entries from DWARF5.
2015-01-31  David Anderson
     * DWARFDUMPCOPYRIGHT: updated to
       reflect changes today. Old versions
       of the copyright notices still shown here.
     * common.c,dwarfdump.c,dwconf.c,esb.c,makename.c,naming.c,
       print_abbrevs.c,print_aranges.c,print_die.c,print_frames.c,
       print_lines.c,print_locs.c,print_macros.c,print_pubnames.c,
       print_ranges.c,print_reloc.c,print_sections.c,print_static_funcs.c,
       print_static_vars.c,print_strings.c,print_types.c,print_weaknames.c,
       strstrnocase.c,tag_attr.c,tag_attr.list,tag_attr_ext.list,
       tag_common.c,tag_tree.c,tag_tree.list,tag_tree_ext.list,
       uri.c,uritablebuild.c: Removed obsolete SGI postal
       address and web references.
2015-01-31  David Anderson
     * common.h,dwconf.h,esb.h,globals.h,makename.h,naming.h,
       print_frames.h,print_reloc.h,print_sections.h,tag_common.h,uri.h:
       The address and URI for SGI is obsolete and there is no
       replacement so deleted some lines from the copyright
       statements. 
2015-01-30  David Anderson
     * common.c,dwarfdump.c: Update version string.
     * globals.h: Added format_sig8_string() to global functions.
     * print_debug_fission.c: Updated .debug_cu/tu_index hash signature
       code to match libdwarf (Dwarf_Sig8, not Dwarf_Unsigned).
       Allow for missing hash (?).
     * print_die.c: Use format_sig8_string().
2015-01-29  David Anderson
     * print_die.c: Two places used C99-only variable
       declaration. Moved declarations up to conform to C90.
2015-01-24  David Anderson
     * dwgetopt.c,dwgetopt.h: Using NetBSD getopt source with
       modifications to support :: for uniform behavior
       for all users. Not all getopt are the same. Named dwgetopt().
     * dwgetopttest.c: Does tests of dwgetopt() for conformance
       with dwarfdump requirements. See 'make selftest'.
     * Makefile.in: Now has selftest for dwgetopt and
       links dwgetopt.o into dwarfdump.
     * esb.c: Now prints PASS on success and counts errors.
     * dwarfdump.c: Now calls dwgetopt and includes dwgetopt.h
       Added a new global so we recognize where needed 
       not to do some checks when checking (
       for debugfission some things not sensible).
     * globals.h: Removed cu_offset (not needed) and added
       suppress_checking_on_dwp flags.
     * print_die.c:renamed cu_offset to be a static: dieprint_cu_offset
       Reset it when finished with a CU. (-k checks got into trouble
       when both .debug_info and .debug_types present).
2015-01-21  David Anderson
     * common.c, dwarfdump.c: Update version string.
     * print_die.c: For a DW_FORM_ref_sig8 type signature
       value, if not printing the actual FORM print
       <type signature> so the hex value makes sense.
       It is obviously not a .debug_info global offset.
       Now prints debug fission (dwp) information for
       each CU with such.
2015-01-18  David Anderson
     * common.c, dwarfdump.c: Update version string.
2015-01-15  David Anderson
     * dwarfdump.c: dump_unique_errors_table() ifdef out
       of normal compiles, it is unused. Unused local variables
       removed.
       Update version string.
     * esb.c: Moved stdarg.h include just after stdio.h include
       for positioning consistency.
     * globals.h: Added stdarg.h include just after stdio.h
       include as we use va_list a lot and so stdarg.h
       is required.
     * print_debugfission.c: Remove two unused local variables.
     * print_frames.c: Remove trailing whitespace.
     * tag_attr.c: #include stdarg.h. Add {} to array initializers
       output to avoid compiler warning.
     * tag_common.c: Move stdarg.h include to just after
       stdio.h for positioning consistency.
       Update version string.
     * tag_tree.c: Revised include order to start with
       globals.h and to not duplicate includes of stdio.h etc.
       Add {} to array initializers
       output to avoid compiler warning.
     * testesb.c: Add include of stdarg.h.
2015-01-12  David Anderson
     * tag_common.c: Add comments about va_start, va_end.
     * esb.c: Add comments about va_start, va_end.
       Add va_end in the selftest code.
     * common.c: Update version string.
     * dwarfdump.c: Update version string. Add va_end()
       and comments about va_end.
2015-01-08  David Anderson and Carlos Alberto Enciso
     * Makefile.in: add selftest: rule, which tests esb.c
     * dwarfdump.c: Add new options -O file=path, -kD -kG -ku kuf.
       New checking and reporting features intended to give a
       report on attribute and tag usage.
       Update version string.
     * common.c: Update version string.
     * esb.c, esb.h: Added new interface using stdarg.
       Added self-test feature.
     * dwarf_makename.c: new #pragma (not Linux/Unix related).
     * print_die.c: Implements collecting the new statistics
       dwarfdump reports.
     * print_lines.c: New statistics collected.
     * tag_attr.c: New checks for the tag/attr table correctness.
     * tag_attr.list: Fixes duplicated entries.
     * tag_attr.list_ext: Adds APPLE attribute DW_AT_APPLE_optimized
       that llvm emits.
     * tag_common.c: bad_line_input() now allows stdarg calls so
       its easier to emit good error messages.
     * tag_common.h: bad_line_input() arg list changed a little. Stdarg now.
     * tag_tree.c: New tag tree checking done. New statistics
       available.
     * tag_tree.list:  Adds DW_TAG_unspecified_type,
       DW_TAG_rvalue_reference_type,
       DW_TAG_restrict_type.
     * tag_tree_ext.list: Adds DW_TAG_GNU_template_template_parameter.
       Fixes duplication of entries.
2015-01-05  David Anderson
     * dwarfdump.c:  Don't call dwarf_finish() if
       the dwarf-init call failed.
     * common.c,dwarfdump.c: Updated version string.
2015-01-01  David Anderson
     *	A new year begins.
