2009-12-30 DavidAnderson * configure: Regenerated with autoconf 2.64. 2009-11-24 DavidAnderson * tag_common.h: Updated 'standard tag table row' and tag table column maximums now the DWARF4 entries are in the .list files. Removed dos 'CR' characters at line ends. * tag_tree.list, tag_attr.list: Added various DWARF4 entries and added DW_TAG_enumeration_type under DW_TAG_union_type. 2009-11-17 DavidAnderson * dwarfdump.1: Document the -u option more fully. * print_die.cc: Check for both info_flag and cu_name_flag to decide when to print DIEs. 2009-10-12 DavidAnderson * dwarfdump.cc: Updated dwarfdump version string to today. 2009-09-30 DavidAnderson * dwarfdump.cc: Added globals for aranges checking and to print the resulting error count. * print_aranges.cc: Added checking that all 3 ways of computing a cu_die_offset from an arange get the same offset (checked with -r -ka). * print_frames.cc: DW_CFA_cfa_offset_extended_sf corrected to DW_CFA_offset_extended_sf. The print_frames code now uses the dwarf_get_CFA_name() call from libdwarf to print frame operation names. * globals.h: New function SpaceSurround() so we can use dwarf_get_CFA_name concisely in print_frames.cc. Added aranges_result and check_aranges so print_aranges.cc can use them. 2009-09-01 DavidAnderson * tag_tree.list: We add DW_TAG_class_type as a valid child of a DW_TAG_union_type. 2009-08-05 DavidAnderson * gennames.c: Change include from getopt.h to unistd.h so the code is more universally compilable. 2009-06-23: David Anderson * strstrnocase.cc: Corrected typo in TEST code and added a new test. 2009-06-22: David Anderson * Makefile.in: switched to personally written string comparison, strstrnocase.c. * stristr.c: deleted. * strstrnocase.c: New code, written by me so no license issues. * print_die.c: Call is_strstrnocase(), the new function. Change a local variable to unsigned to avoid a compiler warning about signed/unsigned comparison. * dwarfdump.1: More fully document -S. * globals.h: Create extern for is_strstrnocase(). 2009-06-18: David Anderson * configure: Regenerated. * Makefile.in: Added stristr.o * dieholder.h,print_die.cc, dwarfdump.cc,print_lines.cc,print_aranges.cc: Added support for -S * Test for regex, set HAV_REGEX for -S support. * dwarfdump.1: document -S * stristr.cc: New public domain source file. * config.h.in: Adding HAVE_REGEX default value. * globals.h: Adding support for -S. 2009-06-06: David Anderson * fderegs.h: Remove unused line and switch an argument to unsigned to avoid -Wall warning. * naming.cc,naming.h: New files that implement the ellipsis functionality of dwarfdump and defer to libdwarf to get the names of the TAGs, FORMs, etc.. * gennames.cc: This file has moved to libdwarf, no longer present in dwarfdump. * print_static_vars.cc,print_static_funcs.cc, print_sections.cc,print_strings.cc, print_locs.cc, print_lines.cc, print_pubnames.cc,print_ranges.cc, print_macros.cc,print_types.cc,tag_common.cc, print_weaknames.cc, print_aranges.cc: Include changed from dwarf_names.h to naming.h * dwarfdump.cc: Updated DWARFDUMP_VERSION string. * tag_tree.cc,tag_attr.cc: Include changed from dwarf_names.h to naming.h. Remove dbg argument to get_TAG_name. * print_die.cc,print_abbrevs.cc: Include changed from dwarf_names.h to naming.h. Calls to get_TAG_name (etc) no longer have a dbg argument. * Makefile.in: We no longer build generated file names.c, we build naming.c (hand coded, not generated). * tag_common.h: Delete table of TAG names, libdwarf provides the name strings now. 2009-05-10: David Anderson * dwarfdump.cc: updated DWARF_VERSION string. * print_frames.cc: When using the older frame register interface with -v, suggest use of -R instead of erroring off or segfaulting in dwarfdump. 2009-05-07: David Anderson * Makefile.in: The dwarf_names* files are all generated by C++ now, so clean cleans them out. 2009-05-04: David Anderson * dwarf_names.awk, at_list.awk: deleted. gennames.cc replaces these. * common.h, common.cc: Extracted simple utility routines into their own files. * tag_common.c, tag_common.h: Removed the simple utility routines from these files to simplify dependencies. * tag_attr.cc, tag_tree.cc: Include new common.h. * print_frames.cc, print_frames.h: Adding address_size argument to call. * print_locs.cc: Gets and uses CU-specific address_size. * print_ranges.cc: Adding commentary. * print_die.cc: adding DIE argument to ensure correct address size used for the CU in question. * Makefile.in: Now handles common.* and gennames.cc changes. * gennames.cc: New code emitting string 'get name' source. * print_frames.h: Adding new address_size argument to get_string_from_locs(). * dwarf_names_new.h: Deleted from svn, this is generated. 2009-04-03: David Anderson * Makefile.in: clean up 'clean' and 'distclean' so that distributed files are not cleaned out by 'clean' and all generated files (even those shipped in distribution) are cleaned out by distclean. * fderegs.h: New class that reads interface 2 and 3 libdwarf and reduces to a common interface to simplify print_frames.cc It also radically speeds up frame printing when there are large numbers of registers in the ABI by using a different libdwarf interface than before. * print_frames.cc: Uses FdeRegs class to simplify and unify getting frame registers. Uses a different libdwarf interface to speed up register acquisition. * dwarfdump.cc: Added calls to libdwarf to specify the correct 'same value' and 'undefined value' pseudo-register numbers. * dwarfdump.1: Amplified -R and -x abi= documentation. * dwconf.cc: Added comments and deleted a few duplicated lines. * dwarfdump.conf: Added generic500 generic100 abis. Now all ABIs have same_val_reg: and undefined_val_reg: defined. * dwarf_names_enum.h: delete dwarf_names_enum.h from svn, it is a generated file. 2009-03-29: David Anderson * Makefile.in: References dieholder.h and srcfilesholder.h. * dieholder.h: New: Implements DieHolder class. * srcfilesholder.h: New: Implements SrcfilesHolder class. * print_aranges.cc: Use SrcfilesHolder and DieHolder classes. * print_sections.cc: The dwarf_names_print_on_error flag is now a bool. * globals.h: Some interfaces use SrcfilesHolder and DieHolder classes. Some values now external so they are visible (used in print_infos() which is now in print_die.cc. The dwarf_names_print_on_error flag is now a bool. * print_lines.cc: Use SrcefilesHolder and DieHolder classes. * dwarfdump.cc: If should_skip_this_cu() we need to continue; and this fixes the omission of the continue. print_infos() moved out of here. * print_die.cc: Moved print_infos() to here. Interfaces use DieHolder and SrcfilesHolder classes now. * print_locs.cc: Add a new -v (verbose) output field so entries can be matched to .debug_info output. * dwarf_names.awk: The 'print on error' arg is now a bool. Removed a superfluous space from the generated code. * print_macros.cc: A ) was missing from the output. * tag_tree.cc,tag_attr.cc: The 'print on error' argument of the generated code (and all uses) is now a bool. 2009-02-28: David Anderson * Created a new source base based on dwarfdump.