2009-12-30 DavidAnderson * configure: Regenerated with autoconf 2.64. * config.guess, config.sub: Delete these, best not to have them. 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.c: Check for both info_flag and cu_name_flag to decide when to print DIEs. 2009-10-12 DavidAnderson * dwarfdump.c: Updated dwarfdump version string to today. 2009-09-30 DavidAnderson * dwarfdump.c: Added globals for aranges checking and to print the resulting error count. * print_aranges.c: 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.c: DW_CFA_cfa_offset_extended_sf corrected to DW_CFA_offset_extended_sf. 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-07-24: David Anderson * tag_attr.c: Remove duplicate include of naming.h. 2009-06-23: David Anderson * strstrnocase.c: 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. * dwarfdump.1: More fully document -S. * globals.h: Create extern for is_strstrnocase(). 2009-06-18: David Anderson * configure: Regenerated. * Makefile.in: Add stristr.o * stristr.c: public domain source added to dwarfdump * print_die.c: Add code and arguments to support -S. * print_lines.c: print_one_die argument list changed, added the require argument.. * dwarfdump.c: Added the -S option. * configure.in: Add test to set HAVE_REGEX for the -S option. * dwarfdump.1: Document the -S options. * config.h.in: Set the default HAVE_REGEX * globals.h: Add -S globals, change the print_one_die() prototype to support -S. * print_aranges.c: Alter the print_one_die calls added to support -S. 2009-06-06: David Anderson * naming.c,naming.h: New files that implement the ellipsis functionality of dwarfdump and defer to libdwarf to get the names of the TAGs, attributes, FORMs, etc. * gennames.c: This file has moved to libdwarf, no longer present in dwarfdump. * esb.h, esb.c: Change certain char* arguments to const char* to avoid compiler warnings. * print_static_vars.c,print_static_funcs.c, print_sections.c,print_strings.c, print_locs.c, print_lines.c, print_pubnames.c,print_ranges.c, print_macros.c,print_types.c,tag_common.c, print_weaknames.c, print_aranges.c: Include changed from dwarf_names.h to naming.h * tag_common.h: Removed the tag_name array, libdwarf provides the TAG, ATTR, etc name strings now. * dwarfdump.c: Updated DWARFDUMP_VERSION string. * tag_tree.c,tag_attr.c: Include changed from dwarf_names.h to naming.h. simplified long complicated lines, remove dbg argument to get_TAG_name. * print_die.c,print_abbrevs.c: 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). 2009-05-07: David Anderson * dwarfdump.cc: updated DWARF_VERSION string. * Makefile.in: dwarf_names* are now generated by C, so 'clean' now cleans them out. 2009-05-04: David Anderson * common.h, common.c: Extracted simple utility routines into their own files. * dwarf_names.awk, at_list.awk: deleted. gennames.c replaces these. * tag_common.c, tag_common.h: Removed the simple utility routines from these files to simplify dependencies. * tag_attr.c, tag_tree.c: Include new common.h. * print_frames.c: Adding address_size argument to call. * print_frames.h: Adding new address_size argument to get_string_from_locs() declaration. * print_locs.c: Gets and uses CU-specific address_size. * print_ranges.c: Adding commentary. * print_die.c: adding DIE argument to ensure correct address size used for the CU in question. * Makefile.in: Now handles common.* and gennames.c changes. * gennames.c: New code emitting string 'get name' source. Replaces awk source. 2009-04-04: 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. * dwarfdump.c: Now calls the new libdwarf function dwarf_set_frame_cfa_value() and other such functions to specify all the values libdwarf needs. * dwarfdump.conf: Sets the cfa_reg: value to a new higher value (1436) to avoid conflict with largest known register count. * dwconf.h: Corrected commentary on DW_FRAME_CFA_COL3. * dwconf.c: Now uses DW_FRAME_CFA_COL3 as default for interface 3, rather than a directly typed number. Sets undefined-value and same-value pseudo-register numbers. 2009-04-03: David Anderson * dwarfdump.1: Amplified -R and -x abi= documentation. * dwarfdump.conf: Added generic500 generic100 abis. 2009-03-29: David Anderson * print_die.c: Moved print_infos() to here. * dwarfdump.c: Moved print_infos() out of here. * globals.h: Declarations changed to allow moving print_infos(). * dwarf_names.awk: Eliminate a pointless space before a newline in the generated code. * print_locs.c: Add -v section offset output to loclist printing of the debug_loc section so the entries can be matched to loclist printing initiated from .debug_info. 2009-03-24: David Anderson * README: Would be nice if all could use dwarfdump2, not this C dwarfdump. * dwconf.c: Initialize new frame regs configure data and parse it in the .conf file. Fixed old formatting mistakes. * dwconf.h: Add new fields to frame regs configure struct. Make -R be 1200 regs so that -R covers all the currently popular ABIs. * print_die.c, print_lines.c, print_frames.c: Change %# to 0x% so that zero prints with leading 0x consistently. * dwarfdump.c: -R is now 1200 registers. So config function changed and usage message needed update. * dwarfdump.1: Change -R to 1200 and document -C. * dwarfdump.conf: Add same_val_reg: and undefined_val_reg: initial values where needed or interesting. * print_macros.c: Fix old formatting mistake. 2009-03-23: David Anderson * print_sections.h: New file for print_*.c sources. * dwarfdump.1: Added -C documentation. * Makefile.in: updated 'mandir' so it works with current configure (so now make install properly installs the man page). * print_sections.c: Moved get_fde_proc_name() and related code to print_frames.c, where it is referenced. * dwarfdump.c: No longer turn on info_flag with -f or -F. Moved the Usage strings into a string table and loop through to print them. * globals.h: Removed get_fde_proc_name() declaration. * print_frames.c: Added get_fde_proc_name() here and removed the 'inlined:' from the abstract origin name. 2009-03-20: David Anderson * print_static_vars.c, print_static_funcs.c, print_strings.c, print_locs.c, print_pubnames.c, print_lines.c, print_ranges.c, print_abbrevs.c, print_macros.c, print_types.c, print_weaknames.c, print_aranges.c: Moved the print_* functions from print_sections.c into individual sourcefiles. * Makefile.in: Now lists the new sourcefiles. * print_sections.c: Deleted code moved to individual sourcefiles. Added code to try to find the name from a DW_AT_abstract_origin DIE when a subprogram DIE itself has no DW_AT_name; * dwarfdump.c: Remove unused local variables. Use DWARFDUMP_VERSION #define to set version string. * tag_tree.c: Fix && || problem with parentheses. * tag_attr.c: Fix && || problem with parentheses. * print_frames.c: Moved the 'print_frames' function itself from print_sections.c to here. 2009-03-17: David Anderson * globals.h: Created predicate function should_skip_this_cu() predicate function. Eliminating code duplication. * print_frames.c: Fix a hex value output to have a leading 0x as all hex values should (when printed). * print_sections.c: Call should_skip_this_cu(), which replaces duplicate code. Fix the arange print: now the hex value has a leading 0x as all hex values should. get_proc_name() had local variable funcnamefound initialized incorrectly, now is set to 0 as it should be. get_nested_proc_name() now initializes string buffers. get_fde_proc_name() now initializes its string buffer. Surprisingly things worked adequately before in spite of the errors. * dwarfdump.c: Call should_skip_this_cu(). Implementation of that new function is in this source file. 2009-03-16: David Anderson * print_frames.c:DW_CFA_restore output had a spurious newline. Removed 2 pointless blank lines an initialized 2 local variables. * print_sections.c: Removed a pointless redeclaration of a function in libdwarf.h. check_info_offset_sanity() was missing a return statement in one place, which could lead to spurious extra (and silly) error text. 2009-03-09: David Anderson * print_die.c: Make a comment easier to understand. 2009-02-28: David Anderson * Makefile.in: add tmp-*.tmp to the 'clean' rule. 2009-02-17: David Anderson * print_sections.c,print_die.c,tag_common.c,print_frames.c: C99 in-line declarations and // comments are not intended here, this removes a few that were introduced accidentally. 2009-02-16: David Anderson * Makefile.in: Removed some use of awk and simplified some shell scripting here. renamed temp files, no longer named with underbars, they uniformly start with 'tmp-'. * print_sections.c: Added the new argument required by the updated dwarf_names.c functions argument lists. * tag_tree_ext.list: List 'common extensions' of tag->tag relationships. * tag_attr_ext.list: List 'common extensions' of tag->attr relationships. * print_die.c: New 'common extension' tables used for checking tag->tag and tag->attr relationships unless turned off with -C. * dwarf_names.awk: Removed tabs so generated names.c not so spread out. Added argument to the generated functions so tag_tree.c, tag_attr.c can use these generated functions nicely. * dwarfdump.c: Adding -C option, which exposes some 'common extensions' of dwarf uses as DWARF CHECK (-ka) warnings. By default these extensions not reported as warnings. * tag_tree.c: Now generates base and extensions tables. Code in common with tag_attr.c is in tag_common* files. * tag_attr.c: Now generates base and extensions tables. Code in common with tag_tree.c is in tag_common* files. * tag_common.c, tag_common.h: New files with the common data extracted from tag_tree.c and tag_attr.c * globals.h: global flag added for -C. 2009-02-14: David Anderson * configure.in: Define --enable-nonstandardprintf * config.h.in: new #undef HAVE_NONSTANDARD_PRINTF_64_FORMAT * configure: Regenerated. * config.guess, config.sub: Latest version from GNU. * Makefile.in: Referenced configure variable to avoid irritating message at configure time. * README: document --enable-nonstandardprintf * print_sections.c, print_die.c, print_reloc.c, dwarfdump.c, dwconf.c, print_frames.c: Use libdwarf.h DW_PR_ printf macros for for better portability. 2009-02-13: David Anderson * print_sections.c: Ensure we are checking line table header correctness whichever line-table-print code is being used. Allow ARM line header table (which has a bug) to be used. * dwarfdump.c: Print lines_result total with checking on. * globals.h: Add lines_result global to count line botches. 2009-02-11: David Anderson * print_sections.c, print_die.c: DWARF_CHECK_ERROR* macros now get the count struct passed in. * tag_tree.c, tag_attr.c: Add a comment in the output identifying the output as generated code and with the generation date/time inserted. * globals.h: Accept the struct in DWARF_CHECK_ERROR* macros so we can update the error count in the macro. 2009-01-31: David Anderson * Makefile.in: Remove compilation of _tag_attr_table.c and _tag_tree_table.c as those are #included in print_die.c, not separately compiled. * print_frames.c: A formerly-static function now called from another file, so declare it here. * print_sections.c: Improve the printing of the .debug_loc section. * print_die.c: A couple of errors were missing their error count increment. * tag_attr.list tag_tree.list: Some normal relationships were left out of the tables: fixed now.