2019-11-07 David Anderson * Makefile.am: Now set env vars so make check can get the compiler options. * Makefile.in: Regenerated. * makename.c,makename_test.c: Refine the ifdef around the pragma so it only appears with windows and when the compile is not using gcc or clang to compile. * runtests.sh: New the new env var to get the configure time compiler options into the tests compilations. 2019-11-05 David Anderson * README.testcases: Documentation of the three binary testcases in the dwarfdump source directory. * testobjLE32PE.test.c: Original source for the testobjLE32PE.exe testcase. Not compiled here, just present as documentation. * Makefile.am: Name README.testcases and testobjLE32PE.test.c so the get into releases. * Makefile.in: Regenerated. 2019-11-05 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h : new version string. 2019-11-04 David Anderson * Makefile.am: Fixed a trailing blank after a backslash. 2019-10-28 David Anderson * esb.c: Fixed a VSNPRINTF ifdef so it no longer uses ifdef to separate parts of a va-arg. Fixes a compiler warning. * runtests.sh: Instead of assuming esb.o present put $srcdir/esb.c in the test script. 2019-10-24 David Anderson * esb.h: Removed the bogus and unnecessary test of _MIPS_SZLONG. Just go with long long. 2019-10-22 David Anderson * common.c: Now -V prints both the date/time string and the PACKAGE_VERSION string from the top level configure.ac/CMakeLists.txt. * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: Regenerated. * tag_attr.c: The #include ordering was a bit wrong as it checkded HAVE_UNISTD_H before config.h was included (from globals.h). Fixed. * getopttest.c: Added #include of config.h so the #ifdef around standard headers compiles. * print_reloc_decls.h,print_reloc_test.c,testesb.c: With full warnings this needed ifdefs to the simple testcode will build. And removal of unused variables. 2019-10-21 David Anderson * dwarfdump.c,dwgetopt.c,esb.c,esb.h,getopttest.c, globals.h,makename.c,makename_test.c: Be much more thorough in using config.h to check for headers before including them. 2019-10-18 David Anderson * runtests.sh: Improving some message test so context makes sense. 2019-10-17 David Anderson * Makefile.am: A couple test files got left out of the list of critical files, so doing dist and then testing the result would fail 'make check' * Makefile.in: Regenerated. * runtests.sh: Small tweaks so 'make check' from outside the source tree works now. 2019-10-16 David Anderson * CMakeLists.txt: Now sets -I so the ctest results pass. * dwarfdump.c: Altered a spelling to make a distinction between various places that say 'could not open the file'. * globals.h: Now #include use "" not <> on dwarf.h and libdwarf.h so they match everything else in dwarfdump and libdwarf. 2019-10-14 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h : new version string. 2019-10-14 David Anderson * command_options.c: Revised the settings of glflags.gf_gnu_debuglink_flag. * dwarfdump.c: Now we only print debuglink etc on request via --print-gnu-debuglink. Now call the latest, best version of dwarf_gnu_debuglink() handling both .gnu_debuglink and .note.gnu.build-id sections. 2019-10-02 David Anderson * runtests.sh: Added mach-o sanity test case. * test-mach-o-32.base,testobjLE32PE.base,testuriLE64ELf.base: each is limited to 500 lines to keep the space in use with non-source a bit constrained. 2019-10-02 David Anderson * addrmap.c: The include of addrmap.h was in the wrong line. Noved down 4 lines. * globals.h: Refined the setup as the requirement for _GNU_SOURCE to be set does not apply when we have no libelf at all. * helpertree.c: Removed pointless include of esb.h. * helpertree_test.c: Added include of so we are guaranteed uintptr_t for TSEARCHASH. * macrocheck.c: Removed a pointless include of esb.h. * runtests.sh: Removed useless tests of the native getopt as we never use it. Ensure we get cc or gcc if at least one of them exists. Use rm -f and name with and without trailing .exe for portability to Windows/Mingw. Now verifies that dwarfdump on a PE file and an Elf file worked correctly as a sanity check. 2019-10-02 David Anderson * testobjPE.base -> testobjLE32PE.base * testobjPE.exe -> testobjLE32PE.exe * testuriBE64ELf.base -> testuriLE64ELf.base * testuriBE64ELf.obj -> testuriLE64ELf.obj * Makefile.am: Reflects the revised names. 2019-10-02 David Anderson * Makefile.am: New test data for make check (runtests.sh) * dwarf_names.c,dwarf_names.h: new date string. * dwarfdump-ta-ext-table.h,dwarfdump/dwarfdump-ta-table.h, dwarfdump-tt-ext-table.h,dwarfdump-tt-table.h: new date string. 2019-10-02 David Anderson * runtests.sh: Now runs dwarfdump on an elf and a PE object to show things basically work. * testobjPE.base,testobjPE.exe: New * testuriBE64ELf.base,testuriBE64ELf.obj : New 2019-09-19 David Anderson * dwarfdump.c: Fix indents and remove trailing whitespace. * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: version string update, regenerated these. * print_frames.c: Small clarifications of the logic. 2019-09-10 David Anderson * dwarfdump.c: Now --print-gnu-debuglink prints the .note.gnu.build-id and .gnu_debuglink sections (does both if both exist). 2019-09-08 David Anderson * command_options.c: Added --print-gnu-debuglink and set gf_gnu_debuglink_flag as appropriate. * dwarfdump.1: Document --print-gnu-debuglink. * dwarfdump.c: Implement debuglink printing. * glflags.h: Added boolean gf_gnu_debuglink_flag. * globals.h: Added prototype of print_secname() and now it is shared across dwarfdump. * print_abbrevs.c,print_locs.c,print_strings.c: Deleted local print_secname(), call the shared one instead. * print_die.c: Make this print_secname() the single shared version. 2019-09-03 David Anderson * esb.h, esb.c: Reformat copyright for shorter lines. No change in the text. * print_abbrevs.c: Fix indents and remove trailing whitespace. 2019-09-02 David Anderson * print_abbrevs.c: Improved .debug_abbrev error checking. Now uses dwarf_get_abbrev_entry_b() which ensures most (possibly all) corruptions can be detected. * print_die.c: Reformatted a long comment. 2019-08-29 David Anderson * print_die.c: Minor corrections including printing DW_AT_GNU_odr_signature more sensibly. Corrected checks for signature consistency in CU vs the .debug_[tc]u_ index section. Some reformatting for consistency. * print_lines.c: Remove a blank line. * print_ranges.c: Remove some debugging-only code. 2019-06-04 David Anderson * print_die.c: Removed inttypes.h include as nothing in it is referenced. 2019-05-29 David Anderson * makename-test.c: change DW_TSHASHTYPE char * to DW_TSHASHTYPE uintptr_t to match the rest DW_TSHASHTYPE. 2019-05-29 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: Regenerated with latest version. 2019-05-26 David Anderson * addrmap.c, makename.c: Include stdint.h for tsearch. * checkutil.c: Delete include inttypes.h. Fix trailing whitespace, reformat comments for line length. * dwarf_tsearch.h: Make include idempotent with #ifndef DWARF_TSEARCH_H. DW_TSHASHTYPE is now uintptr_t. Turn double-blank-lines to a single blank line. Use DW_TSHASHTYPE. * dwarf_tsearchbal.c: Delete include inttypes.h. Fix trailing whitespace. Define DW_PR_DUx and use DW_PR_DUx so printf formats properly. Remove const from keyptr: it's really wrong as the user may actually free what it points to. Use DW_TSHASHTYPE. Correctly arrange const in casts. * helpertree.c,macrocheck.c,print_die.c: Include stdint.h for tsearch. 2019-05-24 David Anderson * checkutil.c: Change %lx to instead use "%" DW_PR_DUx so it adapts without compiler warnings. 2019-05-24 David Anderson * Makefile.am: Delete mention of config.h.in.cmake. * Makefile.in: Regenerate. 2019-05-20 David Anderson * dwarf_tsearchbal.c: Add windows-only #define intended to suppress warnings from particular compilers. 2019-05-20 David Anderson * CMakeLists.txt: No longer generates a local-build-dir config.h * config.h.in.cmake: Deleted. 2019-05-20 David Anderson * CMakeLists.txt: Added addrmap.h to the HEADERS list. Reflects new names for the options and adds the compiler warning options. * config.h.in.cmake: Adding in the necessary HAVE_* option defaults. * dwarfdump.c: Adds part of the HAVE_CUSTOM_LIBELF and DW_FTYPE_CUSTOM_ELF support (for the one environment wanting that). Drops the accidental print of date/time with -O option to dwarfdump. * esb.c: Adding a Windows-specific define for Windows builds. * globals.h: Adding a comment. * tag_attr.list, tag_attr_ext.list,tag_tree.list, tag_tree_ext.list: Adding blank lines judiciously makes the table easier for humans to read. 2019-05-14 David Anderson * command_options.c: Removed unneeded trailing ',' in initializer as it caused a warning in compile. 2019-05-14 David Anderson * print_reloc_test.c: Without libelf (in which case dwarfdump is not interested in printing relocations) we now compile a main program returning 0 (success). With libelf we examine the relocation name tables as usual to exit with success or failure. 2019-05-07 David Anderson * CMakeLists.txt: Now the code from configure.cmake is here. Previously there were two includes of configure.cmake, which was a mistake. * Makefile.am: Added the *_test.c so tar distributions can run 'make check'. * scripts/buildandreleasetest.sh: Now adds in cmake build of dwarfgen and dwarfexample and test so those are tested. * configure.cmake: Deleted. It's all in CMakeLists.txt now. 2019-05-05 David Anderson * dwarf_names.c,dwarf_names.h, dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: Regenerated with latest libdwarf version string. 2019-05-02 David Anderson * dwarfdump-ta-ext-table.h: Regenerated. * tag_common.h: 16-> 15. Deleted a duplicate extension TAG->Attr combo recently added so need to regenerate. 2019-05-02 David Anderson * helpertree.c: Deleted trailing blank line. * tag_attr_ext.list: Added gcc common extension of DW_TAG_structure_type having a DW_AT_containing type. * tag_common.h: Incremented EXT_ATTR_TABLE_ROWS to 16 for the change in tag_attr_ext.list. * dwarfdump-ta-ext-table.h: Regenerated. * dwarf_leb.c: Removed trailing whitespace on one line. * dwarf_object_detector.c,dwarf_pe_descriptor.h, dwarf_pe_read.c: Using the updated names of some Windows types, adding _dw at the end to avoid conflicts with Windows. * dwarf_tied.c: Removed blank last line of the file. * dwarf_tied_decls.h: Removed several blank lines at the end of the file. * dwarf_tied_test.c: Removed trailing whitespace. 2019-05-01 David Anderson * dwarfdump.1: A stray letter 'i' was in the --format-extensions wording. 2019-05-01 David Anderson * configure.cmake: deleted. * globals.h: Corrected typo in comment. * CMakeLists.txt: Now does its configure_file on its own. 2019-05-01 David Anderson * configure.cmake: Removed some lines, placing them in base directory configure.cmake. 2019-04-30 David Anderson * CMakeLists.txt: Added the new files. Revised the testing area the tests can be run and pass. 2019-04-30 David Anderson * helpertree_test.c,makename_test.c,print_reloc_decls.h, print_reloc_test.c,section_bitmaps_test.c: New source which separates the internal-api test code from the code dwarfdump actually uses. Removing most need of -DSELFTEST. * helpertree.c,makename.c,print_reloc.c,section_bitmaps.c, section_bitmaps.h: Now with just the code needed for dwarfdump itself. * runtests.sh: Reflects the refactoring of the internal api test code. 2019-04-29 David Anderson * dwarf_names.c,dwarf_names.h: Regenerated. Version date update. * dwarfdump_ta_ext_table.h,dwarfdump-ta-table.h, dwarfdump-tt-ext-table.h,dwarfdump-tt-table.h: Regenerated. * tag_attr_ext.list. Added DW_TAG_class_type with common GNU extension DW_AT_containing_type * tag_common.h: Increased EXT_ATTR_TABLE_ROWS to 15. 2019-04-28 David Anderson * config.h.in.cmake, configure.cmake: Deleted all reference to INT32 and INT64 as no longer needed. 2019-04-26 David Anderson * config.h.in.cmake,configure.cmake: Now deals with DWARF_WITH_LIBELF and more for cmake. 2019-04-25 David Anderson * print_die.c: Removed trailing whitespace. 2019-04-25 David Anderson * common.c,dwconf.c: Tiny changes to avoid compiler warnings. * print_die.c: Refactored to avoid annoying compiler warning about a fall-through. 2019-04-24 David Anderson * command_options.c: Remove trailing space, fold a long line * dwarfdump.c: If init failed the message listed the wrong function name. 2019-04-22 David Anderson * dwarfdump.c: Prevent the -a option from requesting Elf section data printing (no section data was printed anyway as the request was incomplete). 2019-04-22 David Anderson * dwarfdump.c: Add test for _MSC_VER for Windows MSVC. * print_die.c: Using uintptr_t to suppress a warning. 2019-04-22 David Anderson * checkutil.c: Now uses uintptr_t so we can avoid compile-time warnings about converting pointer to integer. * command_options.h: Ifdef a couple of static function prototypes so, when regex missing, we do not get warnings of undefined static functions. * dwarf_tsearchbal.c: Add ifdef-d stdint.h and inttypes.h so we can avoid some conversion warnings from printf calls. * dwarf_alloc.c: Add ifdef-d stdint.h and inttypes.h so we can avoid some conversion warnings from printf calls. 2019-04-19 David Anderson * Apology. This enhances pubnames-like printing and uses non-libelf elf access as much as possible (even if libelf present). With --disable-libelf it allows all but printing Elf section headers and relocation records. It's excessively large for one commit(mainly in libdwarf). Sorry. * command_options.c: Conditionalize the help message so the Elf section printing is not shown if --disable-libelf chosen at configure time. * dwarfdump.1: Mention that --disable-libelf removes certain elf section header printing options. * dwarfdump.c: Implements the elf reading changes. * print_strings.c: Fixed a printf to use sanitized() so we don't print non-ascii (we use uri form instead). 2019-03-08 David Anderson * print_pubnames.c: Remove trailing whitespace. 2019-03-07 David Anderson * print_pubnames.c(print_all_pubnames_style_records): A struct esb_s was constructed and filled but then never destructed, leading to a memory leak. Eliminated it entirely. 2019-03-04 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h,dwarf_names_enum.h, dwarf_names_new.h: Regenerated with latest date string and version. * dwarfdump.c: Corrected indent mistakes. * glflags.h: Removed blank line. * globals.h: Added print_all_pubnames_style_records() declaration so all the pubnames-like sections are printed by just one function. * print_die.c: Fixed indents. Removed trailing whitespace. * print_pubnames.c: Now has the print code for all the pubnames-like sections. The pubnames-like section names only print if there is some data. We now also (for those sections) print the section CU-headers if dwarfdump -v. Some error messages modified slightly to show the correct section name (as opposed to leaving it off). Now can do the coded checks instead of ignoring them. * print_sections.c: Moved deal_with_name_offset_err() over to print_pubnames.c, where it is now a static function. * print_sections.h: Removed declarations of deal_with_name_offset_err() and print_pubname_style_entry() as those are now static functions in print_pubnames.c. * print_static_funcs.c, print_static_vars.c: Now only print section name if there is content. Corrected a long-incorrect section name of this SGI-extension section you most likely have never seen. Deleted the old printing code, do it via call into print_pubnames.c. * print_types.c,print_weaknames.c: Now only prints section name if there is content. Deleted the old printing code, do it via call into print_pubnames.c. 2019-02-24 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h,dwarf_names_enum.h, dwarf_names_new.h: Regenerated with latest date string and version. 2019-02-19 David Anderson * configure.cmake: Now defines DWARF_WITH_LIBELF so builds work as always. * dwarfdump.c,globals.h,print_reloc.c: Now uses DWARF_WITH_LIBELF to determine how to build with or without libelf. 2019-02-12 David Anderson * print_die.c: Delete _dwarf_memcpy_swap_bytes() as it is no longer needed. Use the new dwarf_uncompress_integer_block_a() interface as it is easier to use. 2019-02-07 David Anderson * dwarf_names.c,dwarf_names.h,dwarfdump-ta-table.h, dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: Just a changed version string. 2019-02-07 David Anderson * dwarfdump.c: Use ifdef HAVE_ELF_H so non-elf builds work. * print_reloc.c: ifdef HAVE_ELF_H, eliminating the entire file of elf-header printing if elf.h missing. 2019-01-31 David Anderson * dwarfdump.c,dwconf.c,esb.c,print_abbrevs.c, print_aranges.c,print_die.c,print_macro.c, print_reloc.c,print_str_offsets.c: Fix warnings emitted by llvm's scan-build tool. 2019-01-20 David Anderson * globals.h: Remove the code for *UINT* and all the ifdefs involved. No longer needed. * print_die.c(get_FLAG_BLOCK_string): Remove the__int32_t from this function (associated with DW_AT_SUN_func_offsets). Simplify the printing of these offsets. 2019-01-14 David Anderson * dwarf_names.c, dwarf_names.h,dwarfdump-ta-ext-table.h, dwarfdump-ta-table.h,dwarfdump-tt-ext-table.h, dwarfdump-tt-table.h: Regenerated. * print_lines.c: If missing a line number do not supply a meaningless -1, supply 0. If line table access gets an error, print the error and attempt to continue. * dwarfdump.c: We try to continue after major errors in more places. If any major errors were seen a final line of text is reported to standard-out. 2019-01-02 David Anderson * ChangeLog: renamed ChangeLog 2018. * Makefile.am: Added ChangeLog2018 to distribution files.