2023-12-19: David Anderson commit e08f6bc975c87f27da0699cd6c232d3ccf04880e New information. modified: READMEwin-msys2.md 2023-12-19: David Anderson commit ae5a7cd3ab524c5abe9f990b1c6983b4cc75bce3 More clarifications. modified: READMEcmake.md 2023-12-19: David Anderson commit 129b8b359dc9e168cf473852f95ccce3e92d938f To make it look right. modified: READMEcmake.md 2023-12-19: David Anderson commit 66f16a565b500bef2bb4e66ff39d946fe7d9fcb9 modified: READMEcmake.md Some clarifications and one error fixed. 2023-12-19: David Anderson commit e12149c819f9436fb92a32c273d0d8035224b7b0 Now with GNUInstallDirs in CMakeLists.txt modified: ChangeLog 2023-12-19: David Anderson commit 7e22b9711fd7804187b681fb80fd315b13de6198 Merge: fe1a067e 028de444 Merge branch 'install' of https://github.com/flagarde/libdwarf-code into flagarde-install Testing pull request The branch updates and simplifies all the CMakeLists.txt files to use include(GNUInstallDirs) and take advantage of all it does. Works fine in all test environments (including VS). 2023-12-18: David Anderson commit fe1a067ec073729ad9e1001db4498f3887c33d18 Up to date with git log modified: ChangeLog 2023-12-18: David Anderson commit 22c352276446ac0c42e73f04573dc6cae50ca94b Due to a change signed to unsigned and an oversight printing of DW_OP_ DWARF data could print ESB_ERR at times Just a two line error. Fixed. modified: src/bin/dwarfdump/print_die.c 2023-12-18: David Anderson commit 1dcc86df64507889f85a93004e6ffb0381adc04c Avoid warning from VS C. modified: src/bin/dwarfdump/print_die.c 2023-12-18: David Anderson commit 61d824c2897de83dde230be667989467f868c8f2 Remove VS C warnings by adding safe casts. modified: src/bin/dwarfdump/dwarfdump.c Remove VS C warnings by changing a local variable type. Rename file-local struct member names to have a common prefix bh_. modified: src/bin/dwarfdump/print_die.c Harmless cast of argument to static function print_line_detail() modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-12-18: David Anderson commit 4a72b17e80f10458944dae4b2031d580804e045f Added appropriate casts in 3 places to silence VS C warnings. These are an improvement for the human reader, too. modified: src/lib/libdwarf/dwarf_crc32.c modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/dwarf_xu_index.c 2023-12-18: David Anderson commit 0948a0042285e5b1b611c0f778eac26d33197a1a Warnings from VS C provoked another nice change to macro READ_UNALIGNED_CK() which is used all over the place. modified: src/lib/libdwarf/dwarf_util.h 2023-12-18: David Anderson commit 1e8b7bdc4c6d5c45b7218098e9d74f158f6d5763 Small adjustmets (mainly casts) to avoid warnings from VS C compiler. modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_line.c modified: src/lib/libdwarf/dwarf_loc.c modified: src/lib/libdwarf/dwarf_locationop_read.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_str_offsets.c 2023-12-18: David Anderson commit f91eddc2ac7c2719e99e06006c7501995e346c01 The BIGGEST_UINT #define and its uses are now gone. It was never necessary in the macros it was used in and it was arbitrary. Should have been removed years ago. modified: src/lib/libdwarf/dwarf_gdbindex.c modified: src/lib/libdwarf/dwarf_util.h 2023-12-17: David Anderson commit e2730f58ade299fd5aa29d0dfcb7b14d92790eed These remove the remaining type warnings from VS C in dwarfdump. modified: src/bin/dwarfdump/dwarfdump.c modified: src/bin/dwarfdump/print_abbrevs.c modified: src/bin/dwarfdump/print_die.c 2023-12-17: David Anderson commit 0a24f82f08da94bb0bc5994efa277f20a7adb09c Added a comment for doxygen. on dwarf_get_section_info_by_index_a() modified: src/lib/libdwarf/libdwarf.h 2023-12-17: David Anderson commit fdcf13474576cd9c94197d2bf9cf80d0cd05baf2 Changes to be committed: more type changes and casts to remove VS warnings. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c 2023-12-17: David Anderson commit b90d83d5f8d02dc448468447e96db3228108e17e Fixing many compiler warnings. Changing the return type of another function to Dwarf_Unsigned so it actually makes sense. Which will not break anyone's code. (from VS) modified: doc/libdwarf.dox modified: src/lib/libdwarf/dwarf_crc32.c modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_global.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_line.c modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/dwarf_locationop_read.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/libdwarf.h 2023-12-17: David Anderson commit dc6a96ef8756a328dc3bf10d80c054aa9217ebcd Changed library-internal data types (and added a very few casts) to avoid type warnings by a compiler. modified: src/lib/libdwarf/dwarf_loc.c modified: src/lib/libdwarf/dwarf_loc.h modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_macro.c modified: src/lib/libdwarf/dwarf_macro5.c modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_object_read_common.c modified: src/lib/libdwarf/dwarf_peread.c 2023-12-17: David Anderson commit 49b5a83026a119ecba524b07841c87bd5a035ebf Altering (mostly by making internal data Dwarf_Unsigned) so that we avoid many warnings. modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_setup_sections.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/dwarf_util.c Fixed a mistaken return-value type from int to Dwarf_Unsigned. See Changes in doc/libdwarf.dox modified: src/lib/libdwarf/dwarf_query.c modified: doc/libdwarf.dox modified: src/lib/libdwarf/libdwarf.h 2023-12-17: David Anderson commit def4e90753d756192359ef580cbd331631f87d26 Fixing many instances of unecessarily truncating integers to not truncate by changing declared size to be appropriate. Fixing a few (library-private) argument lists to avoid integer truncation by using the right data type. modified: src/bin/dwarfdump/print_abbrevs.c modified: src/lib/libdwarf/dwarf_line.h modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_print_lines.c modified: src/lib/libdwarf/dwarf_util.c modified: src/lib/libdwarf/dwarf_xu_index.c 2023-12-17: David Anderson commit d58a0dcd9a3aad87c437a73e3f2fe9c37ea2cf38 Fixing some compiler warnings. modified: dd_macrocheck.c modified: dwarfdump.c modified: print_die.c 2023-12-16: David Anderson commit 320e8c3b4a28cc1ffb7df55da8a10f06d016aaee Dealing with compiler warnings. A few required actual correction of the source, most just required casting. modified: src/bin/dwarfdump/dd_getopt.c modified: src/bin/dwarfdump/dd_macrocheck.c modified: src/bin/dwarfdump/print_abbrevs.c modified: src/bin/dwarfdump/print_debug_names.c modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_frames.c modified: src/bin/dwarfdump/print_gdbindex.c modified: src/bin/dwarfdump/print_lines.c modified: src/bin/dwarfdump/print_loclists.c modified: src/bin/dwarfdump/print_macro.c modified: src/bin/dwarfdump/print_rnglists.c 2023-12-16: David Anderson commit 46f159a17a8c08f579238525fa2565a50f049a4b The argument was formally incorrect before. The correction should not cause any problem for anyone. Mistake noticed because a compiler warning appeared highlighting callers. @@ -1736,7 +1736,7 @@ dwarf_loclist_from_expr_c(Dwarf_Debug dbg, Dwarf_Unsigned expression_length, Dwarf_Half address_size, Dwarf_Half offset_size, - Dwarf_Small dwarf_version, + Dwarf_Half dwarf_version, modified: src/lib/libdwarf/dwarf_loc.c dwarf_loclist_from_expr_c(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_expression_length, Dwarf_Half dw_address_size, Dwarf_Half dw_offset_size, - Dwarf_Small dw_dwarf_version, + Dwarf_Half dw_dwarf_version, modified: src/lib/libdwarf/libdwarf.h 2023-12-15: David Anderson commit 1c53f94e90399b4cbf5f946d633b81a1a597e431 Now has a short section about linking against and testing libdwarf.so The short section about linking against libdwarf.a has a tiny change (moved some words up to the section about linking against libdwarf.so) modified: doc/libdwarf.dox 2023-12-14: Jeremy Rifkin commit 4ccb40556f59f10fe7a34c3edace8808ffb9463c Add ifndef-define for O_RDONLY in elf_load_headers and generic_init (#211) 2023-12-14: David Anderson commit 6a9cfa3b9708bc04e90890cec84115b72ba8240c Up to date with git log. modified: ChangeLog 2023-12-14: David Anderson commit 6e24c3cc2d9b0a7a1455b10327bbf9ae173e0a1f Removing -D_CRT_NONSTDC_NO_WARNINGS everywhere to avoid compiler warnings from Visual Studio meson.build: libdwarf_args += [ '-D_CRT_NONSTDC_NO_WARNINGS', '-D_CRT_SECURE_NO_WARNINGS' ] src/bin/dwarfdump/dd_esb.c:#define _CRT_SECURE_NO_WARNINGS src/bin/dwarfdump/dd_tsearchbal.c:#define _CRT_SECURE_NO_WARNINGS src/bin/gennames/gennames.c:#define _CRT_SECURE_NO_WARNINGS src/lib/libdwarf/dwarf_machoread.c:#define _CRT_SECURE_NO_WARNINGS src/lib/libdwarf/dwarf_object_read_common.c:#define _CRT_SECURE_NO_WARNINGS src/lib/libdwarf/dwarf_peread.c:#define _CRT_SECURE_NO_WARNINGS modified: meson.build modified: src/bin/dwarfdump/dd_esb.c modified: src/bin/dwarfdump/dd_tsearchbal.c modified: src/bin/gennames/gennames.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_object_read_common.c modified: src/lib/libdwarf/dwarf_peread.c 2023-12-12: David Anderson commit 82d23bc1218880bb153c5d541b873901a634dfe4 error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] On 32bit systems casts like (Dwarf_Unsigned) applied to a pointer need to be (Dwarf_Unsigned)(uintptr_t) to avoid failing in compilations. Four places. Would not fail if one avoids --enable-wall and the like. But now fixed. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame2.c 2023-12-10: David Anderson commit deebe40e89214efe61c7b56debf2565974027dc8 Latest from git log (plus extra on DW_IDX) modified: ChangeLog 2023-12-10: David Anderson commit 12e478e78a93d957c2eb8518dd958c00b8f1cee9 modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h The full set of changes in gdb dwarf2.def is: +/* Internal linkage. A flag. */ DW_IDX (DW_IDX_GNU_internal, 0x2000) +/* External linkage. A flag. Note that gdb no longer generates this; + the default is to assume external linkage. */ DW_IDX (DW_IDX_GNU_external, 0x2001) +/* This entry is the program's entry point. A flag. */ +DW_IDX (DW_IDX_GNU_main, 0x2002) +/* Language for this entry. A DW_LANG_* value. */ +DW_IDX (DW_IDX_GNU_language, 0x2003) +/* This entry is a linkage name. A flag. */ +DW_IDX (DW_IDX_GNU_linkage_name, 0x2004) modified: src/lib/libdwarf/dwarf.h modified: src/lib/libdwarf/dwarf_names.c 2023-12-08: David Anderson commit 26bedb0159e0ff6b1795009115213ebd14b6d959 Now all 0.9.1 modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: doc/libdwarfp.mm modified: meson.build modified: src/lib/libdwarf/libdwarf.h 2023-12-08: David Anderson commit 8b0bd09d8c77d45a68cb1bb00a54186a92b683d9 Corrected spelling of one word. modified: doc/libdwarf.pdf 2023-12-08: David Anderson commit d9f6fe863d775a1e480d79f630e4a97ed78969ab Up to date with spelling fix modified: ChangeLog 2023-12-08: David Anderson commit 9666fdf00753ffd9608f136972f9484d59c613cb Corrected spelling mistake. libnrary -> library modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-12-08: David Anderson commit 7894f73f4fe22046a855bafd87902f7eedaaf00a Up to date with git log modified: ChangeLog 2023-12-08: David Anderson commit b33f2b6a2643e7b552cdfeb835ab48a9c82768da Now up to latest for release. modified: doc/libdwarf.pdf 2023-12-08: David Anderson commit 32934f5e442383361b4239298aa4b407d6e35160 Updating to release date modified: README.md modified: doc/libdwarf.dox 2023-12-07: David Anderson commit 288b59b0aaf662fdab66cd61e39c599daa9edc82 A typo. Fixed. modified: test.yml 2023-12-07: David Anderson commit 8416a134976192b1acbdb3bb22c04c72cbad41aa Rm dup mingw inst (ninja) modified: msys2_meson.yml modified: test.yml 2023-12-07: David Anderson commit 089b4ff4229fd09ba2659c131859359bb5178f53 runner-to-vm modified: freebsd_autotools.yml modified: test.yml 2023-12-06: David Anderson commit 3d296d4f5efd1bbce23cc28084f95a3ace39c252 Cleaning up, all seems working. modified: freebsd_meson.yml modified: mac_meson.yml modified: test.yml 2023-12-06: David Anderson commit fcbe5ce9261815aa566cd8f45d291e5ffdfb1146 runner-to-vm modified: freebsd_cmake.yml 2023-12-06: David Anderson commit 68517f3e28fc05536efab9f8f9a402c6f947d85a trial modified: freebsd_meson.yml 2023-12-06: David Anderson commit 0aa394c7c7820121e92971959830702538282322 trial modified: freebsd_meson.yml 2023-12-06: David Anderson commit cb3dba2b4a93b9d28d9265df6a346ef12d2585e2 zlib wrong name. Leaving off. modified: freebsd_meson.yml 2023-12-06: David Anderson commit f3f80cbdb4093a61297ab103af9b778837181529 Fix modified: freebsd_meson.yml 2023-12-06: David Anderson commit 1889a6a211a33a9ac501153df01e829cb0b5c4f7 again modified: freebsd_meson.yml 2023-12-06: David Anderson commit e1d9e65143d98a7045bd80713be030306cffdffa Correcting bug modified: freebsd_meson.yml 2023-12-06: David Anderson commit f5cb963c7668eedfe7cd22a2685bf0906e99cb15 add pkgconf modified: freebsd_autotools.yml 2023-12-06: David Anderson commit 9a3eecf4ac7092c1f0c3acb31a0ffd62efc7b869 Altering fsync setting modified: freebsd_autotools.yml 2023-12-06: David Anderson commit 55f6bd906de69d92bf8b3102a90a56a91376992e Now autoreconf not autogen.sh modified: freebsd_autotools.yml 2023-12-06: David Anderson commit df0703d57a93ac6e06e6200625a4c51c5a7b2d63 Added libtool modified: freebsd_autotools.yml 2023-12-06: David Anderson commit 465e050a3851e3aee1264bca0632af14fd87a5ab For freebsd do fsync_files: false modified: test.yml 2023-12-06: David Anderson commit c4c7290e061d89443e021df8c8d4a159c7d56799 Added fsync as false modified: freebsd_autotools.yml 2023-12-06: David Anderson commit 832704300ba662976cabe4f4f26627c873f5c55c Remove old comments. modified: mac_meson.yml 2023-12-06: David Anderson commit 2b6f8e535c2c25fa2920f85eeb918332f3be9f5b new for single test. new file: freebsd_meson.yml 2023-12-06: David Anderson commit bc7a7c04d1ac56e0c8a48b5a5ef41a0749d7eab5 Meson setup was written wrong... modified: mac_meson.yml modified: test.yml 2023-12-06: David Anderson commit 673c308605640046fd44994fbc8124f006d1127c oops.silly mistake. modified: msys2_meson.yml 2023-12-06: David Anderson commit 7239cad53e355eab75b55816b38565e0f949a372 Fixing, was failing modified: msys2_meson.yml 2023-12-06: David Anderson commit 751e4a1464ba54fd3a68e9ebca54c98bb936c0f8 Fix errors modified: msys2_cmake.yml 2023-12-06: David Anderson commit 4f94c59b774e8c1cf5f29e2ed6dac1ab0d8a322f Removing unwanted install items. modified: mac_autotools.yml 2023-12-06: David Anderson commit 7fc16952c66a9ebb7880481929fd2dd0e2beb9cf Added sync_files: false modified: freebsd_cmake.yml 2023-12-06: David Anderson commit 822d1316d6ec466c6c3b98a261e956f0a40cb8ab Toward individual tests to deal with particular build issues. new file: freebsd_autotools.yml new file: msys2_cmake.yml new file: msys2_meson.yml 2023-12-06: David Anderson commit 205743f182ac924b043df94d573b4cbe8f1e426b fixing freebsd cmake modified: test.yml 2023-12-06: David Anderson commit caca010a2a8967a7f7b0a126d63f6146af449550 trial change to get workable options modified: freebsd_cmake.yml Now with corrected mac cmake. modified: test.yml 2023-12-06: David Anderson commit 297b199b0bf620e0d2beb89cc480de3050f8ff3a needed more -D for cmake. modified: mac_cmake.yml 2023-12-06: David Anderson commit 725369b0e9d721b4c221db515e7643e681485a57 small tweak modified: mac_cmake.yml 2023-12-06: David Anderson commit c059560573dcbd0e0d0e5b3b4e49b91ec9190e43 Testing. modified: freebsd_cmake.yml new file: mac_cmake.yml modified: test.yml 2023-12-05: David Anderson commit 333982334bb4dbd7035c17e668fc0833674f149d Things changed, making them work, I hope modified: .github/workflows/test.yml 2023-12-05: David Anderson commit 92874271148d444d5b9d4eeb1a22599ba82fe35e Removing unwanted whitespace, fixing indents. modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_query.c 2023-12-05: David Anderson commit 7ac6ea034e5e4abc65ba2e2ca8ea4c9d5f86c639 Changing a few local variables to Dwarf_Unsigned to avoid some warnings about size differences from a particular compiler. modified: src/lib/libdwarf/dwarf_line.c modified: src/lib/libdwarf/dwarf_line.h modified: src/lib/libdwarf/dwarf_util.c 2023-12-05: David Anderson commit 5d89e76d41fd9b111c803b0a748f5703cd765b7f Fixes a mistake returning object values through pointers. Found by Coverity Scan. A mistake created a few days ago. modified: src/lib/libdwarf/dwarf_init_finish.c Add cast to int on error number returned by dwarf_errno(), these are guaranteed to be integers under 1000 and >= 0. Removes a compiler warning. modified: src/lib/libdwarf/dwarf_object_detector.c 2023-12-03: David Anderson commit 3f5352adff5f9dec013faf8365518a68486b3809 Dated Dec 3. modified: libdwarf.dox modified: libdwarf.pdf 2023-12-02: David Anderson commit 67257f5da2b30d476477c55f8cfd85236bfcb7c7 Up to date with git log modified: ChangeLog 2023-12-02: David Anderson commit c4ca69922baf8854a4677dde0681b9a7fc3207bd When system endian and object endian do not always match, the debuglink 4 byte hash value needs de_copy_word() applied. modified: src/lib/libdwarf/dwarf_object_detector.c Better doc of de_copy_word in Dwarf_Debug_s modified: src/lib/libdwarf/dwarf_opaque.h 2023-12-02: David Anderson commit 5fddac64954aefe7a3e33234c5f2ca48491ab0c4 Now with a translation from PE machine number to a name. modified: src/bin/dwarfdump/CMakeLists.txt modified: src/bin/dwarfdump/Makefile.am new file: src/bin/dwarfdump/dd_pe_cputype.h modified: src/bin/dwarfdump/dwarfdump.c 2023-12-01: David Anderson commit 460b234d6474ae4fd3048c154594fa4df925805b Now up to date with git log modified: ChangeLog 2023-12-01: David Anderson commit 903e8cc407e56cde7467c67d7a9ba97d5b06a4fa Adding dd_mac_cputype.h and dd_elf_cputype.h to the build where necessary. modified: src/bin/dwarfdump/CMakeLists.txt modified: src/bin/dwarfdump/Makefile.am Adding support for option --print-machine-arch modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_glflags.c modified: src/bin/dwarfdump/dd_glflags.h Added a missing entry. modified: src/bin/dwarfdump/dd_mac_cputype.h Implementing --print-machine-arch modified: src/bin/dwarfdump/dwarfdump.c Fixing whitespace issues. modified: src/bin/dwarfdump/print_die.c Deleting obsolete commentary. modified: src/bin/dwarfdump/print_sections.c 2023-12-01: David Anderson commit abb4acf6e8c9b40610372770839dd7e5131f8214 This has the implementation of the three new functions that give access to object file header and section data. Small changes, but widely spread! modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_elfread.c modified: src/lib/libdwarf/dwarf_elfread.h modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_machoread.h modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_peread.c modified: src/lib/libdwarf/dwarf_peread.h modified: src/lib/libdwarf/dwarf_query.c 2023-12-01: David Anderson commit e10170f606842aa164d676ca0135ba15f063f511 Now December, so the html shows the new month. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-12-01: David Anderson commit c2d9d3c3303b7d3fb9f836f0348ff0a8640515b3 Changes list up to date modified: doc/libdwarf.dox New for better reporting of dwarf_machine_architecture() by dwarfdump new file: src/bin/dwarfdump/dd_elf_cputype.h new file: src/bin/dwarfdump/dd_mac_cputype.h The three new API functions declared and documented/doxygen. dwarf_machine_architecture() dwarf_get_section_info_by_index_a() dwarf_get_section_info_by_name_a() modified: src/lib/libdwarf/libdwarf.h 2023-11-30: David Anderson commit b90ea31db1dfa9f9d9b95d25554e05738fd63b0a Fixing problems in doxgen comments. modified: doc/checkexamples.c modified: doc/libdwarf.dox 2023-11-29: David Anderson commit 416d1e0f398e25806f5c56f63221e25cb18236fa Latest info. Up to date. modified: ChangeLog 2023-11-29: David Anderson commit c71e435ac49df3f99eac4e0181b75efe4e19e397 Added new fields to Dwarf_Debug for use...soon: de_ftype (one of the DW_FTYPE values) and de_processor (soon to be the object data saying which processor is named in the object file). Documenting new functions dwarf_get_section_info_by_index_a() and dwarf_get_section_info_by_name_a() which return additional section information to callers for all supported object types.. modified: doc/libdwarf.dox Use the new functionss. modified: src/bin/dwarfdump/dwarfdump.c Set the dbg field de_ftype with the DW_FTYPE_ value applicable to the object. modified: src/lib/libdwarf/dwarf_generic_init.c Add the new functions. The old ones now call the new ones. modified: src/lib/libdwarf/dwarf_init_finish.c Record flags, addr and offset (which were not previously recorded. modified: src/lib/libdwarf/dwarf_machoread.c Declare and document the new functions. modified: src/lib/libdwarf/dwarf_opaque.h Set the fields as_offset and as_flags now. modified: src/lib/libdwarf/dwarf_peread.c Declare and document the new functions. modified: src/lib/libdwarf/libdwarf.h 2023-11-29: David Anderson commit 36152b90d3bf88209c1a26bc51ea4ae743cc5b03 Removed trailing whitespace and fixed a couple violations of the CODINGSTYLE.md for libdwarf. modified: dwarf_debuglink.c modified: dwarf_frame.c modified: dwarf_util.h 2023-11-28: David Anderson commit d2b1ec9269ef23aa2527845d483106ff0727fe8b Now up to date with ChangeLog. CoverityScan at 0 defects again. modified: ChangeLog 2023-11-28: David Anderson commit d3596f02aca5bf1a9b151a7c80f5c9cf261508fb Coverityscan found 3 issues. Here, they were real could lead to a segv. the issue was the code has options oriented to testing (probably a mistake to put such in an example) and there was a dereference of a null pointer that could occur in a particular scenario. Fixed. modified: src/bin/dwarfexample/simplereader.c Here the (new, undocumented) option of leaving either of two pointer inputs (for return values) NUll to dwarf_get_section_info_by_name was not coded correctly. Fixed. modified: src/lib/libdwarf/dwarf_init_finish.c 2023-11-28: David Anderson commit 03afade11bd58bb239ec92c2ea517348ba918187 Found more places to use IS_INVALID_DBG() replacing various inconsistent tests of a dbg (Dwarf_Debug pointer). modified: src/lib/libdwarf/dwarf_alloc.c modified: src/lib/libdwarf/dwarf_arange.c modified: src/lib/libdwarf/dwarf_debug_sup.c modified: src/lib/libdwarf/dwarf_debugnames.c modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_error.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_gdbindex.c modified: src/lib/libdwarf/dwarf_global.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_loc.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_util.c 2023-11-27: David Anderson commit fbfbf16e94878e1242f46f1ed9e54a0c9010bbd9 Individual tests of dbg and de_magic are now all in util.h new macro IS_INVALID_DBG to ensure consistency. modified: ../../lib/libdwarf/dwarf_abbrev.c modified: ../../lib/libdwarf/dwarf_alloc.c modified: ../../lib/libdwarf/dwarf_frame.c modified: ../../lib/libdwarf/dwarf_generic_init.c modified: ../../lib/libdwarf/dwarf_global.c modified: ../../lib/libdwarf/dwarf_harmless.c modified: ../../lib/libdwarf/dwarf_init_finish.c modified: ../../lib/libdwarf/dwarf_loc.c modified: ../../lib/libdwarf/dwarf_macro.c modified: ../../lib/libdwarf/dwarf_rnglists.c modified: ../../lib/libdwarf/dwarf_util.h modified: ../../lib/libdwarf/dwarf_xu_index.c 2023-11-27: David Anderson commit 92a841cbc79fbe7c038b68be3b140b5ce27c687e Updated to the date of last minor change. modified: doc/libdwarf.dox Now when reading PE object files callers can get the size of even sections not involved in DWARF. Because useful to some, some of the time. modified: src/lib/libdwarf/dwarf_peread.c modified: src/lib/libdwarf/dwarf_peread.h 2023-11-27: David Anderson commit 76c4b8295cb3ac1a4efade9e79f90ba2470c5f62 Removing pointless blank line modified: bugxml/data.txt 2023-11-25: David Anderson commit c29a5b34d77562766250a79adc8bfbde48eeb4a5 Corrected the gitfixid. modified: bugxml/data.txt regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-11-25: David Anderson commit c3a2dfc6837485f97cecdb818461cf48f4654ca7 Now with latest modified: ChangeLog 2023-11-25: David Anderson commit d76cce559b898f7059ce5ffd82f3cfd58cb392fe With latest info on debuglink issues modified: bugxml/data.txt The source here uses a libdwarf public function incorrectly which guarantees a memory leak. Now the test case follows the rules... modified: fuzz/fuzz_debuglink.c Fix so that dwarf_gnu_debuglink() will not dereference a NULL pointer. modified: src/lib/libdwarf/dwarf_debuglink.c Clarify the doxgen comments on dwarf_gnu_debuglink(). modified: src/lib/libdwarf/libdwarf.h 2023-11-25: David Anderson commit 0ee98238cc37e79d27cdb2f85eb7af81b9e8215a Up to date with git log modified: ChangeLog 2023-11-25: David Anderson commit d87a170a1c0f79aa001c104367248984307ab221 This is a new-to-me bug report and its fix. DW202311-001 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-11-25: David Anderson commit ef77596af000719c04bd3e40b97139247ff3efb4 This is the definition of the new macro CHECK_DBG for use inside libdwarf. modified: src/lib/libdwarf/dwarf_util.h 2023-11-25: David Anderson commit f9ce938de8ffa5e837d9215d17bd1b677fdcab03 Ensuring that all API functions that have a Dwarf_Debug input argument check the passed in pointer thoroughly using a new CHECK_DBG macro in dwarf_util.h Many of the place have been incorrectly checking for many years. modified: src/lib/libdwarf/dwarf_abbrev.c modified: src/lib/libdwarf/dwarf_arange.c modified: src/lib/libdwarf/dwarf_crc32.c modified: src/lib/libdwarf/dwarf_debug_sup.c modified: src/lib/libdwarf/dwarf_debugaddr.c modified: src/lib/libdwarf/dwarf_debuglink.c modified: src/lib/libdwarf/dwarf_debugnames.c modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_dsc.c modified: src/lib/libdwarf/dwarf_error.c modified: src/lib/libdwarf/dwarf_find_sigref.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_gdbindex.c modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_global.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_groups.c modified: src/lib/libdwarf/dwarf_harmless.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_line.c modified: src/lib/libdwarf/dwarf_loc.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_macro.c modified: src/lib/libdwarf/dwarf_macro5.c modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_ranges.c modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/dwarf_stringsection.c modified: src/lib/libdwarf/dwarf_xu_index.c 2023-11-25: David Anderson commit 6fe6f29f1c191202a2334f2eeeca4e2e292adb15 Merge: 7cddf97e 1f698830 Merge branch 'main' of https://github.com/davea42/libdwarf-code merge from github 2023-11-25: David Anderson commit 7cddf97ee462ca27f753328de241cfb350aa6ac9 We now test a Dwarf_Debug better in libdwarf, so we have to set dbg->de_magic properly to test what we want to test here. Done. modified: test/test_linkedtopath.c 2023-11-25: David Anderson commit bd6d53d323061738f70de05f56cc6df0b357646d Minor clarifications and /* dbg */ is now dw_dbg in two places. modified: src/lib/libdwarf/libdwarf.h 2023-11-24: David Anderson commit 06d843c916ab88543cec7b0e64554b8adf1607f2 Was failing to check that the Dwarf_Debug argument was non-null. Exposed as a result of oss fuzz 63900 (which started out as a bug in fuzz/fuzz_debuglink.c) modified: ../src/lib/libdwarf/dwarf_debuglink.c Then we were notified this was originally oss fuzz 56452 ! Odd, we had not heard of 56542 before. The bug has been present since libdwarf/dwarf_debuglink.c was written in 2021. 2023-11-24: David Anderson commit 1f6988307748f427566e3266695bb72d5384bf3d Was failing to check that the Dwarf_Debug argument was non-null. Exposed as a result of oss fuzz 63900 (which started out as a bug in fuzz/fuzz_debuglink.c) modified: ../src/lib/libdwarf/dwarf_debuglink.c The bug has been present since libdwarf/dwarf_debuglink.c was written in 2021. 2023-11-24: David Anderson commit b2d1f44e6a75042a6dc9a3c2f9fe6c9515ca4f5b Missing the #define of O_BINARY. Fixed now. modified: fuzz/fuzz_debuglink.c 2023-11-23: David Anderson commit 528f7495b63d73ec46c153be8770753f4b6869f2 Up to date with git log now modified: ChangeLog 2023-11-23: David Anderson commit 5c91360e97f3cc6a56edbcc1b5e3fd03ad620d4d Now does a better job of printing DW_OP_const_type and a more complete job of printing a dwarf-expression inside another dwarf-expression (odd as that seems). And now, for DW_OP_const_type checks the cu-relative offset for correctness and reports the target die TAG and name. modified: src/bin/dwarfdump/print_die.c 2023-11-22: David Anderson commit 4a62ab06eb85f7b369b5b426039b347caa5ec1c7 Adding printing of a dwarf-expression inside another dwarf expression for certain DW_OP codes. DW_OP_implicit_value DW_OP_entry_value DW_OP_GNU_entry_value modified: src/bin/dwarfdump/print_die.c 2023-11-22: David Anderson commit 898058a794322fc51df7b94a491eaa8a57a7e6c7 Changed an unsigned to Dwarf_Unsigned to avoid a warning from Windows C. modified: src/lib/libdwarf/dwarf_frame.c 2023-11-22: David Anderson commit 32f5ff2ba4ad978c2b27ed31a9380fd9e5253407 Fixed trailing whitespace. Added a blank line in comments for clarity of doxygen output. modified: src/lib/libdwarf/libdwarf.h 2023-11-18: David Anderson commit 6c14db69a3819f43573144bba3d12e4dcdc006fb It's long been the case that for each CU the cu_die would be created twice and one discarded. Now (at least if one uses dwarf_next_cu_header_e() ) that that creation happens only once . modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_find_sigref.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_tied.c 2023-11-18: David Anderson commit 4e585d13d5326579fb4cb462a95c292db9e37c3a Adding space characers in | to force rebuild. modified: fuzz/fuzz_crc.c 2023-11-17: David Anderson commit efa593bc2ddbcd9734ca0dd4ddfff11e492a155a Latest, with typos fixed. modified: doc/libdwarf.pdf 2023-11-17: David Anderson commit 1eadb33958d3d51f3c661a11591e81d43d183796 Corrected spellings and updated the date in the document. modified: doc/libdwarf.dox Corrected a spelling and modified the documentation of dwarf_next_cu_header_d() and dwarf_next_cu_header_e() a little. modified: src/lib/libdwarf/libdwarf.h 2023-11-17: David Anderson commit 55517fccd6117174ba0cea9c618cade3622922f8 Up to date with git log modified: ChangeLog 2023-11-17: David Anderson commit 31b1ce7a1808c1d05f16c36ad9c52a28e5f6ef80 With the new dwarf_next_cu_header_e() details. modified: doc/libdwarf.pdf 2023-11-17: David Anderson commit a312db08715a48318402c4333f0a3385e004cc7b Merge: 865bc397 0732a127 Merge branch 'flagarde-patch-1' The cmake build problem is now fixed. 2023-11-17: David Anderson commit 0732a12741368b9eb69a6e4c555700156a2af238 Merge: 865bc397 9693f06f Merge branch 'patch-1' of https://github.com/flagarde/libdwarf-code into flagarde-patch-1 Fixing cmake typo relevant to zstd. 2023-11-17: David Anderson commit 865bc397c63e12af080d0717f98d642f07df372b Refactored the main CU loop printing DIEs so the actual loop is significantly shorter and easier to understand. modified: src/bin/dwarfdump/print_die.c 2023-11-17: flagarde commit 9693f06ffee3e1f0d0f89fa4b236e63925e064a6 Update FindZSTD.cmake 2023-11-16: David Anderson commit be0a501c954388f0ce236f1de9a888e1b07ddafb Added two new fuzz files as examples of using dwarf_next_cu_header_e() and dwarf_siblingof_c() modified: fuzz/Makefile.am 2023-11-15: David Anderson commit 027888d3efb83820d132cb8f6ae2b5844466860a Now using dwarf_next_cu_header_e() and removing the old call of dwarf_siblingof_b() as the CU-DIE is returned by dwarf_next_cu_header_e(). modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_frames.c An internal function changed its prototype so we have both dwarf_siblingof_b() and dwarf_siblingof_c() with essentially no duplicated code. The implementation of dwarf_next_cu_header_e() added. modified: src/lib/libdwarf/dwarf_die_deliv.c An internal function changed prototype. modified: src/lib/libdwarf/dwarf_opaque.h one line changed to match toe new prototype for the internal function. modified: src/lib/libdwarf/dwarf_tied.c Added and documented dwarf_next_cu_header_e() and dwarf_siblingof_c(). modified: src/lib/libdwarf/libdwarf.h To match up with the new API function we modify the dummy local version which does nothing. modified: test/test_dwarf_tied.c 2023-11-15: David Anderson commit 6e8a397887d6bc8e694c20617cb252a7c8423a4f Documenting dwarf_next_cu_header_e() and dwarf_siblingof_c() and adding important documentation of dwarf_next_cu_header_d() and dwarf_siblingof_b() modified: doc/libdwarf.dox New examples with the new, improved dwarf_next_cu_header_e() modified: doc/checkexamples.c 2023-11-13: David Anderson commit 5ea9cce104ae3e21b3f7337892b982a026154376 These are using the new dwarf_next_cu_header_e() new file: fuzz_die_cu_e.c new file: fuzz_die_cu_e_print.c 2023-11-13: David Anderson commit 449e194bc4ebce603f03d721c031011eda366c84 Added a line to the Linking against libdwarf.a of an essential step of adding -lz -lzstd modified: doc/libdwarf.dox 2023-11-13: David Anderson commit ca40575dc3915093e17b860f65afa666e53afc2a Merge: ec0abd14 853ca654 Merge branch 'jeremy-rifkin-jr/cmake-checks' Approve/commit the CMakeLists.txt improvements. 2023-11-13: David Anderson commit 853ca6546dc61c596a72f06d4dfc0c4e410c9a9e Merge: ec0abd14 b0a6d4b5 Merge branch 'jr/cmake-checks' of https://github.com/jeremy-rifkin/libdwarf-code into jeremy-rifkin-jr/cmake-checks fix definition in CMakeLists.txt and remove unused/redundant checks too. 2023-11-13: David Anderson commit ec0abd14c6e9a1548e0feaf20196a3db04d02473 With a new coverity scan version it found some questionable things. Where an assignment is redundant. Basically adding or removing an assignment of 0. modified: src/bin/dwarfdump/print_frames.c modified: src/bin/dwarfexample/findfuncbypc.c modified: src/bin/dwarfexample/simplereader.c modified: src/bin/dwarfgen/irepline.h modified: src/lib/libdwarf/dwarf_global.c modified: src/lib/libdwarfp/dwarf_pro_macinfo.c 2023-11-13: Jeremy commit b0a6d4b5b9c9412ed345686761447c0e99add2c6 Remove unused and redundant checks, also fix a definition 2023-11-12: David Anderson commit b38adecb85a1c0f1ada5ace2c5b259056c0727a5 Clarifying dwarf_next_cu_header_d() modified: doc/checkexamples.c modified: src/lib/libdwarf/libdwarf.h 2023-11-11: David Anderson commit fb3209ad69cea4a156b97f4d4b3e5486bae31ab5 Merge: d05a5125 4391e2ba Merge branch 'flagarde-unloop' Improvements in cmake usage. 2023-11-11: flagarde commit 4391e2ba824908451737dbae1b7fcfc018c7104d put all options on the beginning to be more user friendly 2023-11-11: flagarde commit 6bff62427e5a7c7190b2ace3682ac0131674b368 include it this target commands 2023-11-11: flagarde commit 2c5f41b64bf1ee6d9f4f9c491b680b0a7f31e7ef GENNAMES_OUTPUT is never used 2023-11-11: flagarde commit 953038c32f59491d9c641bcbf7b5296caf77b0b1 enable test just when needed 2023-11-11: flagarde commit ea2efa043b31e5c15d675f076625d58788b8f335 set the header folder in the right place 2023-11-11: flagarde commit 526dcda065a73bffd0f52155b1b3992e00014973 Supress useless variables 2023-11-11: flagarde commit 7338b5019a02694f814bfc01ecdcd7cbfbfed665 Simplify dwarfp 2023-11-11: flagarde commit e55d4f25d71809500c21ad0ea5df8cab0fe5dfb9 simplify dwarf target 2023-11-10: David Anderson commit d05a51256d01a04c8eaf47bad3446924006be78b Up to date with latest cmake changes modified: ChangeLog 2023-11-10: David Anderson commit f697a9077c6263bcb12a7ef2ae3bc50c74be61ba Merge: c8451af2 cede2bd7 Merge branch 'flagarde-cmake' Simplifying cmake CMakeLists.txt and remove a leftover reference to libelf. 2023-11-11: flagarde commit cede2bd7d3666c430cea1f0ea8131ab0a246ff31 Libelf is gone 2023-11-11: flagarde commit a85b6e8a74693634f7edd525941e58cbafe4443b Simplify the logic 2023-11-11: flagarde commit 9e4395a7d609fec0cc72a1df6be8e62b51e1c4fe Zlib and ZSTD are only used in libdwarf so make it PRIVATE 2023-11-11: flagarde commit f6523085f94b23acea1648e04e3e6fdf05ee8131 Remove redundant line 2023-11-11: flagarde commit 66edaed74e9deb45a583d938b438c05077539fa0 DWARF_LIBS is never used 2023-11-08: David Anderson commit c8451af25f5007f6cbb45ac6e0ca5ced43307614 Merge: 2eabd6e2 183e5ea6 Merge branch 'flagarde-zstd' Cleaning up cmake zstd references to be more standard cmake usage. Adding cmakedefine for zstd. 2023-11-08: David Anderson commit 183e5ea6c96756c792e5f62a2c16df3953b63907 Merge: 2eabd6e2 e112a648 Merge branch 'zstd' of https://github.com/flagarde/libdwarf-code into flagarde-zstd Cmake correction for libzstd 2023-11-08: David Anderson commit 2eabd6e2a6d4de9b39e4175072f57206dcab0722 Merge: e1a4cc53 245cc0d6 Merge branch 'flagarde-zlib' Removing some awkward cmake code and switch to find_package(). Much simpler. 2023-11-08: flagarde commit e112a64806dd4fc5226117ae7ec77e900f7d4968 Update config.h.cmake 2023-11-08: flagarde commit bf09d993ce42985d7d5233b6a9d7e94b00cf9a5f propagate to config.h 2023-11-08: flagarde commit 245cc0d6712543fe7bfbecca69a15813a63b605a propagate HAVE_ZLIB_H to config.h 2023-11-08: flagarde commit 218bd5c1246b2cad79ef2811777db63512ad5c4c Use FindZSTD 2023-11-08: flagarde commit d76d3c04dad115b02ea157aa9eb6115a62876cb8 Use FindZLIB.cmake provided by CMake 2023-11-07: David Anderson commit e1a4cc53c3e82727964e1d1e0d8ef1340e4c7152 Merge: e9355ca7 583ece00 Merge branch 'jeremy-rifkin-cmake-improvements' Adds cmake GNUInstallDirs for cross platform installs. Introduces a set of CMAKE_INSTALL_* variables which do not conflict with anything in the libdwarf project. A description in some detail is in the book Provessional CMake (I have no financial interest in the book). 2023-11-06: David Anderson commit 583ece00ed0031e928dc925221922661e51cb053 Merge: e9355ca7 6216e185 Merge branch 'cmake-improvements' of https://github.com/jeremy-rifkin/libdwarf-code into jeremy-rifkin-cmake-improvements Looking at cmake changes 2023-11-06: Jeremy commit 6216e185863f41d6f19ab850caabfff7326020d7 Try to fix include issues 2023-11-06: David Anderson commit e9355ca7a32dcaef96dfb2be9641b0f8b0654a85 Accidentally omitted an ifndef on O_BINARY. Fixed. modified: fuzz_crc.c 2023-11-06: David Anderson commit 1e19293b64bf293a2e274f8881681807f01e8674 Merge: 8698def7 7f806b48 Merge branch 'jeremy-rifkin-cmake-improvements' Fixes a cmake warning and allows more choice in cmake about what to build and whether PIC required. 2023-11-06: David Anderson commit 7f806b481281ab81d189036845fa2bb30ad773f4 Merge: 8698def7 8b163d80 Merge branch 'cmake-improvements' of https://github.com/jeremy-rifkin/libdwarf-code into jeremy-refken-cmake-improvements Want a clearer view of rifkin changes for cmake 2023-11-06: Jeremy commit 8b163d80aa30afd37027e826f6e8becd8e62ee2f Make LIBDWARF_STATIC, LIBDWARF_BUILD, and PIC public definitions 2023-11-06: Jeremy commit 8687cd60eadf6bf37a4a59df96ceb48e5c35faa9 Fixes 2023-11-05: David Anderson commit 8698def74a06747acbbb0cf2037a750a38d066a3 A new file, test/canonicalpath.py, was left out which would make basic debuglink tests fail from a distribution without this file. modified: test/Makefile.am 2023-11-05: David Anderson commit 2a0015b0d63d26d8f1190b1eab0a8ac881607008 A message spelling error correction: diectory->directory modified: scripts/allsimplebuilds.sh 2023-11-05: Jeremy commit 4ca6a7bc86b27d56741923f03c15b5aa274efc28 Set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 2023-11-05: Jeremy commit 5799cc056302a7f909d9a31863bd0a40ac7ebe5b Bump to 3.5 2023-11-05: Jeremy commit 10d661e45a6b2199f75e885c132b1180511fb50b Some small cmake improvements 2023-11-04: David Anderson commit ee5b78e4bd66063965c7ca607205fd11ddabf9a2 Now freebsd uses cross-platform-actions, as vmactions no longer works for freebsd. modified: test.yml 2023-11-04: David Anderson commit ca727c34a251051515b0df6a1119c763fda2f6e5 trial h 2023-11-04: David Anderson commit 0d450b7d5e947c1f2ddd111ee567037d599d9c3e Passes actionlint modified: freebsd_cmake.yml 2023-11-04: David Anderson commit b23b987345456773caafe70d865b1f7426f35e84 trial g modified: freebsd_cmake.yml 2023-11-04: David Anderson commit df6b15bbff0e82ea7d7b5cbdfc19981bdec57f11 Trial-f modified: freebsd_cmake.yml 2023-11-04: David Anderson commit 3a97aab67b3a5905ba847c5e13b8ca1930deeb53 trial modified: freebsd_cmake.yml 2023-11-04: David Anderson commit d893e75e262a50a2569ac3ed24f8b7a0a22df9ad Trial modified: freebsd_cmake.yml 2023-11-04: David Anderson commit 0de5c2dfc3d976ad49222bfa802483f038f1ead0 Fixing modified: freebsd_cmake.yml 2023-11-04: David Anderson commit 4cb15b806a6fdad75cd0704c9059bf66636183e5 Trying again modified: freebsd_cmake.yml 2023-11-04: David Anderson commit 48335681e96eebd4e52936cb2dcec397b4b1e5a3 Switch to cross-platform-actions modified: freebsd_cmake.yml 2023-11-04: David Anderson commit d89230e0ec759693f271554c75b1f7c597e9b85b commenting out a run that hangs starting vm modified: test.yml 2023-11-04: David Anderson commit cc47409a15926dc09a0bfbd9548deda51de68d7e Removing a run that hangs booting freebsd modified: test.yml 2023-11-04: David Anderson commit 0cfe7788ba99cd0cf29be820c751b73520f9b866 Improved the order of libdwarf calls in examplee, making it easier to release unneeded memory. modified: doc/checkexamples.c 2023-11-04: David Anderson commit 2a6fb5361d9d2da2e97a5d2c9679435cc722667a Making examplee more complete. modified: checkexamples.c 2023-11-04: David Anderson commit a0c5696fa95eed566f2ea46a35bb85fab00deb88 Create CODE_OF_CONDUCT.md 2023-11-04: David Anderson commit 93098873433f0ef7fa0d4a3631aa72fbbddf8cf6 now with dwarf_srcfiles() doc changes here. modified: ChangeLog 2023-11-04: David Anderson commit 2727bb089899417a73657d1918aac5758d2f9a46 Now with much improved doc of dwarf_srcfiles() modified: doc/libdwarf.pdf 2023-11-04: David Anderson commit a18672597c58452ed932b9937fe873f7110421eb Better documentation of dwarf_srcfiles() and accessing the version number of a line table. modified: src/lib/libdwarf/libdwarf.h 2023-11-04: David Anderson commit 4bcf94ee30ffc6d424b776917c984d33bb64316f Corrected the comment about compiling this. Added a missing local variable declaration. modified: doc/checkexamples.c 2023-11-04: David Anderson commit a189179b3c0a447f23c80ddc3849883be2a12650 With latest doc updates shown. modified: ChangeLog 2023-11-04: David Anderson commit 4e2c435a38cd7eb0c05b3ae1616e599cc176a20f Improving format and content of dwarf_srcfiles() documentation. Now with 4 November date. modified: doc/libdwarf.dox modified: doc/libdwarf.pdf modified: src/lib/libdwarf/libdwarf.h 2023-11-03: David Anderson commit 21e4498903193e0b675dff341e61e344870ac8b0 Updated. modified: ChangeLog 2023-11-03: David Anderson commit 7c714926d5680fe1dc4806d20cce2ac8f66fb1eb What canonicalpath.py returns for some directories is now ...std... instead of the previous ..std.. modified: test/debuglink.base modified: test/debuglink2.base The switch to canonicalpath.py was not correctly handled. Now fixed. modified: test/test_debuglink-a.sh modified: test/test_debuglink-b.sh 2023-11-03: David Anderson commit 40e09c31500c492c33b09f52c82e4e40941d5721 Minor tweaks modified: doc/libdwarf.dox Much more complete description of what dwarf_srcfiles() returns and how to use it. modified: src/lib/libdwarf/libdwarf.h 2023-11-03: David Anderson commit 5b2b463f756660bbd20fd0746a54503536770c71 Small changes so that we can pass regression testing on MacOS and hopefully msys2. modified: ChangeLog 2023-11-03: David Anderson commit d00ec74b9eadbdc6e0e83089944cd59841ec63fc Removing debug print statements. modified: test/canonicalpath.py 2023-11-02: David Anderson commit 9530b4a8100ea8e931d5b3d552e5d688bcdb94bb This is the same as regressiontests/script/canonicalpath.py new file: canonicalpath.py Now use canonicalpath.py and ignore test_transformpath.py modified: test_debuglink-a.sh modified: test_debuglink-b.sh 2023-11-02: David Anderson commit 3df08b8af737c11f774c1586460ad5d8c443d3c0 These were not treating O_BINARY correctly and/or failing to use it at all. It is necessary on Windows to read object files properly. No change in logic at all. modified: fuzz/fuzz_aranges.c modified: fuzz/fuzz_crc.c modified: fuzz/fuzz_crc_32.c modified: fuzz/fuzz_debug_addr_access.c modified: fuzz/fuzz_debug_str.c modified: fuzz/fuzz_debuglink.c modified: fuzz/fuzz_die_cu.c modified: fuzz/fuzz_die_cu_attrs.c modified: fuzz/fuzz_die_cu_attrs_loclist.c modified: fuzz/fuzz_die_cu_info1.c modified: fuzz/fuzz_die_cu_offset.c modified: fuzz/fuzz_die_cu_print.c modified: fuzz/fuzz_dnames.c modified: fuzz/fuzz_gdbindex.c modified: fuzz/fuzz_globals.c modified: fuzz/fuzz_gnu_index.c modified: fuzz/fuzz_init_b.c modified: fuzz/fuzz_init_binary.c modified: fuzz/fuzz_macro_dwarf4.c modified: fuzz/fuzz_macro_dwarf5.c modified: fuzz/fuzz_rng.c modified: fuzz/fuzz_set_frame_all.c modified: fuzz/fuzz_showsectgrp.c modified: fuzz/fuzz_simplereader_tu.c modified: fuzz/fuzz_srcfiles.c modified: fuzz/fuzz_stack_frame_access.c modified: fuzz/fuzz_str_offsets.c modified: fuzz/fuzz_tie.c modified: fuzz/fuzz_xuindex.c Fixing the reporting of filenames so that even on msys2 the report is sensible (for msys2) modified: src/bin/dwarfdump/dwarfdump.c Tweak to make it work. modified: src/lib/libdwarf/meson.build Introducing the correct header ifdefs involving DWP_API to match the concept in libdwarf.h modified: src/lib/libdwarfp/libdwarfp.h 2023-11-02: David Anderson commit ca7c784d5e45baf132adf0238bff4ca835fa0f29 A new month, so a change in the titles. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-11-02: David Anderson commit bca7f325467a5dd11d5f8b6afc8594b269822100 Changed a suggestion from buildandreleasetest.sh to allsimplebuilds.sh as that makes more sense here. modified: READMEmacos.md 2023-10-31: David Anderson commit e00930a69244025dda57b53238bc6231117c9bd9 Now we test O_BINARY and only if not already set set it to zero. Because in the msys2 windows environment O_BINARY has a value already (from system headers). So we avoid a poinless warning. modified: fuzz/fuzz_aranges.c modified: fuzz/fuzz_debug_str.c modified: fuzz/fuzz_dnames.c modified: fuzz/fuzz_gdbindex.c modified: fuzz/fuzz_globals.c modified: fuzz/fuzz_gnu_index.c modified: fuzz/fuzz_init_b.c modified: fuzz/fuzz_macro_dwarf4.c modified: fuzz/fuzz_set_frame_all.c modified: fuzz/fuzz_str_offsets.c 2023-10-30: David Anderson commit 0a4ba6b0b5dcee6a1876d660c0286960e857a5d6 Correcting the code looking for libz/libzstd in /opt/local or /usr/local. DO NOT USE THIS COMMIT it is just to save this correction and further changes will be madel modified: meson.build modified: src/lib/libdwarf/meson.build 2023-10-30: David Anderson commit 667a6fa8aa7f194a93feae917807033f876fae91 Simplifying. We now require both zlib and libzstd to be present for decompressing object sections. If one is missing it is the same as both missing and then we build libdwarf with no decompression capability. It's much simpler code this way. modified: src/lib/libdwarf/dwarf_init_finish.c 2023-10-25: David Anderson commit b778c2a9a895bfe7e71aa6c1159a59741579a209 Checking for an app (such as cmake) was not properly dealing with the app is not present situation. Resulted in warning. Fixed. modified: scripts/allsimplebuilds.sh 2023-10-25: David Anderson commit 45c4b785359b32ff20a9325e2776855ee9abfaa1 Now meson can find and use zlib, libzstd even if they are in /usr/local/lib instead of system directories. Or in /opt/local/lib etc. No user action required. We no longer use any deprecated meson functions. The meson version required is still 0.53. modified: meson.build modified: test/meson.build 2023-10-25: David Anderson commit f04d7df32ff612de1f24dcc47d5c2faea618e017 Better reporting on zlib libzstd, hopefully better searching too. modified: meson.build 2023-10-25: David Anderson commit d51dd661329891a7919feabc47f35760314fee00 Brought up to date. modified: ChangeLog 2023-10-25: David Anderson commit b5c2aa54344f4a725ecb7e81cd7f92d68e3d48ba Now using project_build_root() and project_source_root() instead of the deprecated functions build_root() and source_root(). Updated the required version to 0.56 as this is the version required to support the project*() commands we now use. Also added code to look in specific directories beyond the standard locations for zlib and libzstd (/opt/local/lib and /usr/local/lib) so the build can work in more environments. modified: meson.build modified: test/meson.build 2023-10-25: zerons commit 809f32b7664f04a9cec28dd1a518725190a26cbd handle DW_AT_data_bit_offset in get_attr_value() (#189) An oversight that this pull fixes. 2023-10-24: David Anderson commit 0e6464b2a55c6a3355695ef9500b79c5d8863ed7 Minor correctsions for meson modified: README.md Toward making it all work more places. modified: meson.build Making it more tolerant of warnings from compilers. modified: scripts/allsimplebuilds.sh Removing unused locals. modified: src/bin/dwarfgen/createirepfrombinary.cc modified: src/bin/dwarfgen/dwarfgen.cc modified: src/lib/libdwarfp/dwarf_pro_section.c Correcting build args for libdwarfp modified: src/lib/libdwarfp/meson.build Removing obsolete ifdef as we do not test that C90 header files exist modified: test/test_macrocheck.c 2023-10-22: David Anderson commit ea1d31e8f88104fcf9a86f529615981b964b7b66 Now present with just a 2 line comment. new file: README 2023-10-22: David Anderson commit 0402c07c9d87dc9aa76681ce11de8f0fc3c35b43 A change to Makefile.am means we can delete this now, leaving README.md . deleted: README 2023-10-22: David Anderson commit d5f0e75ee93986404d69c96d483e3ade6a520a2a All have basically the same line added to each executable(), adding a "link_args :" so that the -fsanitize options are passed to the link step as well as compile steps when running the gcc -fsanitize options. modified: meson.build modified: src/bin/attr_form/meson.build modified: src/bin/buildopstab/meson.build modified: src/bin/builduritable/meson.build modified: src/bin/dwarfdump/meson.build modified: src/bin/dwarfexample/meson.build modified: src/bin/dwarfgen/meson.build modified: src/bin/gennames/meson.build modified: src/bin/tag_attr/meson.build modified: src/bin/tag_tree/meson.build modified: test/meson.build 2023-10-21: David Anderson commit f1408bf9e7c98654173fbf5672ee3671e7db0e21 Documented new fde 0.9.0 fde frame function in the Changes section modified: doc/libdwarf.dox 2023-10-21: David Anderson commit 37c0c26e48754ee69288d73f238d4f54ce957fdb Now checks if required functiosn exist and sets HAVE_UTF8 inconfig so dwarfdump built with meson and print UTF8 properly. modified: meson.build Added options sanitize as in -Dsanitize=true so we can use -fsanitiz3 and wall as in -Dwall=false so we can turn off warnings as errors. modified: meson_options.txt 2023-10-21: David Anderson commit 6504fba6ee02c47517489040afa574a040166478 All these additionally compile dwarfdump_dd_utf8.c so they build with meson (required for swithching regressiontests to building with meson) modified: src/bin/attr_form/meson.build modified: src/bin/dwarfdump/meson.build modified: src/bin/tag_attr/meson.build modified: src/bin/tag_tree/meson.build 2023-10-21: David Anderson commit 15d2a8aed6f46f24ba907c181efd3789fec499f5 libdwarfp was misnamed resulting in generating src/lib/libdwarfp/liblibdwarfp.a Fixed now. modified: src/lib/libdwarfp/meson.build 2023-10-21: David Anderson commit a377f4f21942e20b8a391a3092d402eb3ff09c3f Left-over references to libelf functions removed. modified: src/lib/libdwarfp/meson.build 2023-10-21: David Anderson commit d493bd62b64f157b27529da897ddaf7b1678e33a Added another example of getting frame registers using the latest new frame function in libdwarf.h, modified: src/bin/dwarfexample/frame1.c 2023-10-21: David Anderson commit ec9e7b682f198fdc4b735ca5487b724263b95584 When printing lines about dSYM or debuglink paths returned change the prefix of the output to $HOME if that is equivalent to what is the returned string. This enables regressiontests to work in more system types with no errors. modified: src/bin/dwarfdump/dwarfdump.c 2023-10-18: David Anderson commit 67215ca4b6f42ce2b591335dd6cf6b384b782b11 One line had an incorrect indent (per project codingstandards). Fixed. modified: src/lib/libdwarf/dwarf_frame.c 2023-10-18: Ritesh Oedayrajsingh Varma commit 17de6b8f363f0dc978b6f844c6f1657ebc46f627 Added `dwarf_get_fde_info_for_all_regs3_b` which returns the subsequent PC and whether there are more rows, for easy iteration through all rows in an FDE. This is similar to what `dwarf_get_fde_info_for_reg3_c` already does. (#188) 2023-10-13: David Anderson commit 82798b35a5dbb6d0a7a6ddddac0f2e7dc484f4ff No need to check for automake in a release, it's not needed unless one is building from a git clone. modified: scripts/allsimplebuilds.sh A compiler noticed a used-but-not-set local variable. Now removed. modified: src/bin/dwarfexample/simplereader.c 2023-10-13: David Anderson commit 17039c9d808e49ab64b04715ca1a752a0bfc7337 Specify what build files to emit from cmake because the default is different on some systems. Here we choose -G "Unix Makefiles" whereas in scripts/allsimplebuilds.sh we use -G Ninja modified: scripts/buildandreleasetest.sh 2023-10-13: David Anderson commit 7754301b7063809580c77d1d880c7e193d30f257 Left off a back-quote(`) in new scipt lines ... which broke this script for a few minutes. modified: scripts/buildandreleasetest.sh 2023-10-13: David Anderson commit e6eea37b489b22024b8aa5b2ec97e8655c62089a Added words about scripts/allsimplebuilds.sh modified: READMEwin-msys2.md 2023-10-13: David Anderson commit 0ff5c18bc10bb110c92fd92ac7b605b6045bfe45 Added scripts/allsimplebuilds.sh to the files in the distribution. modified: Makefile.am Added a few words about scripts/allsimplebuilds.sh modified: README.md Modified to remove accidental cmake -DWALL in two places and remove two instances of 'meson configure' which were not required and which, on msys2, forced one to page through by hand output like 'more' that showed all the meson options. modified: scripts/allsimplebuilds.sh 2023-10-13: David Anderson commit e5cf21b004c1b85834c9396062aee5a311c2c82c Adding output of the number of minutes at the end of the run of each script modified: scripts/buildandreleasetest.sh modified: scripts/run-all-tests.sh 2023-10-13: David Anderson commit aa1b4c6f3b16b241b2be8848e3f75b5a86806867 New script demonstrating useful simple builds new file: scripts/allsimplebuilds.sh 2023-10-11: David Anderson commit ef4b5ebd89ef35c2b92f8ba7d61c2f92f671bf44 Minor tweak to correct a typo (only affected windows msys2 builds) modified: scripts/buildandreleasetest.sh 2023-10-11: David Anderson commit 88f9a6619cff179da4fcc19f8a25e465292d87ec All have changes so they work on windows msys2 as well as unix-like systems. modified: test/test_debuglink-a.sh modified: test/test_debuglink-b.sh modified: test/test_dwarfdump.py modified: test/test_dwarfdumpsetup.sh modified: test/test_jitreaderdiff.sh 2023-10-11: David Anderson commit e76b0da1a7fc9a7fcc97fe254358f5ef0accc769 Added important details modified: READMEwin-msys2.md Major revision , now works on Windows msys2 as well. modified: scripts/buildandreleasetest.sh 2023-10-09: David Anderson commit e40372ce4c656e3a76f20117d80f610df582c2f6 Working toward scripts that work on msys2 with shared libdwarf. modified: scripts/buildandreleasetest.sh modified: test/test_dwarfdumpsetup.sh modified: test/test_jitreaderdiff.sh 2023-10-09: David Anderson commit bd752633c39519b2d2564c5bd5750ab2d86b7b44 A simple added rule will avoid automake complaining README is gone. modified: Makefile.am 2023-10-09: David Anderson commit f717ac1039bea2c1454edefcd8d7cad37565f4eb Some versions of autoreconf insist on README and ignore README.md. So reintroducing README (a copy of README.md) new file: README 2023-10-07: David Anderson commit df4cc3f4ef40b442a30203a3691f7ca3273ae226 Correcting md typo modified: READMEwin-msys2.md 2023-10-07: David Anderson commit be42d89044a97e84c7d701c29a6fb4155a871f5c Correcting some errors and also hoping these changes will make things easier to read. modified: README.md modified: READMEcmake.md modified: READMEwin-msys2.md 2023-10-07: David Anderson commit ae3271adac45e45d27afb289c601d90f0844ecff It was failing to mention the base build directory as a source for include of config.h. Fixed. modified: src/bin/gennames/Makefile.am 2023-10-07: David Anderson commit 639e2bb4daf71899e6f7a2163ea831a1b1b4aafc Minor tweak to the script modified: scripts/buildandreleasetest.sh 2023-10-07: David Anderson commit 020bbd37f4529999e37a0a0ca674f6d3cca7dec0 Now, with cmake, both shared-lib and non-shared work properly for Win32 msys2 modified: CMakeLists.txt modified: src/bin/dwarfdump/CMakeLists.txt modified: src/bin/dwarfexample/CMakeLists.txt modified: src/bin/dwarfgen/CMakeLists.txt modified: test/CMakeLists.txt 2023-10-07: David Anderson commit 51e42f74e2ad659c33bd451b01f32675871be6b4 Now listing the revised set of README* files. modified: Makefile.am 2023-10-07: David Anderson commit 84c189d2323382d65f0a40a2e9f7c02f4d6f7079 Updated DW202310-002. Fixed. modified: bugxml/data.txt Regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-10-07: David Anderson commit 3a658bd1dd7437948cecbf82bb9b24f5f6122a7d DW202310-002 ossfuzz: 63024 The bug was a copy-paste mistake. This bug was in the function when the function was first made public, seven days ago. modified: src/lib/libdwarf/dwarf_machoread.c 2023-10-06: David Anderson commit 19a850b5aae47303dcf9298c05a4e90c8b80a0b4 Now all README are .md and with a new one for msys2 details. deleted: README deleted: README.cmake modified: README.md new file: READMEcmake.md new file: READMEwin-msys2.md 2023-10-05: David Anderson commit f6265d5779245f8737c5fc6553569986c96f2134 More accurate description to setup msys2 mingq64 in windows 10 modified: README.cmake 2023-10-04: David Anderson commit 28509ddf7cb43015ed7a3760bf4c99b3e9553bed Regenerated with version 0.9.0 modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h modified: src/lib/libdwarf/dwarf_names.c 2023-10-04: David Anderson commit 5c33a19272d08df6077fcf54420f7ed801f809a5 Updated with latest modified: ChangeLog 2023-10-04: David Anderson commit 174b9777367869ce6d7200a6084bf42b815c690f All are now denoted as version 0.9.0 modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: doc/libdwarfp.mm modified: meson.build modified: src/lib/libdwarf/libdwarf.h 2023-10-04: David Anderson commit 453b45451766676d2a0a539c7177c617316089af With pacman commands for use with msys2 on Windows so one can build there. modified: README.cmake 2023-10-04: David Anderson commit 4b2285d43d14a307ad956fdf46104c2a68a9b718 Added DW202310-001 ossfuzz 62943 on reading Apple Universal Binary modified: bugxml/data.txt Regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-10-04: David Anderson commit a9c64d849e05b89509c9f51aa4d0febcca518e18 Now with full universal binary timeline to date. modified: ChangeLog 2023-10-03: David Anderson commit aea77dad8745d9aad5275c3226e4e3156effa71f This is the fix for vulnerability ossfuzz id ossfuzz62943, DW202310-001 which has been in the public repository for one day. Was failing to check, very early on, for an incomplete Mach-O universal object. modified: src/lib/libdwarf/dwarf_machoread.c Here is the timeline of Apple Universal Binary handling in libdwarf: 2023-09-20 In github libdwarf-code discussion #185 asks if libdwarf supports Mach-O universal objects, which We will abbreviate here as Apple Universal Objects (AUB). Each AUB may have a number of Mach-O executables inside. 2023-09-21 Initial commit in the readelfobj-code project of code reading AUB. 2023-09-26 Completed code handling AUB in readelfobj-code project.. 2023-09-27 In the libdwarf-code project we do a little code cleanup related to Mach-O object files. Added a new API function for AUB in libdwarf.h 2023-09-29 Initial commit in dwarfdump so dwarfdump can select what Mach-O object in an AUB to report on (defaults to object 0(zero)). 2023-09-29 Full AUB support is now public on github, 2023-09-30 DW202309-002 ossfuzz id 62833 DW202309-003 ossfuzz id 62834 DW202309-004 ossfuzz id 62842 reported. Bugs in AUB handling present publically for one day. 2023-10-01 Pushed fix for the three bugs in AUB handling: DW202309-002 ossfuzz id 62833 DW202309-003 ossfuzz id 62834 DW202309-004 ossfuzz id 62842 2023-10-02 DW202310-001 ossfuzz id 62943 reported on AUB handling. 2023-10-03 Pushed fix to ossfuzz 62943 DW202310-001 2023-10-03: David Anderson commit 1eb099f0a31b836d0a9919643debadbe4d482150 One of the new messages about Mach-O universal binary files had words run togetherr, now fixed. modified: src/lib/libdwarf/dwarf_errmsg_list.h 2023-10-02: David Anderson commit 1f4b850411a93648e804be0d33416190b84b1c54 Up to date now. modified: ChangeLog 2023-10-02: David Anderson commit 8554a94e7a3661a34eaa99951bdcee2b0239fd93 Two places in _dwarf_object_detector_universal_head_fd() we failed to free(fa). Now we do so. modified: src/lib/libdwarf/dwarf_machoread.c 2023-10-02: David Anderson commit e533fccd7d891dd66f96a298227a15dd0c05ec78 Now we can easily check for gross corruption of the universal binary headers, and we now check for such. modified: src/lib/libdwarf/dwarf_machoread.c Added a new field with the actual whole file size so when reading universal binaries we can easily check for gross corruption of the universal binary headers. au_filesize. modified: src/lib/libdwarf/dwarf_machoread.h 2023-10-02: David Anderson commit 0f996051eaf56238cac4a1cf7031166212ab4646 Fixed accidental blank in error 502. Added 503 (as it is required, defined in libdwarf.h) modified: src/lib/libdwarf/dwarf_errmsg_list.h 2023-10-02: David Anderson commit e57d0f251d85549b7aad5288ef161d160eff8d90 Removed trailing whitespace. modified: src/lib/libdwarf/libdwarf.h 2023-10-02: David Anderson commit ea31407a95ce862e00c2748d7ba8367ee1621f2b Regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-10-01: David Anderson commit af3eedfd123a55b876022eba5974defb90b166c6 Updated the text on the latest of the bugs. modified: ../../../bugxml/data.txt Corrected a comment on the new function dwarf_init_path_a(). modified: dwarf_generic_init.c 2023-10-01: David Anderson commit 782cc96d558402739288e58fbedd0240844a9b99 Removed 150 lines of #if 0 code (not useful code) and a now-empty function. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-10-01: David Anderson commit 2af75f9fc0042c06c12c820667621fecd78fb4b5 Up to date now. modified: ChangeLog 2023-10-01: David Anderson commit 4dcfdaf50c496ef743bc581f139ca9f4d42ddf47 Completed report on DW202309-004, DW202309-003, and DW202309-002. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-09-30: David Anderson commit 1608be2e62e028aad0f1d7ad17c5863eca0b57e2 up to date. modified: ChangeLog 2023-09-30: David Anderson commit f7c7e84e5a77915bb6570215887118d8e7759122 We have reset memcpy()-like functions to use the prototype that libdwarf has long exported to callers (on request). void copy_word(void *, const void *,unsigned long) The length in practice is small where our swap/no-swap functions are involved. There were some inconsistencies but freebsd 32bit with clang caught them all, so it should be ok everywhere. modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_memcpy_swap.c modified: src/lib/libdwarf/dwarf_memcpy_swap.h modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_peread.c 2023-09-30: David Anderson commit 566f4ee9305d708853e53ee7589cf93830ca6a3b Fix indents and remove trailing whitespace. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_query.c 2023-09-30: David Anderson commit e8df98c5c6629b75402b8ea5e5a44797fb3ae4b3 Remove left-over printf debug output. modified: src/lib/libdwarf/dwarf_machoread.c 2023-09-30: David Anderson commit a19f51f629dc2d2f84d99926494422cc57e5c10f Now all the word_swap swap_bytes functions have the length argument as size_t (there was some with unsigned long). No calls to these should have a length > 8 (since swap makes no sense on non-integers). modified: src/lib/libdwarf/dwarf_memcpy_swap.h modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_peread.c 2023-09-30: David Anderson commit 1289ba5b2fe87116e2bd3a79e0373f9460f025a4 Small refactoring of freeing internals so we can use the right call at the right point in case of error. Simpler and clearer. modified: src/lib/libdwarf/dwarf_machoread.c 2023-09-30: David Anderson commit d88502010481d7bfa550bdf2dd875a83f7462029 New leak reports, all new and directly related to changes yesterday. Have more fixes to commit today. modified: bugxml/data.txt 2023-09-30: David Anderson commit 5ac9aa1a0adeb18bad6aa531dddc59b35d9b0030 Removed several lines of dead code: Coverity Scan correctly reported it was dead code. modified: src/lib/libdwarf/dwarf_frame2.c 2023-09-29: David Anderson commit 834dbc50dec104fbea389b8dcddb8e6c4cc9dfa8 Version in generated source is now 0.8.1 modified: src/lib/libdwarf/dwarf_names.c 2023-09-29: David Anderson commit c529bb42fa9088c4f7b61a1253dda42348f15523 version in genererated source is 0.8.1 now modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h 2023-09-29: David Anderson commit 7b3fdd228496794c9fc58e049f2e31333a64e80d With universal binary features documented. modified: doc/libdwarf.pdf 2023-09-29: David Anderson commit 4c995195d2009ab24454c914d59a1ce23d4484c7 Fixed a single misspelling in a doxygen comment. modified: src/lib/libdwarf/libdwarf.h 2023-09-29: David Anderson commit 80249f4423b83389c1bd1c4d1ae49f7f5fbc81ea Small spelling corrections and wording changes. modified: libdwarf.dox modified: ../src/lib/libdwarf/libdwarf.h 2023-09-29: David Anderson commit 5ad97c9da90aa5830cc8410f142cb288304806c9 up to date. modified: ChangeLog 2023-09-29: David Anderson commit 0bf443a5b24c503e5ca37d0e17323f695780ec1b Now the tied-file (if Mach-O universal binary) gets reported as such. modified: src/bin/dwarfdump/dwarfdump.c 2023-09-29: David Anderson commit e612fb75b2b75ff78f550aea7c659799432f5bb4 Now dwarfdump prints the number of binaries in the Mach-O universal binary referenced and also prints the number (index) of the individual binary being reported on. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dwarfdump.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_query.c new file: src/lib/libdwarf/dwarf_universal.h modified: src/lib/libdwarf/libdwarf.h 2023-09-29: David Anderson commit 3422281f8006574059c2ab95ec1a798d89764ffc Support for Mach-O univeral-binary reading DO NOT USE THIS COMMIT. Shortly the many debugging printf lines will be removed. modified: src/lib/libdwarf/CMakeLists.txt modified: src/lib/libdwarf/Makefile.am modified: src/lib/libdwarf/dwarf_abbrev.h modified: src/lib/libdwarf/dwarf_alloc.h modified: src/lib/libdwarf/dwarf_errmsg_list.h modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_macho_loader.h modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_machoread.h modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_object_detector.h modified: src/lib/libdwarf/dwarf_opaque.h 2023-09-29: David Anderson commit ce7412392dfae1487572e97428acab63b5cc35ce Adding option --format-universalnumber= so if reading a Mach-O universal binary one can select which executable from that universal binary libdwarf should read. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_glflags.c modified: src/bin/dwarfdump/dd_glflags.h modified: src/bin/dwarfdump/dwarfdump.c 2023-09-29: David Anderson commit f60c9e791aa5c6adc42a3027a01b696f7e38a3a5 Correct indent mistake. modified: dwarf_rnglists.c Remove trailing whitespace modified: libdwarf.h 2023-09-27: David Anderson commit a01681e600acd695658657165c047b9ba8ea9da2 Removing the unused field mo_is_64bit from an internal struct. modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_machoread.h Corrected four filesize casts from (size_t) to (Dwarf_Unsigned) which represents a correction (in practice invisible to library users). modified: src/lib/libdwarf/dwarf_object_detector.c Added a new function, which is invisible to users for now. modified: src/lib/libdwarf/libdwarf.h 2023-09-27: David Anderson commit 3b0408a74c6d2f2b9a81fe3fc0a1564b509ad84e Regenerated with latest vulnerability listed. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-09-23: David Anderson commit 04140b4dcf9d5db880fbf15a76c12290f768daa3 Documenting fix to DW202309-001 modified: bugxml/data.txt 2023-09-23: David Anderson commit cd741379bd0203a0875b413542d5f982606ae637 Fixing DW202309-001 ossfuzz 62547, a bug which has been in the code for many years. The symptom was use-after-free in calling dwarf_finish(), but provoked by code in dwarf_get_fde_for_die(). modified: src/lib/libdwarf/dwarf_alloc.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_opaque.h 2023-09-23: David Anderson commit 2867fa3cc7a79ba89c3b7f5672b6096ac4fc28ff New ossfuzz bug DW202309-001 recorded here now. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html Version now 0.8.1 modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: doc/libdwarf.pdf modified: doc/libdwarfp.mm modified: meson.build modified: src/lib/libdwarf/libdwarf.h 2023-09-23: David Anderson commit e367283d6299057c52fdf3e50c13d1759086d55a Preparation for dealing with MacOS universl binaries. New structs not yet used. modified: src/lib/libdwarf/dwarf_macho_loader.h 2023-09-18: David Anderson commit d482de0857770c02ac098ce94f487909b06b567a Up to date with git log modified: ChangeLog 2023-09-18: David Anderson commit 25ddab93a059ea8ecce088c73d3b4c66a14dbc23 Documentation issues corrected/updated. modified: README modified: README.md modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html modified: doc/libdwarf.dox 2023-09-17: David Anderson commit 81d80f9eb1605046cd4f75c49335d9d1542e3af6 Small changes in a coupld doxygen comments for clarity. modified: src/lib/libdwarf/libdwarf.h 2023-09-14: David Anderson commit 77b4280522ca87df6a6c6f63776d889d2b5c2bc8 Added clarifying comentary about an argument to dwarf_rnglists_get_rle_head(). modified: src/lib/libdwarf/dwarf_rnglists.c 2023-09-14: David Anderson commit 7ae36936197bbd3c7f2772f790cf9ed9d14b4a84 Added commentary about an argment to dwarf_rnglists_get_rle_head() modified: src/lib/libdwarf/libdwarf.h 2023-09-12: David Anderson commit f8cde1b5c811565cc6de994687a698ae59498b1f Remove trailing whitespace and fix indent and fix too-long lines. modified: dwarf_frame.c modified: dwarf_frame2.c modified: dwarf_machoread.c 2023-09-12: David Anderson commit 9d25bfd2868a2baea83c761fa6d38e0a7229e4ee latest git log modified: ChangeLog 2023-09-12: David Anderson commit ecb2d773f166b7c322d91c312f207d3684d76a6f Merge: 4c48d4cf 320e86eb Merge branch 'main' of https://github.com/davea42/libdwarf-code Fixing a typo in a doxygen comment 2023-09-12: Jeremy Rifkin commit 320e86eb126ef0c5f99370d7dd093c1343e2f7e5 Fix small typo (#182) 2023-09-11: David Anderson commit 4c48d4cfe66674f9c1c6023ceec5d9491670f6d9 Up to date with git log modified: ChangeLog 2023-09-11: David Anderson commit f6941ef1254d72c621fbe8d2f8c1abe9a60262db On FreeBSD 13.2 clang 14 -fsanitize catches certain errors before adding to pointers or before having unsigned add/subtract wrap around (whereas before such were ignored and we could test afterwards for invalid results). So we check before doing the arithmetic now and return error if appropriate. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_rnglists.c 2023-09-11: David Anderson commit 407236514e8c0addac26949db75e4ca7fc56e0fe Minor changes in doxygen comments on frame access functions. modified: doc/libdwarf.dox modified: src/lib/libdwarf/libdwarf.h regeneratid modified: doc/libdwarf.pdf 2023-09-11: David Anderson commit 21984aa2874a65bb8919b2bdb025dfc0336ee2d3 Minor update on building from git source. modified: README modified: README.md 2023-09-09: David Anderson commit f34e0065c6c8f6081b536c23753f2e53c55c71ed Up to date with git log. modified: ChangeLog 2023-09-09: David Anderson commit 6759e3b4e9f6169d8f0ab34c457efc39394989ec Refining the wording now we have successfully run libdwarf-regressiontests. modified: READMEmacos.md 2023-09-08: David Anderson commit 68daec433fc7f72ab0b66115e9aae1aa3f91c21f Small clarification of the two new functions. modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-09-08: David Anderson commit 1ac73812595632be4a60715958b7ee126b2619dc Tweaking wording. modified: READMEmacos.md Clearer now that continuing to use dwarf_get_fde_info_for_reg3_b(), and dwarf_get_fde_info_for_cfa_reg3_b() versions for frame register access is ok. Lets one use current or earlier libdwarf shared objects. the new _c() versions simply return one argument as the correct type (Dwarf_Signed). modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-09-08: David Anderson commit 29f9aa527b21926c772f4563ab90747fa3ff2c34 A compiler warned of instances of set-but-not-used variables and a couple imprecise declarations. All now fixed. modified: src/bin/attr_form/attr_form_build.c modified: src/bin/buildopstab/buildopscounttab.c modified: src/bin/dwarfdump/print_abbrevs.c modified: src/bin/dwarfdump/print_macro.c modified: src/bin/dwarfdump/print_ranges.c modified: src/bin/gennames/gennames.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_tied.c modified: src/lib/libdwarf/dwarf_util.c 2023-09-08: David Anderson commit bac3cc0e4987c2850103b1b467d366e46c32678e Now we test on MacOS new file: READMEmacos.md For a 32bit system the count of files created by a cmake install of libdwaff differs (lower by two) than for a 64 bit system. So allow either count. modified: scripts/buildandreleasetest.sh 2023-09-07: David Anderson commit 9c615e942d972f5a18856ac37c9c8ec421240b09 Compiler found two unused const variables. Removed them. modified: src/bin/dwarfgen/dwarfgen.cc 2023-09-07: David Anderson commit bfcfbc61d783771298edeaa6c4398bc95e34ae20 Small comment changes for doxygen related to the Frame dw_offset argments. modified: libdwarf.h 2023-09-07: David Anderson commit f3fa1d61b60763855c093bcc2ee8c473247f77d7 Now set for 0.8.0 modified: doc/libdwarf.pdf 2023-09-07: David Anderson commit 3d770bf3441ea646351373d297627dba27a4f70e Regenerated for 0.8.0 modified: doc/libdwarf.pdf 2023-09-07: David Anderson commit 2d3c064780a07f1b1e1d9844325d7ad281fdf248 Regenerated with 'make rebuild' to get the correct version in these headers. modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h modified: src/lib/libdwarf/dwarf_names.c 2023-09-07: David Anderson commit afa59adc34f3446402a63a44bfbe651ad6b6a029 Updating version. No change to libdwarfp. modified: doc/libdwarfp.mm 2023-09-07: David Anderson commit 6251f4b8a0543f31d707ad4a3e88b637fe9956a5 Version changed to 0.8.0 for the next release, reflecting the addition of two new functions. modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: meson.build 2023-09-07: David Anderson commit b052c88512369771ff946f824d83064656673695 Added new functions dwarf_get_fde_info_for_reg3_c() dwarf_get_fde_info_for_cfa_reg3_c() which correctly return a Dwarf_Signed value for the dw_offset argument. dwarf_get_fde_info_for_reg3_b() dwarf_get_fde_info_for_cfa_reg3_b() remain unchanged. These return a Dwarf_Unsigned dw_offset value, which callers must cast to Dwarf_Signed for correct use on DWARF frame information, as has been true since the first libdwarf. modified: src/bin/dwarfdump/print_frames.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/libdwarf.h 2023-09-06: David Anderson commit 687af9c6f9305f433f4fb94435c75a6e7c3a37cd Up to date with git diff modified: ChangeLog 2023-09-06: David Anderson commit ebc892ec98f7003a5b47fecc67d2596f2ca9e7ca Removing trailing whitespace, fixing indents. modified: src/bin/dwarfexample/frame1.c modified: src/bin/dwarfexample/showsectiongroups.c modified: src/bin/dwarfexample/simplereader.c 2023-09-06: David Anderson commit e15af5c57dbfc9c9be6fe6f890dc0abb6aec10c4 Removing trailing whitespace, fixing indent mistakes, and shortening too-long lines. Per codingstandard. modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_line.c modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/dwarf_object_detector.c modified: src/lib/libdwarf/dwarf_object_detector.h modified: src/lib/libdwarf/dwarf_safe_arithmetic.h modified: src/lib/libdwarf/libdwarf.h 2023-09-06: David Anderson commit 1e0d6e36dfad997a01fcb48586568fad4f042b4d Added a sanity check and explicitly cast the dw_offset to Dwarf_Signed (previously it was implicit in two calls). modified: src/bin/dwarfexample/frame1.c 2023-09-06: David Anderson commit 0dbbbdf876dd5a9bab692d93ef56c60c5980910e Added commentary, on frame register data and added explicit cast to use of the dw_offset value used in print_one_fde() Added a sanity check for a library error. modified: src/bin/dwarfdump/print_frames.c 2023-09-06: David Anderson commit f2b487fbc062d2703f9938bf4c1cb5ed4b464461 Fixed a typo in doxygen comment. modified: src/lib/libdwarf/libdwarf.h 2023-09-06: David Anderson commit 27efdf020621e67a3c913da66b8975c4cc1bf7e8 Refined comments that point out a very old error in the data type of DWARF frame expression content in return arguments. In struct Dwarf_Regtable_Entry3_s (accessible via dwarf_get_fde_info_for_all_regs3()), and returned by functions dwarf_get_fde_info_for_reg3_b(), and dwarf_get_fde_info_for_cfa_reg3_b(). modified: src/lib/libdwarf/libdwarf.h 2023-09-04: David Anderson commit 911c0b01f5a4cba92b0b1b99dde9fd5889034e2f Correcting a misspelling in the text. modified: ChangeLog 2023-09-03: David Anderson commit dc2095a8618c02476d7a21cb08e3c827b76e97b4 Up to date with git log. modified: ChangeLog 2023-09-03: David Anderson commit b43d17fab5246ffb3376ae2151beaafb4138c15a Now mentioning O_CLOEXEC flag on open(). modified: doc/libdwarf.dox Regenerated. modified: doc/libdwarf.pdf 2023-09-03: David Anderson commit 3328b9460b13db261200e72e06ce518152bb24d2 In all open() calls we or O_CLOEXEC to the flags bits (when O_CLOEXEC exists). modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_object_detector.c 2023-09-03: David Anderson commit 51f2329e577f186681d6ae4d1c6e52fa8049a24f Current month is now September...regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-08-31: David Anderson commit cea3a4e239f8360bfaa52a55624d72feb1711aa5 Changes now lists the vulerabilities fixed since the 20 May release of 0.7.0 modified: doc/libdwarf.dox 2023-08-30: David Anderson commit b1c64d4198a14725ad26c41da8c4b02e3be9e963 Up to date with git log modified: ChangeLog 2023-08-30: David Anderson commit de3f4a471cf013d1feb39f13e4325d41ab35f7ff Added ossfuzz id to the bug fix entry. modified: ChangeLog A typo here on the DW202308-001 entry, the oss fuzz id is dwarfbug*sh modified: bugxml/data.txt Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-08-29: David Anderson commit 03ae18dc3220ac5630637fa67e399d0c3ad4cb8f Fixing a typo. modified: bugxml/data.txt regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-08-28: David Anderson commit 27c0e022346ad93418d15adee0893b31059a75c4 Incorporated git log and added commentary on this vulnerability. modified: ChangeLog 2023-08-28: David Anderson commit d6dba09a400c2360c441e997bc7a9196c6341efd Logging ossfuzz59576 vulnerability and fix. modified: bugxml/data.txt 2023-08-28: David Anderson commit e53adc90ffd6d5d0fad61546b0041990aefd970b Fixes ossfuzz 59576. A test in case 'L' of augmentations had the wrong test for out of bounds. Changed > to >= . Around line 1615 We lost track that this was an open bug. Now fixed. It has been in existence for years. modified: dwarf_frame2.c 2023-08-25: David Anderson commit 4442d453370b50b943331e359e40dd981668175c Expanded the description of the bug fix where an ET_EXEC object was having relocations applied (linkers do not normally produce a non-relocatable object with relocation sections). modified: ChangeLog 2023-08-23: David Anderson commit 5bdbcf570cc3f999528a7421c6d4bc0e31fb3565 Up to date with git log modified: ChangeLog 2023-08-23: David Anderson commit 96bd161d41050ed367716cdcb249a9e55bfe60a9 An executable with relocations exposed the mistake of running relocations on non-relocatable objects. Now we test the elf header e_type field and if the e_type is not ET_REL we do no relocations. modified: src/lib/libdwarf/dwarf_elfread.c 2023-08-20: David Anderson commit b6e314cd78a79c36252dd4948529f0c2e58605ff Up to date with git log modified: ChangeLog 2023-08-20: David Anderson commit 2c47b4816685d6e2b9f097a718b155baaa587899 Fixed modification date modified: README modified: README.md 2023-08-20: David Anderson commit da6765e589073f7defc94e200ce20db46a56500d The correct define for linking against libdwarf.a (static library) is LIBDWARF_STATIC modified: README modified: README.md modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-08-20: David Anderson commit cb22caf8c914ba28866d5e7305191af8b4ca9f2f Misspelled: BUILD_LIBDWARF -> LIBDWARF_BUILD modified: README modified: README.md Latest version modified: doc/libdwarf.pdf 2023-08-19: David Anderson commit 405c669f6d1abe9aa9737bdce3c10163fe4ad17e Documents how to properly deal with linking to libdwarf.a in Visual Studio modified: doc/libdwarf.dox Regenerated. modified: doc/libdwarf.pdf 2023-08-17: David Anderson commit d0aaf31b3d81344f9e830adff27c54b2f0129367 Up to date. modified: ChangeLog 2023-08-17: David Anderson commit 0c707a68bbda59e53fd703a53ce73107b3d6049e Documented the #define of LIBDWARF_STATIC required to link your code to a static library libdwarf.a modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-08-17: David Anderson commit d59251b6eb644265689e2e839a5947c5dbbba3c0 Clarified how one links against a static library libdwarf.a modified: README modified: README.md 2023-08-15: David Anderson commit ef63115fb2b4c0b4d44bdbb215fe873057d674c1 Clarifying a comment. modified: src/bin/dwarfdump/dd_sanitized.c 2023-08-14: David Anderson commit 2c314f3cb2b67346aab727dd92c79dad79cb8661 Small typos/omissions in updates today. modified: src/bin/dwarfdump/CMakeLists.txt modified: src/bin/dwarfdump/Makefile.am modified: src/bin/dwarfdump/meson.build modified: test/CMakeLists.txt modified: test/meson.build 2023-08-14: David Anderson commit fc57075d4d937171fea9dc2fec61f7ec120dd2ed We have a working version with utf-8 variable names shown correctly. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_glflags.h modified: src/bin/dwarfdump/dd_sanitized.c modified: src/bin/dwarfdump/dd_utf8.c modified: src/bin/dwarfdump/dd_utf8.h New option --format-suppress-utf8 that unconditionally turns off utf-8 output, reverting to uri-style output. modified: src/bin/dwarfdump/dwarfdump.c 2023-08-14: David Anderson commit 8b4b34476c96d6aeff11b8a5252fdeedd38ff722 So builds with dd_utf8.c modified: test/Makefile.am 2023-08-14: David Anderson commit 4d313420f101a95c8a10b6eac6d6a0dc72590075 Now mostly builds with configure modified: src/bin/attr_form/Makefile.am modified: src/bin/dwarfdump/dd_utf8.c modified: src/bin/dwarfdump/dd_utf8.h modified: src/bin/tag_attr/Makefile.am modified: src/bin/tag_tree/Makefile.am 2023-08-14: David Anderson commit 67220e29afbcd85cdbbb86ea0fa00a799373c985 With utf8 mods modified: dd_sanitized.h 2023-08-13: David Anderson commit 1a61a88486b91309897e252889323e81f3498f64 More for utf8. new file: dd_utf8.h 2023-08-13: David Anderson commit 467bd43c895a6fa1b231483a7161776502a5e74f Importing utf8 changes from other branch. modified: src/bin/dwarfdump/Makefile.am modified: src/bin/dwarfdump/dd_sanitized.c new file: src/bin/dwarfdump/dd_utf8.c 2023-08-13: David Anderson commit 9bd68f2f9b9a76e87b903a810bf4874f108bfce0 A new internal flag: gf_print_utf8_flag If TRUE we will attempt to print utf8 characters as they should, not uri-style. modified: ../../../configure.ac modified: dd_glflags.c modified: dd_glflags.h modified: dwarfdump.c 2023-08-12: David Anderson commit 9cb10d3a553a215016e3fa150528f62af3d9b986 Now with latest changes. modified: ChangeLog 2023-08-12: David Anderson commit ebcee1385334882c20f375d75302cd3d4bc13798 removing duplicate declarations. One such suffices. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_compiler_info.h modified: src/bin/dwarfdump/dd_globals.h modified: src/lib/libdwarf/dwarf_debugnames.h modified: src/lib/libdwarf/dwarf_object_detector.h 2023-08-12: David Anderson commit 8c3812dad14d7a1e9e8b49fb56d3d96ffd2fdc08 Having realized some options used in configure were suppressing some very valuable warnings, discovered that the following were only in configure.ac (not cmake or meson) and verified each suppresses simple warnings such as 'unused local variable'. Removed the following warnings: -Wnull-dereference causes bogus warnings. -Wbad-function-cast removes useful warnings -Wnostringop-overread removes useful warnings -Wbad-function-cast removes useful warnings -Wmissing-parameter-type removes useful warnings modified: configure.ac 2023-08-12: David Anderson commit 158ab5c9d4aa115ad502d8ce7dd37008ce649dc0 With latest trivial fix. modified: ChangeLog 2023-08-12: David Anderson commit d2c5705953613961b4edde069fb545f4be639f0a Refactoring left in an unused local variable and an unused argument. Removed unused. modified: src/lib/libdwarf/dwarf_line.c 2023-08-12: David Anderson commit 99cb7a9b11c85b7a14be6b381b57f284a613b7d1 Update with latest git log modified: ChangeLog 2023-08-11: David Anderson commit ffa552d3af71d8ff40dd0aa63d36a4dfbb6f811f Minor change to a comment. modified: src/lib/libdwarf/dwarf_base_types.h Now correctly uses the DWARF5 includes array in the line table header to get the compilation directory (when required) to produce the fullest file path possible. It nearly always gave the right answer, but in the special case where a file index of N in the table had a directory index of 0 the full path came out wrong (duplicate directory names). modified: src/lib/libdwarf/dwarf_line.c 2023-08-09: David Anderson commit 336ad49af6f2bb9554ab87ac2ea95981737e12ae Removed mention of libelf (because it is no longer used). modified: scripts/buildandreleasetest.sh Fixed the check for errors on running regression tests: some time ago the final count emitted by libdwarf-regressiontests was changed from FAIL 0 to FAIL count: 0 and run-all-tests.sh was not adjusted to match. Now these match. modified: scripts/run-all-tests.sh 2023-08-07: David Anderson commit 340b0e131922943f00dacd4ee4d3389fbcbd2e76 Now the last .c file in dwarfgen renamed: dg_getopt.c -> dg_getopt.cc and simplified to avoid warnings. modified: src/bin/dwarfgen/CMakeLists.txt modified: src/bin/dwarfgen/Makefile.am renamed: src/bin/dwarfgen/dg_getopt.c -> src/bin/dwarfgen/dg_getopt.cc modified: src/bin/dwarfgen/meson.build 2023-08-07: David Anderson commit 7965d07fd52d4a81a43d82061099cefd5f207e81 Added a cmake module path entry. Not sure it is necessary. modified: CMakeLists.txt Not clear this is being used, but harmless if not. modified: cmake/FindZSTD.cmake 2023-08-07: David Anderson commit af9463ed62919f7c1199fd9c4ce039b9ca03c653 useful, I hope. new file: cmake/FindZSTD.cmake 2023-08-06: David Anderson commit 861853c6c0ca3a20859d5387e0d02716c3e7e742 Documenting another LIBELF mention removed (CMakeLists.txt). modified: ChangeLog 2023-08-06: David Anderson commit e9f5561052fd5553172705f81491a258c7892f2a Updated to reflect recent identification of example code as PUBLIC DOMAIN. modified: COPYING Now marked PUBLIC DOMAIN. modified: src/bin/dwarfexample/simplereader.c 2023-08-06: David Anderson commit 028862dc4373b26448250eeecb12689f0fb00849 Updated reflecting the removal of LIBELF references in libdwarf/CMakeLists.txt modified: ChangeLog 2023-08-06: David Anderson commit 822021b5caa50c07ebc229ef3e66506db4352598 Removed references to LIBELF_LIBRARIES and LIBELF_INCLUDE_DIRS as those are no longer relevant. We don't use libelf as of version 0.7.1. modified: src/lib/libdwarf/CMakeLists.txt 2023-07-16: David Anderson commit 61fb3beeb9f871794719208743218bac8d34b870 Up to date from git log modified: ChangeLog 2023-07-16: David Anderson commit 83e6f04c5b5060b43424de76e024cf73412ac607 Now we check that the number of files that cmake install installs matches the number we know is right. TEST F does this check. modified: scripts/buildandreleasetest.sh 2023-07-15: David Anderson commit a44e9c03c45b3164d16885aa821618dc0f34338f Needed so the new libdwarf.pc.cmake is in the distr. modified: src/lib/libdwarfp/Makefile.am 2023-07-15: David Anderson commit 831b634c19898cf99ca240cd26b83dc3be6d96b2 cmake only: If (for some reason) one wanted to install libdwarfp and dwarfgen ...the install would not be complete if using -DBUILD_DWARFGEN:BOOL=YES or -DBUILD_DWARFGEN=YES Various small mistakes lead to an incomplete install. No-one should be using -DBUILD_DWARFGEN:BOOL=YES one thinks, but it is unfortunate this option's install was done incorrectly till now. modified: CMakeLists.txt modified: cmake/config.h.cmake modified: src/lib/libdwarfp/CMakeLists.txt new file: src/lib/libdwarfp/libdwarfp.pc.cmake Obsolete now libelf not used. deleted: cmake/FindLibElf.cmake 2023-07-14: David Anderson commit f213254afe916b4c7e51fdd88aec4e062d97b470 cmake install was not installing dwarf.h. The bug was introduced in 2021 when the source files were moved around to the current layout and the base CMakeLists.txt install lines were copied to the libdwarf dir. This deletes 2 useless lines and adds a specific line to get dwarf.h installed. modified: src/lib/libdwarf/CMakeLists.txt 2023-07-12: David Anderson commit 26e807bd6edb7dd45b9faaebccc340d7278beb4e Bringing up to date with git log modified: ChangeLog 2023-07-12: David Anderson commit 81c4c9b69fc8f7a7fe41b321659d6165fc3b5491 The side effect of changing some attribute printing is these baselines for 'make check' have to be updated. Done. modified: test/test-mach-o-32.base modified: test/testobjLE32PE.base modified: test/testuriLE64ELf.base 2023-07-12: David Anderson commit 9ba4501eff0e21422b3986f36d6d8b7df43ad911 Remove a couple special cases, unifying under a commot version The visible side effect is that things like address_size print as 4 instead of 0x00000004 in most cases. modified: src/bin/dwarfdump/print_die.c 2023-07-12: David Anderson commit f3c20004f7a0857e711e2528c1a7b1d210734b05 Changing the name of a local variable for the convenience of a Windows user. See github issue 173 modified: src/bin/dwarfexample/jitreader.c 2023-07-11: David Anderson commit fb90950e8146a81b8b0fe68fe971a655fd592f24 Adding DW202307-001 Also, ensuring that references to regressiontests start with regressiontests/ (A few such were left off). modified: bugxml/data.txt 2023-07-11: David Anderson commit c8c5073f35b1efdcc610ecf369c78f87fdd34714 Vulnerability DW202307-001 ossfuzz id: 60506 Reading a fuzzed object with a corrupted experimental (non-standard) line table format could result in a crash/out-of-bounds-read. Present since October 2015 when support for this form of line table was added. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-07-08: David Anderson commit c95f0584878e9443f940930bb26ec5e3a4de5815 Added clarifying comments about printing macro data and handling of macro import. No logic change. modified: doc/checkexamples.c modified: fuzz/fuzz_macro_dwarf5.c modified: src/bin/dwarfdump/print_macro.c 2023-07-07: David Anderson commit d075037bfa6e679cb217c7b432ced42aca3c5132 A tiny appearance tweak. modified: CODINGSTYLE.md 2023-07-07: David Anderson commit 879fd06d2091b4154fcef31ebc370bf8f525126d Corrected typo and made another minor change. modified: CODINGSTYLE.md Up to date again. modified: doc/libdwarf.pdf 2023-07-07: David Anderson commit 236a416ff8a0261b82056119e68f3078a55fd16c Small clarifications. Fixed a ###Indentation line modified: CODINGSTYLE.md 2023-07-07: David Anderson commit 1f89bb177df7781b5fd7aaf07bc35378d262a371 The list of sections that can be read independently of other sections now includes .debug_addr (left out by accident). modified: doc/libdwarf.dox 2023-07-04: David Anderson commit 2af70c5b8dc4f84d58da25b6978e5894994876be Clarifying (see Changes here) builds on Windows: which build systems allow static (non-shared) libdwarf. modified: README modified: README.md 2023-07-03: David Anderson commit a3e20ef181d021286d16dc3730b8a66ff48695a6 Fixed indent mistake modified: test.yml 2023-07-03: David Anderson commit ab810163a6198914817c1589e49ba7cb65737248 modified: test.yml 2023-07-03: David Anderson commit 00419b2134482ff624f58c97363c78bf0acc5f26 tweak macos modified: test.yml 2023-07-03: David Anderson commit fd86cfb3abcfc211bd98875feb35fdd2a0ee077a Should work for macos now modified: mac_meson.yml modified: test.yml 2023-07-03: David Anderson commit 64d346fd2a48135be49d259a0992de082a5668c6 add back --overwrite modified: mac_autotools.yml 2023-07-03: David Anderson commit 3f589d710b72efa059fefcd5c4c6b82d6903fdba mac no longer do bash curl of homebrew modified: mac_autotools.yml modified: mac_meson.yml modified: test.yml 2023-07-03: David Anderson commit b0d9843546697243cb1783867602771c250ff46d Remove install of homebrew modified: mac_autotools.yml 2023-07-03: David Anderson commit 98d8eebb1541c3319c30d490538aa758080b2138 Commented macos-meson out too modified: test.yml 2023-07-03: David Anderson commit ea27e3621ab65ae837662b2d822e0817103530c4 comment out non-working macos autotools and macos cmake modified: test.yml 2023-07-03: David Anderson commit 1a4cfb616bfef89e116efe6a96a9802c11fdf9f2 New test, now with brew cleanup modified: mac_autotools.yml 2023-07-02: David Anderson commit ed22079d91d49c6ffc232f8b3cf4cf310bb9dc6b Another trial. modified: mac_autotools.yml 2023-07-02: David Anderson commit 9750dff047cb5641583fd36e6e5a82b0c981e845 Another test. modified: mac_autotools.yml 2023-07-02: David Anderson commit 4ff3c19b23a2d1c7aa66d4fcfcdd65cd739a07b8 A problem with homebrew, diagnosis added.. modified: mac_autotools.yml modified: test.yml 2023-07-02: David Anderson commit f47918226d58322e0541ccfdeb0fbe57d6876162 Now with July date. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-07-02: David Anderson commit ce532787c19522f2aec1001c6afdee89c8c9a214 Fixed four real-but-minor issues found by coverity scan. Has no effect on the output of dwarfgen. modified: src/bin/dwarfgen/dwarfgen.cc 2023-06-30: David Anderson commit 72d509693c7b53f0a7db17a7b5e6858dfdb22132 Removing two small blocks referring to libelf. modified: meson.build modified: meson_options.txt 2023-06-29: David Anderson commit fe76278480a3e8ae25bdfcceb863568038b13a53 Latest git data. no more libelf references. modified: ChangeLog 2023-06-29: David Anderson commit 5b2ba5649702d5ad7b5fbe11a48af704885eafb0 Remove libelf references except to say it is never referenced as of now. modified: README modified: README.cmake modified: README.md 2023-06-29: David Anderson commit 4270e7d4f3f0b36b10861dbc90d0127837136d97 Completely missed a test for an alloc fail in one place, and failed to return useful error text in the case where a correct check for alloc fail was done. modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-29: David Anderson commit cfecc8d526d3c66ede35c0e4cfaec7da5e30535c The ASNX macro needed a tiny change to avoid compiler warnings on big-endian machine. Due to the change of how things like sh_type_ (for example) are defined. modified: dwarfgen.cc 2023-06-29: David Anderson commit 77d9cad797963942497d004103b602d55f5a7882 Remove all references to libelf and to elf.h modified: CMakeLists.txt modified: configure.ac modified: meson.build 2023-06-29: David Anderson commit fd3c0b9593801941924da35fcf0642e149c0c21b Fix compiler warnings about unused variables etc. modified: src/bin/dwarfgen/dwarfgen.cc 2023-06-29: David Anderson commit a3c918dd60eeed229e7841e35f189a4bcf672e5f Remove an uused #define (was for libelf use). modified: src/bin/dwarfgen/dwarf_elf_defines.h 2023-06-29: David Anderson commit 12781997e08d74aaf0df42c7fc60d8491db4f436 Finish up changing nbufs from Dwarf_Signed to Dwarf_Unsigned. modified: src/lib/libdwarfp/dwarf_pro_arange.c modified: src/lib/libdwarfp/dwarf_pro_macinfo.c modified: src/lib/libdwarfp/dwarf_pro_macinfo.h modified: src/lib/libdwarfp/dwarf_pro_section.c modified: src/lib/libdwarfp/dwarf_pro_section.h modified: src/lib/libdwarfp/dwarf_pro_types.c modified: src/lib/libdwarfp/dwarf_pro_types.h 2023-06-28: David Anderson commit ca199e529e17dd4747c0e209a05711f68d4f5d03 Merge: 0bf73a21 6087df9e Merge branch 'wr-elf' Now with no need for libelf anywhere.. 2023-06-28: David Anderson commit 6087df9e17df47095f55314aa4be6d9745cc683b tiny tweak setting sh_addralign. modified: dwarfgen.cc 2023-06-28: David Anderson commit dc4c5049940d1ecbec351d0688824a5acc4ee247 generated object now with mode read/write for all (not execute for anyone). modified: dwarfgen.cc 2023-06-28: David Anderson commit cfd65e1c94e5a21cdc8c37f58bbece1f3fa81f3b Now seems to generate our limited elf as created by dwarfgen ... correctly. modified: dwarfgen.cc 2023-06-28: David Anderson commit 7f6bc8c1d49af2f52e94bed368474493d15a28ea Changed a type from unsigned to Dwarf_Unsigned. modified: irepresentation.h 2023-06-28: David Anderson commit c6e459e00dfeee00be7f32ab7589cf6e3bd07f37 Almost works. DO NOT USE THIS COMMIT modified: dwarfgen.cc 2023-06-27: David Anderson commit 3c6a9a538f6682d45f40b0bed8e93c4a19b5dfec Now also writes. DO NOT USE THIS COMMIT. modified: dwarfgen.cc 2023-06-27: David Anderson commit 32a769c9d98ab744674cb4b2d26baea922299d9c DO NOT USE THIS COMMIT. Compiles, but is incomplete. modified: dwarfgen.cc 2023-06-26: David Anderson commit 0bf73a21035510aaa51d508670c7e6d02bef76a7 Completing records on DW202306-011 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-26: David Anderson commit 6f75899f1f90fa87e52da0df09ddaa2e5be778f9 Correction to a sanity test. DW202306-011 ossfuzz 60090 The test was < yet was supposed to be >= . The test itself is just a few weeks old. Near line 855. modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-25: David Anderson commit c10644be2f21737ac2b20e586c65e79f9ae8aedc DO NOT USE THIS COMMIT. It's a work in progress. modified: Makefile.am modified: dwarfgen.cc modified: irepresentation.h modified: strtabdata.h 2023-06-24: David Anderson commit 6753a63c4dae4b71908fb446fcb93e986e536289 Now just char arrays. modified: dwarf_elfstructs.h 2023-06-24: David Anderson commit 0609f2efe2a501f331f265c491a2f9c1d8783d1e Not needed deleted: dwarf_elf_data.h 2023-06-24: David Anderson commit 53744098650689bcfcf5441525b1634798c39c2c Not wanted now. deleted: dwarf_elf_interface.h 2023-06-22: David Anderson commit 680d91ea3dfd4def97ea7119621ab2f58d21481e Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-19: David Anderson commit fe967a59a203ab08376d416c6eba754ea0ba111c Correctly states the default library for cmake is a static library, libdwarf.a modified: README.cmake 2023-06-19: David Anderson commit 53463eff32b9ee59bf94915286f89a4f6301b6cb Latest bug has improved comments. modified: bugxml/data.txt 2023-06-19: David Anderson commit 08cfa285846d7c4a2da011c944927a0d55847987 Comparing a signed value to unsigned in one new test was a mistake. Now properly qualified to avoid a mistaken if() (this is a test only applicable to IRIX. ) modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-19: David Anderson commit 9479e68b4734f27679d36297a3a04b0a213b4934 Have fixed DW202306-010. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-19: David Anderson commit b7437c9e4923906e9b3f3860a0c8a8289cff0a91 Vulnerability DW202306-010 ossfuzz id: 59950. Now we check for bad augmentation data (like field lengths) where checking was inadequate. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-19: David Anderson commit 72f3333e2646f350f0c9ee2e342bb4809aab051d modified: .github/workflows/freebsd_cmake.yml modified: .github/workflows/mac_autotools.yml modified: .github/workflows/mac_meson.yml modified: .github/workflows/msys2_autotools.yml Now all the workflows have the permissions: line in the standard position following an on: (rather than before the on:) 2023-06-18: David Anderson commit cee6ad7da45827aeee00f93b622066264f041600 Bringing ChangeLog up to date. modified: ChangeLog 2023-06-18: David Anderson commit 277e4f718e0061a068a74287291a4d8e8d18e94a Non-shared builds and shared-lib builds result in libdwarf.so (or .dll) having only the intended API functions visible to callers. Modified to match up with the altered #defines near the start of libdwarf.h . modified: meson.build modified: src/bin/attr_form/meson.build modified: src/bin/buildopstab/meson.build modified: src/bin/builduritable/meson.build modified: src/bin/dwarfdump/meson.build modified: src/bin/dwarfexample/meson.build modified: src/bin/dwarfgen/meson.build modified: src/bin/gennames/meson.build modified: src/bin/tag_attr/meson.build modified: src/bin/tag_tree/meson.build modified: src/lib/libdwarf/meson.build 2023-06-18: David Anderson commit 9a856a4bee90c1b7cc3f4e8cf6c2dd8ce6b02848 Non-shared builds and shared-lib builds result in libdwarf.so (or .dll) having only the intended API functions visible to callers. modified: CMakeLists.txt modified: src/lib/libdwarf/CMakeLists.txt modified: src/lib/libdwarfp/CMakeLists.txt 2023-06-18: David Anderson commit c05c2e4b1295358df4bec45253e8ee3d446aa823 Minor (one line) change to make this work properly with the build and libdwarf.h changes. modified: libdwarf.pc.in 2023-06-18: David Anderson commit f3ef97144dff49b647bb2f3734a7c11f951a9dc7 A small change was required to match up as desired with the default settings of meson and cmake builds. modified: scripts/buildandreleasetest.sh 2023-06-18: David Anderson commit c3b42421059bffbdecdb7250c8e58cb90f20c4b2 Revising the list of #defines allows building of correct shared library libdwarf in all environments while allowing non-shared (static library) builds with cmake and meson. For linux static library builds can be done. The #defines are slightly easier to understand with this revision. modified: src/lib/libdwarf/libdwarf.h 2023-06-18: David Anderson commit 9f725d0ed099cb0b5692cf1f635d05dc3d418e25 Updates reflecting a new meson option --default-library and the ability to do correct shared library builds (meaning library-internal functions are invisible to callers) with all three build systems. modified: README modified: README.cmake modified: README.md 2023-06-18: David Anderson commit e5c5f33db75bea03e20e7ca4fb0cb8e4f14b99f6 Adding ChangeLog2021 and 2022 to the distribution. Omitted by accident. modified: Makefile.am 2023-06-15: David Anderson commit ae1d1070163785a4f6aeded7f8084eae2898c684 the meson documentation on line wasy wrong. plain mason_options does not work. modified: Makefile.am renamed: meson_options -> meson_options.txt 2023-06-15: David Anderson commit 6b65d0eccec28aefeaef4c5a14c9c775802eb38d Now matches the rename of meson_options.txt to meson_options to agree with what the meson doc says. modified: Makefile.am 2023-06-15: David Anderson commit a39c5668dbb03ad1e5b1ee0b190f951cf24a3e58 According to meson official documentation any meason after 1.1 should name the file meson_options, not the original meson_options.txt. We cannot use meson below 1.45. renamed: meson_options.txt -> meson_options 2023-06-15: David Anderson commit 0d5bc0612af062850da4102d5259913ea55fbec8 Now with DW_LANG for Mojo, new this month in DWARF. modified: src/lib/libdwarf/dwarf_names.c 2023-06-13: David Anderson commit 1320701ac56f35dbefb01be7857553fbd3e90106 Updated. modified: ChangeLog 2023-06-13: David Anderson commit 29f771024891fced11439bfab88ab25b6f60a912 Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html Added a note that in 0.7.1 there are vulnerabilities fixed (reading corrupt object files). modified: doc/libdwarf.dox 2023-06-13: David Anderson commit 28d88b7081d79db13472d112d790eabff9950633 Added gitfixid for DW202306-009. modified: bugxml/data.txt 2023-06-13: David Anderson commit 9cae1be75ec333d2b8ab8800df4850ed77a8b025 Fixing DW202306-009 ossfuzz id: 59775 A carefully fuzzed object could read one byte past the end of a frame section If the last thing in a frame section is DW_OP_GNU_encoded_addr (data is supposed to follow such). Corrupt Dwarf. Now we check and return an error. This vulnerability involved DW_OP_GNU_encoded_addr. modified: src/lib/libdwarf/dwarf_locationop_read.c 2023-06-13: David Anderson commit 44dbfe78d6586281ef76761fb6b3e6eaf18fcc21 Add doxygen commentary clarifying aspects of reading defailed Frame data. modified: src/lib/libdwarf/libdwarf.h 2023-06-13: David Anderson commit 7c3df3000529e0c199163ab44f1c4108a97f22ae Remove a blank last line. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c 2023-06-13: David Anderson commit ffe2f9b786f32d6033e9d4570d7b2d9367196e21 minor change in a comment format for consistency. modified: src/lib/libdwarf/dwarf_frame.c 2023-06-11: David Anderson commit 0978c6c29a5dd88f2eaf0cd1ce7c88e4912de322 Moving the not-used-yet code to the end of this source file. It is in #if 0 so is not compiled. Leaving the important code first. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c 2023-06-11: David Anderson commit f6137eb8a14fe3576cdeb5f09cbe446b0cc0c0da modified: src/lib/libdwarf/dwarf_safe_arithmetic.c Removed unused defines and put the declaration inside #if 0 region last. modified: src/lib/libdwarf/dwarf_safe_arithmetic.h 2023-06-11: David Anderson commit d84d88b48abd673db1b5c161769401cd589260f2 Removing a function that is not used. It was in #if 0 #endif and is now gone. modified: src/lib/libdwarf/dwarf_frame.c 2023-06-11: David Anderson commit e851ca8323ef7ba2de76dd6219a462706286b8a3 Renamed _dwarf_add_check to _dwarf_signed_add_check Removed another #include. Removed debugging printf (which were #if 0) modified: src/lib/libdwarf/dwarf_safe_arithmetic.c Just has the renaming aspect. modified: src/lib/libdwarf/dwarf_safe_arithmetic.h 2023-06-11: David Anderson commit 3dc465cda402fe6c761b5df6ee3d98168b08117f Removed two #include lines -- they are not required here. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c 2023-06-11: David Anderson commit f19a9557f8205b15b0d021ad543bd18f213dbdad Removed an unused local variable. modified: src/lib/libdwarf/dwarf_frame.c 2023-06-10: David Anderson commit 73a955d6c04f87321fe41057af26ee31e613d3dc Adding permissions: read-all modified: freebsd_cmake.yml modified: mac_autotools.yml modified: mac_meson.yml modified: msys2_autotools.yml modified: test.yml 2023-06-10: David Anderson commit 6483e44afa743c5abff9fee5930f5dca58c933da Now up to date. modified: ChangeLog 2023-06-10: David Anderson commit d4ba6ab340f3309e05851886f046315143110534 regenerated modified: doc/libdwarf.pdf Altering to match project codingstyle (trailing spaces, for and if format) modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame2.c A bug introduced a few minutes ago now fixed. we now pass CoverityScan with no issues. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c 2023-06-10: David Anderson commit 2a898d863c312bbf453d443986df76d35e60d648 Nearly up to date now. modified: ChangeLog 2023-06-10: David Anderson commit 435347714549485d9500cffb58451af0f932ee42 Revised date to today and removed wording on 0.7.1 that no longer applies. modified: doc/libdwarf.dox 2023-06-10: David Anderson commit 56a1c79cbf61b898ddb168ffbca52e2c13b78df0 Some function prototypes used /*name*/ and now use doxygen-friendly dw_name instead. modified: src/lib/libdwarf/libdwarf.h 2023-06-10: David Anderson commit 1b3fcc3dfe643c959b66e6825671884984d2d9e8 Fixed conflicts with the codingstandard. modified: src/lib/libdwarf/dwarf_leb.c 2023-06-10: David Anderson commit 4ac01464970b2f4427ab363e9702308eb294f84e In dwarf_decode_leb128() the function was inconsistent about testing outval and len128_length pointers before dereferencing them. Now it is fully consistent and always allows for NULL for those. modified: src/lib/libdwarf/dwarf_leb.c 2023-06-10: David Anderson commit abb50656598c42dd4629e878642e68029f3dbc32 Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-10: David Anderson commit eb0f40c4158227b15fd083ba15d49cb08c47f510 Updated with latest fix modified: bugxml/data.txt 2023-06-10: David Anderson commit c5b909630bb566cdbf68fae4091f049f3b22ff11 Added a comment where we call _dwarf_read_cie_fde_prefix() modified: src/lib/libdwarf/dwarf_frame.c DW202306-008 ossfuzz id: 59699 Check a byte pointer before we dereference it in _dwarf_read_cie_fde_prefix(). modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-10: David Anderson commit 6119e36058a82c7207cd6199bd59cfd5f1c6b0af Latest. modified: bugxml/data.txt 2023-06-10: David Anderson commit c8c54ba5c79b0a2687f0fa2ac331479506c3210f DW202306-007 ossfuzz id: 59602 modified: bugxml/data.txt In two particular cases the necessary check for reading-past-end was missing. modified: src/lib/libdwarf/dwarf_locationop_read.c 2023-06-10: David Anderson commit e8c726e2be644df2706342b7a80633d07ecd7fb4 Adding printing of DW_CFA_LLVM_def_aspace_cfa_sf address space modified: fuzz/fuzz_set_frame_all.c DW202306-004 fuzzer: ossfuzz id: 59595 modified: src/lib/libdwarf/dwarf_frame.c 2023-06-09: David Anderson commit 616d6e93cb24434e112f03e5a313b1207e549854 Now up to latest git log modified: ChangeLog 2023-06-09: David Anderson commit 9181a0ef691c392561d3efffc322d06c66d18627 Now we use a non-public struct in dwarf_frame to build up data on register state. And we only copy to the public Frame structs when we must (to return data). And we comment a bit to explain how it works. modified: src/lib/libdwarf/dwarf_frame.c 2023-06-09: David Anderson commit 4f95239b05afd4df0599aa669b5b3eefece7d2d2 New private struct for internal use in dwarf_frame.c Now offset is Dwarf_Signed for internal use in dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame.h 2023-06-09: David Anderson commit 113261071d93ba00b1abaee9b4b50b3f2fb6bb9f Removed declarations involving struct Dwarf_Regtable3_s_c and struct Dwarf_Regtable_Entry3_s_c as we abandon that additional set of structs. modified: src/lib/libdwarf/libdwarf.h 2023-06-09: David Anderson commit 88455911f2e656ce2473ed83b0a0c163ffd8ca8e Added comentary about the test. modified: src/bin/dwarfexample/frame1.c 2023-06-09: David Anderson commit 30c420a9e6d3a7a1b18fdc9e8ea880a5492994a2 Updated with latest. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-09: David Anderson commit 149e60a9424712090a1a0cd44675226bf37a5f0d comments with new bugs added at top of file. modified: bugxml/data.txt 2023-06-09: David Anderson commit f200830719316fec4f84ce34f0754a38c802954e Omitted a test for y not zero, leading to division by zero. Fixed. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c 2023-06-09: David Anderson commit 9e83da53c8ce3506229dcdd719bff019b6092fcc DW_LANG_Mojo has been added to the languages list by the DWARF committee with value 0x0033 modified: dwarf.h 2023-06-08: David Anderson commit c72cd15329751086838f2b15bcad4d25b5075857 Fixing cmake build of test modified: test/CMakeLists.txt Proper declaration of main() to make meson build work. modified: test/test_int64_test.c 2023-06-08: David Anderson commit 4b540c4a0150d86c60e7be155c05087ad7656ef3 Now with git fix id for ossfuzz 59517 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-08: David Anderson commit c9caa16bf69b24db6c3f13e269deb826a4a4bb3a Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html modified: doc/libdwarf.pdf 2023-06-08: David Anderson commit f664f93d456284130afbd3c2e35b39e5f2740366 Adding support for the new int64 safe multiply source files dwarf_safe_arithmetic.[hc] And adding a new test for safe multiply. modified: src/lib/libdwarf/CMakeLists.txt modified: src/lib/libdwarf/Makefile.am modified: src/lib/libdwarf/meson.build 2023-06-08: David Anderson commit d9cd2592337d99f44dd6ccb6f4cdee6c3a7bf822 Now uses safe arithmetic where it matters. Adds dwarf_get_fde_info_for_reg3_c() dwarf_get_fde_info_for_cfa_reg3_c() as alternatives to dwarf_get_fde_info_for_reg3_b() Cdwarf_get_fde_info_for_cfa_reg3_b() The difference is the newer ones have a Signed offset, which properly matches the text of the DWARF standard(s). modified: src/lib/libdwarf/dwarf_frame.c Added a new file ru_soffset to support new functions dwarf_get_fde_info_for_reg3_c() dwarf_get_fde_info_for_cfa_reg3_c() which provide a signed offset for certain operations (as stated above). modified: src/lib/libdwarf/dwarf_frame.h Adds two new functions and two new structs to support the new signed offset while keeping the versions that already existed. modified: src/lib/libdwarf/libdwarf.h In other words there new functions and structs, but the previously existing ones are still supported. 2023-06-08: David Anderson commit 0012b38dd66632d458c6dfd99186c04fb77490b1 Added a new DW_DLE error 501, for arithmetic overflows. modified: src/lib/libdwarf/dwarf_errmsg_list.h 2023-06-08: David Anderson commit 3f0431c7ea563e1ed30896b123aceae9338cba5c Cleaning up indents and removing unused code. modified: src/lib/libdwarf/dwarf_safe_arithmetic.c modified: src/lib/libdwarf/dwarf_safe_arithmetic.h 2023-06-08: David Anderson commit 89773e02ef509c07db4095c47c1f71509aee2892 This is the new test related to safe 64bit multiply new file: test/test_int64_test.c 2023-06-08: David Anderson commit 354d936634ed42b64ed55e72849ac4ac1170fad1 Added a new test. modified: test/CMakeLists.txt modified: test/Makefile.am modified: test/meson.build 2023-06-08: David Anderson commit 342ff0ca5590625e5372a4b122bbd25331471be3 Removed one blank line. modified: src/lib/libdwarf/dwarf_xu_index.c 2023-06-08: David Anderson commit 2e23d5442322aa69f2561d71c631c7f2d4846d62 Modified indent on one line. modified: fuzz/fuzz_set_frame_all.c 2023-06-08: David Anderson commit 092dafadcc604ce9aa0f1041cfbcb31b9c98d141 Modified an error message to have more details printed. modified: src/bin/dwarfdump/print_frames.c 2023-06-08: David Anderson commit 5f3c2e9fb6c438d3b6f8ed1000e06d2f235352e8 Remove one blank line. modified: src/lib/libdwarf/dwarf_frame2.c 2023-06-08: David Anderson commit f57e0222da1b788c0aabaf1a218b7bd186adad33 Fixing indents, removing trailing whitespace. modified: src/lib/libdwarf/dwarf_alloc.c modified: src/lib/libdwarf/dwarf_elf_load_headers.c Functions that check 64bit multiplify using always-safe operations. new file: src/lib/libdwarf/dwarf_safe_arithmetic.c new file: src/lib/libdwarf/dwarf_safe_arithmetic.h 2023-06-06: David Anderson commit 384e75950953a81e741f1f5b9430c5577967881e Merge: 65cb55b6 f7269c0f Merge branch 'main' of https://github.com/davea42/libdwarf-code Fix to commit id. 2023-06-06: David Anderson commit 65cb55b6cf325a86beffbf68173a5176d3956c8c New bugs noted modified: bugxml/data.txt 2023-06-07: sungbin commit f7269c0f5c53a7fe2288e431156b860dbd9cdfa1 Fix Typo in bugxml/data.txt (#166) 2023-06-04: David Anderson commit 643f5c9fe4868e67f1df3574c044207c9d4e50e2 Documenting vulnerability DW202306-001 ossfuzz id: 59517 _dwarf_exec_frame_instr() was missing some sanity checks and in one case(DW_CFA_val_offset) a request to show the instruction details got the wrong value modified: bugxml/data.txt 2023-06-04: David Anderson commit cf16fa633b7d73efbd85146cce7b363800440b8e A printf was lacking a newline, making the output very odd-looking for no good reason. Added a newline to the printf. modified: fuzz/fuzz_set_frame_all.c 2023-06-01: David Anderson commit 8b475cea946fe571571ec01702291e38616ad5f9 Regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-06-01: David Anderson commit 436bdb809020e219710f4ee9ecc179980f3c86cc The description of fuzzer: ossfuzz id: 56451 said it was a test program function, but actually it is ALSO an omission in libdwarf. So attributed to libdwarf now and the wording made clearer. modified: bugxml/data.txt 2023-05-31: David Anderson commit 18fec5f25d4c84c756e038dde6f658f78a10b399 Document DW202305-010, a new report of a vulnerability. (use "git push" to publish your local commits) 2023-05-31: David Anderson commit 8ef9c8fb613e59f534e789e91a73088eaa5b8a5a Vulnerability DW202305-010 ossfuzz id: 59478 Fuzzing provoked one of four error cases that could leak locally allocated memory from _dwarf_exec_frame_instructor() (called by dwarf_expand_frame_instructions). Called enough times with fuzzed data could result in filling memory leading to the library being unable to work for the caller and instead just returning errors. This bug has been present in the code for many years. modified: src/lib/libdwarf/dwarf_frame.c 2023-05-31: David Anderson commit 60d6143347e5eee87a6533d7394d3969d2c90d74 Regeneration ('make rebuild') removed a comment as in dwarf.h a duplicated DW_AT entry no longer has the duplicate. modified: src/lib/libdwarf/dwarf_names.c 2023-05-30: David Anderson commit 87990cf881e72cd10314c68cc69670d0e05946d0 Now with latest from git log. modified: ChangeLog 2023-05-30: David Anderson commit 7be3a252da6df46c7afb50750f9f149c7319fc8f Now showing all the latest vulnerability data. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-30: David Anderson commit d4f4361aa0d6819fb07598ab74ed31fd388f2393 Now fully up to date, hopefully all existent oss fuzz issues addressed. modified: bugxml/data.txt 2023-05-30: David Anderson commit 12a612fc8db38fc26cd5e6064f09a6f825891c7c DW202305-009 ossfuzz id: 56451 Changed by adding initializers of zero to local variables not previously initialized. modified: fuzz/fuzz_dnames.c Added checks to dwarf_dnames_abbrevtable() so required pointers are verified non-null before use. Still never returns DW_DLV_ERROR. With required input pointers missing it returns DW_DLV_NO_ENTRY. modified: src/lib/libdwarf/dwarf_debugnames.c 2023-05-30: David Anderson commit 97d6310bd2b69e653db76cf02be51341190c39d9 Updated with latest update of known bugs. modified: bugxml/data.txt 2023-05-30: David Anderson commit 282126391c1c8aae5c6c1ad28e5e8c3dc4943940 ossfuzz 56450. For a standard Dwarf_Debug we failed to call _dwarf_free_static_errlist() hence some code calling libdwarf and encountering an error with a NULL Dwarf_Debug passed in left behind malloc space. The leak is quite small, but it has been present for a very long time. modified: src/lib/libdwarf/dwarf_alloc.c 2023-05-30: David Anderson commit 21b33d13024d18b09e32914ca5718a5c81d1ad67 It was calling exit() early, not allowing dwarf_finish() to be called. ossfuzz 56462 And it was doing a local malloc and failing to call free() on that local space in some situations. ossfuzz 58026 modified: fuzz/fuzz_set_frame_all.c 2023-05-30: David Anderson commit 8b17d41a31c33e0b3b9727a8044e0093a754d6d7 Document DW202305-006 ossfuzz id: 56472 The test code as written here gets an error from valgrind for calling libdwarf with an uninitialized pointer. The fix is to initialize the Dwarf_Die instance by adding = 0; This was not a libdwarf bug (the original fix actually fixed a libdwarf bug, and this valgrind issue pointed out the need for the test case fix.. modified: bugxml/data.txt modified: fuzz/fuzz_simplereader_tu.c 2023-05-30: David Anderson commit 72a19f627b84fe4d2cb0942f5e6d70a0a615b440 Updating DW202305-005 ossfuzz id: 56462 modified: bugxml/data.txt 2023-05-30: David Anderson commit 5612eff9f1a40229690fd0e61083101df85e776b DW202305-005 ossfuzz id: 56462 To avoid leaks the libdwarf calling program MUST call dwarf_finish(). The code here was failing to do that in a number of error situations. Now it just returns from functions on error and lets main() call dwarf_finish(), a call that has always been in main(). modified: fuzz/fuzz_set_frame_all.c 2023-05-29: David Anderson commit 7be3c6e4fc632a13c4901d5ea47eddf0fb599adf now up to date with git log modified: ChangeLog 2023-05-29: David Anderson commit 8832094fa0b1ecca3ad8cbc6b47242d9ddab1183 Added text to ossfuzz 56443 DW202303-009 Now have the real fix. modified: bugxml/data.txt 2023-05-29: David Anderson commit 241fe0cb415569975c451d1f2d62fb2b2147cd72 The actual fix to ossfuzz56443 DW202303-053 Unfortunately -fsanitize does not show the bug, only valgrind does. modified: src/lib/libdwarf/dwarf_alloc.c modified: src/lib/libdwarf/dwarf_alloc.h modified: src/lib/libdwarf/dwarf_generic_init.c 2023-05-29: David Anderson commit 443ccb173513bf68beaf9f9a1fbf305cbb41610d Added comments on unfixed issues modified: bugxml/data.txt 2023-05-29: David Anderson commit e2ef9556567e13cf7b7fee50a9bc87f577fb9101 Amplified comment. modified: fuzz/fuzz_crc_32.c 2023-05-25: Mateusz Janda commit 9b26105456ee9a09cc02c7c58f343338e92c1b2e DW_AT_GNU_bias duplicate removed (#165) 2023-05-24: David Anderson commit 5cd5372b6761c38980527a06aa7a84537a72b130 Updated to bring up to date. modified: ChangeLog 2023-05-24: David Anderson commit a5d44c690636aa9c49ba4c6656f042c05f42c7ed Removed the last references to elf.h, libelf.h, HAVE_ELF and HAVE_LIBELF from libdwarf . There are no references to these in dwarfdump. libdwarfp and dwarfgen still use libelf and elf.h modified: src/lib/libdwarf/dwarf_elf_defines.h modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-05-23: David Anderson commit ce2d5456240aad4c7ebbf72632d5665c6b6190c7 With the fixed latest vulnerability reports. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-23: David Anderson commit d3bd3a7119f64c9b950e29fdf3a1ed8385e91086 Hopefully easier to understand Error Handling now. New susubsections. modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-05-23: David Anderson commit abaec0a1bb502bbb2e1fcf8f04aaabd231b9c1b3 Adding a comment instead of actually fixing the source. modified: fuzz/fuzz_crc_32.c 2023-05-23: David Anderson commit c6fee564f36906537f08fb07dec43ce855bd131d Latest reports dealt with. modified: bugxml/data.txt 2023-05-23: David Anderson commit 4638617fc49bcda961105452db97919a7d33dad7 Restored to be the intended sketch. modified: doc/checkexamples.c 2023-05-23: David Anderson commit 97a78122268c9a74701f2dd3115f902309e9a484 Repairing the examplep5() function which specified an infinite loop. The doc/checkexamples.c examplep5() code was hard to understand. modified: fuzz/fuzz_macro_dwarf5.c 2023-05-23: David Anderson commit abebda6e0e3e3f52cf55ee0da6b84d608e57f425 The examplep5() function was badly written and had an infinite loop. oops. It's not much better now, but at least no infinite loop. modified: doc/checkexamples.c 2023-05-23: David Anderson commit c6e4f105eccbedec3822a3f83a4f3a4fa9b2aa51 A printf in the test code was missing its ending newline. That lead to annoying messages when doing a diff of the program text output.. Now the printf has its newline. modified: fuzz/fuzz_set_frame_all.c 2023-05-23: David Anderson commit 3bdf0b00f13187d9e689cb8cab6ed00c9591c53e Updated to latest. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-23: David Anderson commit b3df2530732ea515cda5a85438871e15c6723ead dwarf_highpc_b() was dereferencing a pointer argument before checking the argument. Now we check before using. modified: src/lib/libdwarf/dwarf_query.c 2023-05-23: David Anderson commit a0bb79d65d00fb3e345e6101b52367d7ced8937a Now up to date. modified: ChangeLog 2023-05-23: David Anderson commit 8ea7e0d5ff1ca701716db87483e9c7264ea4ed70 Some vulnerabilies I was unaware of came to light and are now fixed as appropriate and documented in the vulnerabilities data. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-23: David Anderson commit e3c303bf760ff49a5cdb5f8ac78f53fc06218130 Making the error handling wording more precise and clearer. modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-05-23: David Anderson commit 448b8fb4f6e534b56a44b43f1653673fdf820e80 This is test code, not part of libdwarf. An uninitialized local variable named 'die' would crash the caller when passed to any libdwarf function. C code cannot check random pointers for validity. Fixed by initializing the variable to 0. modified: fuzz/fuzz_die_cu_attrs_loclist.c 2023-05-23: David Anderson commit 60c885a4db0a924b60e9830d238bf77bf8993de1 DW202305-006 ossfuzz id: 56472 The API functions here all lacked any checks on the arguments. Now they all check such as much as is practical. This problem existed when the code was originally written in 2021. modified: src/lib/libdwarf/dwarf_xu_index.c 2023-05-23: David Anderson commit b722aebd0d2b77309e0fe107bf56e14e513f6b4f Updated DW202305-004 modified: bugxml/data.txt 2023-05-23: David Anderson commit 79d32a15dc6df082d01764660010400c7b269ff2 Added comments to _dwarf_special_no_dbg_error_malloc() modified: src/lib/libdwarf/dwarf_alloc.c 2023-05-23: David Anderson commit 6fac1021c67d72da6b65f99ad815978d40b4c1e8 oss fuzz 56446 DW202305-004 An local pointer initialized with just 'stack trash' (so no proper initializer) was passed to libdwarf. That is a mistake in the test code. C cannot determine if a non-null value is a legitimate value as a pointer. Not a library bug. modified: fuzz/fuzz_dnames.c 2023-05-22: David Anderson commit bf9c51326e2be6e3ee1b89b4767fa9c7120068e3 Now mentions version change to 0.7.1 modified: ChangeLog 2023-05-22: David Anderson commit 9d6b907f1a2f5fc10301909d188e176a054d5724 Updating version for new code to be added. Now 0.7.1 modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: doc/libdwarfp.mm modified: meson.build modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h modified: src/lib/libdwarf/dwarf_names.c modified: src/lib/libdwarf/libdwarf.h 2023-05-21: David Anderson commit d8006304766b107f962e3b86c5f7699da68e40e0 Added comment about release. modified: ChangeLog 2023-05-21: David Anderson commit 47bc8ccf5234f397d940878a237d62f2eab4e1bb with latest from git log. modified: ChangeLog 2023-05-21: David Anderson commit 0e0fb968c72ae14bd86183e0135051f3bb1ef3ef Added checks of user-supplied FRAME register choices (such as the number to use for the CFA register) to guarantee the choices are all in appropriate relationship as documented in libdwarf.pdf and the html version of the document. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c 2023-05-21: David Anderson commit 0c8379bd854b22702623ac6b28fd178fd530e670 Documented changes after 0.5.0 modified: README modified: README.md 2023-05-20: David Anderson commit 2933193b2d7aef2ff2131f2f07bed1822ad08623 Fixing the format of release dates. modified: README modified: README.md 2023-05-20: David Anderson commit 9e1fafeb8c3a0d3becc889a27eb4f1179959f7ad Updated to show release. modified: README modified: README.md 2023-05-20: David Anderson commit 424b789988dc27e3af0821df930e514917055ab7 Identifying tarrelease on all entries. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-19: David Anderson commit 60e572dbf7b4ded66b488f54773f66aaf6184321 Documenting DW202305-003 oss fuzz 59091 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-19: David Anderson commit 4017ab8b92195641e6876b388cebe2d3307634f5 This is the final code change for release libdwarf-0.7.0 When the experimental two-level line table support was written one test for '> sectionend' was wrong, it needs to be '>= sectionend'. Written in 2021. In some other cases '>' is ok. Fixing DW202305-003 oss-fuzz 59091 modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-05-19: David Anderson commit 2783706a87420d1902c03a3ec573d7775a0d408d Adding memset to initialize a local struct instance to avoid unpredictable behavior while running. valgrind complained about it. modified: fuzz_findfuncbypc.c 2023-05-17: David Anderson commit e75cc02e1d6b7d4e5148b015bbe0d8ed080dc0f3 Now has example of dwarf_validate_die_sibling() even though that is not something one needs to use. This is all essentially documentation changes. Ready for release. modified: doc/checkexamples.c modified: doc/libdwarf.dox modified: doc/libdwarf.pdf modified: src/lib/libdwarf/libdwarf.h 2023-05-13: David Anderson commit 59b57abfe94c12e47175d433dcabe9b6ac3ed033 Fix indents and remove trailing whitespace and remove one blank line. modified: src/bin/dwarfdump/print_die.c modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/libdwarf.h 2023-05-13: David Anderson commit 5120fcbad3e90eca2b9a2486c3bb125d5908e4be freebsd cmake uses ninja so no need for libtool. modified: test.yml 2023-05-13: David Anderson commit 4eca9a5d4f94f5b9e73510ecf0dce02e6fb2a704 Fixing the name modified: freebsd_cmake.yml 2023-05-13: David Anderson commit 173f8641f9a20d823e00785b1646563310516e14 Separated out a possible improvement, removing an install target new file: freebsd_cmake.yml Removing duplicate pkg install targets. modified: test.yml 2023-05-13: David Anderson commit 84db2e08a637d2dbcd4fbdbc4f759be4f429c7cf Suplicate list of bash in pkg install command for freebsd cases. meson case failing oddly. Another change somewhere in the background? modified: ../../../.github/workflows/test.yml 2023-05-13: David Anderson commit 0c09ce5dc54800af173689662da7a58c5142f2f2 ChangeLog up to date ...again.. modified: ChangeLog 2023-05-13: David Anderson commit 53990846344a2e52df65481cd7405bf7e46aedea Compiler found an unused local variable. Now removed. modified: src/bin/dwarfdump/print_die.c 2023-05-13: David Anderson commit d90f42ee6288997095b3bb041ed5f1c3675354b9 Brings ChangeLog up to date. modified: ChangeLog 2023-05-13: David Anderson commit d24fe012b997e54638adea9ed2ce8747e0aeeda3 More refactoring print_die_and_children_internal(). The function traverses the DIE tree and is reduced from ~300 to ~200 lines so the loop and recursion are more understandable. modified: src/bin/dwarfdump/print_die.c 2023-05-12: David Anderson commit 334b0ca480c703cf1ae454bb1c421dfd37744b1a Changing a select few local variables to have more meaningful names, names not easily confused with one another. Im print_die_and_children_internal() modified: src/bin/dwarfdump/print_die.c 2023-05-12: David Anderson commit 74832091748da62e5973025a903c139ac2cba74d Updated doxygen comments for dwarf_validate_die_sibling() slightly. modified: src/lib/libdwarf/libdwarf.h 2023-05-12: David Anderson commit 71b025de461274a7841118005a653b6b26c1b611 Refactor print_die_and_children_internal() as the function is too long to be readily understood. It's still too long though. modified: print_die.c 2023-05-12: David Anderson commit 2624bea19ba106452d6880a32d772247d30afe8f Refactor print_die_and_children_internal() as the function is too long to be readily understood. It's still too long though. modified: print_die.c 2023-05-11: David Anderson commit 9dbf454b117a05591af0b8c7ac7db176aed2093a Latest version modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-10: David Anderson commit 618980baf126e97c548018a2ce358a5d10a9f42e Everywhere appropriate in local headers, updating copyright to 2023. modified: src/lib/libdwarf/dwarf.h modified: src/lib/libdwarf/dwarf_abbrev.h modified: src/lib/libdwarf/dwarf_alloc.h modified: src/lib/libdwarf/dwarf_arange.h modified: src/lib/libdwarf/dwarf_base_types.h modified: src/lib/libdwarf/dwarf_debugaddr.h modified: src/lib/libdwarf/dwarf_debuglink.h modified: src/lib/libdwarf/dwarf_debugnames.h modified: src/lib/libdwarf/dwarf_die_deliv.h modified: src/lib/libdwarf/dwarf_dsc.h modified: src/lib/libdwarf/dwarf_elf_access.h modified: src/lib/libdwarf/dwarf_elf_defines.h modified: src/lib/libdwarf/dwarf_elf_rel_detector.h modified: src/lib/libdwarf/dwarf_elfstructs.h modified: src/lib/libdwarf/dwarf_errmsg_list.h modified: src/lib/libdwarf/dwarf_error.h modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_gdbindex.h modified: src/lib/libdwarf/dwarf_global.h modified: src/lib/libdwarf/dwarf_gnu_index.h modified: src/lib/libdwarf/dwarf_harmless.h modified: src/lib/libdwarf/dwarf_line.h modified: src/lib/libdwarf/dwarf_loc.h modified: src/lib/libdwarf/dwarf_machoread.h modified: src/lib/libdwarf/dwarf_macro5.h modified: src/lib/libdwarf/dwarf_memcpy_swap.h modified: src/lib/libdwarf/dwarf_object_detector.h modified: src/lib/libdwarf/dwarf_object_read_common.h modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_pe_descr.h modified: src/lib/libdwarf/dwarf_peread.h modified: src/lib/libdwarf/dwarf_reading.h modified: src/lib/libdwarf/dwarf_rnglists.h modified: src/lib/libdwarf/dwarf_safe_strcpy.h modified: src/lib/libdwarf/dwarf_str_offsets.h modified: src/lib/libdwarf/dwarf_string.h modified: src/lib/libdwarf/dwarf_tied_decls.h modified: src/lib/libdwarf/dwarf_tsearch.h modified: src/lib/libdwarf/dwarf_util.h modified: src/lib/libdwarf/dwarf_xu_index.h modified: src/lib/libdwarf/libdwarf.h modified: src/lib/libdwarf/libdwarf_private.h 2023-05-10: David Anderson commit 87dd57f28467d4ccdb143c4ebb26fda9a4a41cfb Documenting the fix to DW202305-002, oss fuzz58797 modified: bugxml/data.txt 2023-05-10: David Anderson commit eeb935200f78b8509e6b1837f6825b9d551b9f7d Fixing DW202305-002, oss-fuzz 58797, the Yesterday's fix was incomplete. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-05-10: David Anderson commit a8745ec7679fcf641f34e79c02a90950f1f98586 Changed yesterday. Up to date. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-05-09: David Anderson commit 8ef9846dbb0cde913f14cc20b6a44095fb88956c Now with gitfixid for oss-fuzz issue 58769, DW202305-001 modified: bugxml/data.txt 2023-05-09: David Anderson commit 8337c03894048eb91061a4ae4e0f82ec7492b930 Added gitfixid for oss-fuzz issue 58769, DW202305-001 modified: bugxml/data.txt 2023-05-09: David Anderson commit edc241bd0bf22c94d2d496f3cb761e60f066cd14 Describing oss-fuzz issue 58769, DW202305-001 modified: bugxml/data.txt Small rearangement of dwarf_elf* headers. New function IssueExpError() modified: src/lib/libdwarf/dwarf_elf_load_headers.c Detecting corrupt data relevant to oss-fuzz issue 58769, DW202305-001 modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-05-09: David Anderson commit c3832862d3d64c7134e7b9570a6e2c6abbec375d For msys2 autotools, restore make distcheck modified: test.yml 2023-05-09: David Anderson commit 9811823aa74d91d04630ae7a7aab7e527278f084 Restore the make distcheck modified: msys2_autotools.yml 2023-05-09: David Anderson commit 4711f6d6fb2d220f55608ce615d9571ec7269264 Add a rm -f of something created by Windows msys2 named test_setupsections.exe.manifest modified: test/Makefile.am 2023-05-08: David Anderson commit f3b9197e7bb0d00592d0d75065afcc2b0875a8ad Small change to msys2 autotools invocation to avoid a new warning modified: ../../configure.ac 2023-05-08: David Anderson commit c952fc6bdb23f2835bd5a4d9747ed2b5518a05ee Testing a change. modified: .github/workflows/msys2_autotools.yml 2023-05-06: David Anderson commit c80b10bbcd42a1a7e6bf656b2a3850e7d6c10d65 comment out msys2 autotools while we figure out whay test/test_setupsections.exe.manifest is left after distclean. modified: test.yml 2023-05-06: David Anderson commit 863e4a15cec5083714aff4ff109ccb90b165a2ba For testing outside of the ci do-all test. new file: .github/workflows/msys2_autotools.yml rm -f a couple temp files to be sure removed. modified: test/test_debuglink-a.sh rm -f a couple temp files to be sure removed. modified: test/test_debuglink-b.sh 2023-05-06: David Anderson commit 2efdc4fe1f79edb2edf7e98d2736ff50a997af46 Toward msys2 build in workflow modified: test/Makefile.am 2023-05-06: David Anderson commit a0661718cc633dfaf15c58df7ec5c9c96ebbb836 Issues with the Makefile , hopefully all fixed. modified: test/Makefile.am 2023-05-06: David Anderson commit b7bef5a3dd3389def940b8093bc974913620485c Added a .h in safestrcpy rule modified: test/Makefile.am 2023-05-06: David Anderson commit f7da67867e77ab767920ec1ec98d32ee055ff70d Now with a better explanation of why we split out dwarf_setup_sections.[ch] modified: ChangeLog 2023-05-06: David Anderson commit 4b2691baaeb2c98d733d887fa59b6b9ea2ab0314 Updates from git log modified: ChangeLog 2023-05-06: David Anderson commit a61867ee941ccfb5013e657b5c4a1f833bdeef47 Added tests to the test code. modified: test/test_setupsections.c 2023-05-05: David Anderson commit c8c4b48f85141646f751be145e4cd9a66cddedcf Now run the new test_setupsections test. modified: test/CMakeLists.txt modified: test/meson.build Fix code mistakes, set standard iteration count to 1. modified: test/test_setupsections.c 2023-05-05: David Anderson commit 47ef977174b17be9689951c44f0db9422a673a10 Testing the setupsections code. Iterating this version loop 3Mn times with the --count option taks about 3 seconds (default is much smaller) modified: test/Makefile.am new file: test/test_setupsections.c 2023-05-04: David Anderson commit 8312a88d5ed57f879ed6440a4df9e328db997d0c Removing the #if 0 code that is now in dwarf_setup_sections.c modified: src/lib/libdwarf/dwarf_init_finish.c 2023-05-04: David Anderson commit 40b7167da97544bdcf5a08050c90a1418cb3fbe6 Now supports the refactoring adding dwarf_setup_sections.c and .h for cmake & meson. modified: src/lib/libdwarf/CMakeLists.txt modified: src/lib/libdwarf/meson.build 2023-05-04: David Anderson commit 162803c76d46a163403d12ca47a3a939d9fa8c04 Refactored the setting up of section records into dwarf_setup_sections.c (moved from dwarf_init_finish.c) so we can get a timing baseline of what _dwarf_enter_section_in_de_debug_sections_array does and (in due course) replace its code with something faster and with much less code. modified: src/lib/libdwarf/Makefile.am modified: src/lib/libdwarf/dwarf_init_finish.c new file: src/lib/libdwarf/dwarf_setup_sections.c new file: src/lib/libdwarf/dwarf_setup_sections.h 2023-05-03: David Anderson commit 81e5968d506aa50562aa3df64783f030d9e316cc Modified ts_entry which saves 8 bytes that were pointlessly wasted (counting padding no longer needed). modified: src/bin/dwarfdump/dd_tsearchbal.c 2023-05-03: David Anderson commit 2ae7b691cce0f99f1542cf3d32d565b76a98bf6f Split one line into two to avoid too-long line. modified: src/lib/libdwarf/dwarf_frame.c Remove trailing whitespace. Remove leading/trailing blank lines. modified: src/lib/libdwarf/dwarf_elfread.h modified: src/lib/libdwarf/dwarf_errmsg_list.h modified: src/lib/libdwarf/dwarf_line.h modified: src/lib/libdwarf/dwarf_secname_ck.h removed include stdio.h, was for debug only. modified: src/lib/libdwarf/dwarf_secname_ck.c 2023-05-03: David Anderson commit a6809f258fdd57d928daf7865bcc29cbc84522b8 Now checks that DW_AT_abstract_origin with DW_FORM_ref_addr refers to a valid DIE in .debug_info modified: src/bin/dwarfdump/print_die.c 2023-05-02: David Anderson commit c779d667f7fc7c66cae371a1a9ae0bd780a8393b Up to date with git log modified: ChangeLog 2023-05-02: David Anderson commit 685372749ce431fd5ba3b2fddfa7d0306b3c8a7f Now the list of section names to ignore is handled with binary search, so cutting search time approximately in half. modified: src/lib/libdwarf/dwarf_secname_ck.c 2023-05-02: David Anderson commit dd6093f5efbd57dbd2e8e2441093067e4313d9e2 Now all the builds use the new source file, and the self tests all test the revised function. modified: src/lib/libdwarf/CMakeLists.txt modified: src/lib/libdwarf/Makefile.am modified: src/lib/libdwarf/meson.build modified: test/CMakeLists.txt modified: test/Makefile.am modified: test/meson.build 2023-05-02: David Anderson commit 394b353a25a0e3ecbe4b6bd21fa3d02d3798b772 Now include dwarf_secname_ck.h to get the moved functions. modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_init_finish.c Removed _dwarf_ignorethissection() prototype from here. modified: src/lib/libdwarf/dwarf_opaque.h Factored out _dwarf_startswith and _dwarf_ignorethissection for simpler testing and smaller code. Shortly performance will be improved too, since the refactoring makes that easy.. new file: src/lib/libdwarf/dwarf_secname_ck.c new file: src/lib/libdwarf/dwarf_secname_ck.h New test code for the factored out functions. new file: test/test_ignoresec.c 2023-05-02: David Anderson commit 7432b7a9b1909cffca34fbace217bcbfc4d9bd45 Function definition had initial left brace in the wrong place. modified: dwarf_init_finish.c 2023-05-02: David Anderson commit 9e051d9f696244c3e794f2890778b29457bcfead Adding new DW_LANG attribute names (new in DWARF6, public on dwarfstd.org now). modified: dwarf_names.c 2023-05-01: David Anderson commit aa97b2bc34eaeea619df6c39f93b4e190d93b1d6 One new line of code (prevous commit) had incorrect indentation. Fixed. No logic change. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-05-01: David Anderson commit e41c8ead4db5bd6864354820d6b4cdd03119ae11 Latest change. Related to section groups. modified: ChangeLog 2023-05-01: David Anderson commit a0872b2f09d2f9b034a8e8a1dd43a204ebbc2233 Minor update of the date (May now, not April). modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-05-01: David Anderson commit 6c667ab643f4a78d153b58bc3690047d9fca2f09 This fixes a problem due to the way one user creates group sections for .text as an aid to LTO (link time optimization), which pointlessly cause libdwarf to issue an error. Pointless because libdwarf pays no attention to the sections causing an error, so we should ignore them in section groups too. In read_gs_section_group() use _dwarf_ignorethissection to avoid putting section group entries with the unwanted names in any group. modified: src/lib/libdwarf/dwarf_elf_load_headers.c Changing _dwarf_ignorethissection() to use startswith() instead of strcmp() in looking for text etc that libdwarf is not interested in. modified: src/lib/libdwarf/dwarf_init_finish.c 2023-04-27: David Anderson commit 1f84190bf84c68ac6d80d31a4e0b562659d4faf4 Added OSSF Best Practices badge. modified: README modified: README.md 2023-04-27: David Anderson commit 545322e1897bbc15fa8f26943802b34c41f81274 Corrected the section on reading an object with no file present (the section index is now Dwarf_Unsigned per Changes after 0.6.0) modified: doc/libdwarf.dox Regenerated. modified: doc/libdwarf.pdf 2023-04-27: David Anderson commit da679e0148d04643dfc713f320272cd3dbdc6b40 Up to date with git log modified: ChangeLog 2023-04-27: David Anderson commit 055d0301be97d107c4098f65b1958f15ace25cfc Updated to today date. Changed dwarfstd.org link from http to https. modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-04-27: David Anderson commit caa2ad7b9a4fbd6ec0c24518f6ff8342658bd971 Now documents the testing needed for contributions. modified: CONTRIBUTING.md 2023-04-25: David Anderson commit d1719d5c76d9bf19d69ec940ab92ffbac763e70f Now up to date with git log modified: ChangeLog 2023-04-25: David Anderson commit 1cac955c5388e56f729184e1888e5aa69c207f2c Now an earlier detection of some corrupt Elf headers. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-04-21: David Anderson commit 3d624ee882713938564ea30fc35683da418992ee Now up to date with git log. modified: ChangeLog 2023-04-21: David Anderson commit b355024686bbc963f5bef9c09fb5f9470de3ae0d Additional small modifications to extended elf section counts, correcting earlier approximations. Hopefully all now correct. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-04-20: David Anderson commit 8cbcf36da07d2f245af4bdc2a63f7e24552069c2 The correct new spelling is DW_LANG_Assembly (not Assembler). modified: dwarf.h 2023-04-20: Mateusz Janda commit afb87c6d9f6f25bc652a871ac3074098e1d226c8 Support for large number of section headers (#160) 2023-04-16: David Anderson commit 975430ca8c739f65aa6b458533cfb0e068d3d495 DW202303-006 and -012 were both assigned the same oss fuzz number, which was disguized another mistake. modified: data.txt modified: dwarfbug.html modified: dwarfbug.xml modified: dwarfbuglohi.html 2023-04-16: David Anderson commit 09d2ea27346d8cf6076ee65d29f9bcde40daa9d3 Now with latest DW_LANG codes assigned. modified: dwarf.h 2023-04-15: David Anderson commit 7d362787aba63d89857284169309acf612807034 Don't report in htmldoc.tar modified: .gitignore 2023-04-15: David Anderson commit e4f01daf0f1bdaaa718dec4fcccf8be759e2695a Don't report on bugxml/__pycache__ modified: .gitignore 2023-04-15: David Anderson commit 035db2b4f822d5395a10ab79279e6fbaa14d8087 Recent changes entered from git log modified: ChangeLog Corrected the git commit id for 58026 ossfuxx modified: bugxml/data.txt Regenerated: modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-15: David Anderson commit 27e06267b2931cdfbbaf46492f88a3f9040abb20 Changed a register variable from int (!) to Dwarf_Unsigned to match everywhere else. modified: src/lib/libdwarf/dwarf_frame.c Fixed doubled comment end to a single */ modified: src/lib/libdwarf/libdwarf.h 2023-04-15: David Anderson commit b4ac71c98292d7de32584358441dada59dff2944 Changed suggested email from libdwarf-list to libdwarf. modified: configure.ac 2023-04-15: David Anderson commit 9972bef26da3c43fcc3e2ecd6621c09930b3bd06 Minor text change. Modified the email address a little. modified: SECURITY.md 2023-04-15: David Anderson commit 558bee0286dd422871715511161477dab746f135 Documenting DW202304-004 ossfuzz 58026 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-15: David Anderson commit 76bf9444dfed876da987c2cfeac0d09dbe1a3fba Changed internal fields with register numbers into Dwarf_Unsigned. The previous use of Dwarf_Half lead to a failure to detect some corrupt register numbers read from DWARF. Leading to a segmentation violation in libdwarf. DW202304-004 ossfuzz 58026 The bugs the test object exposed have been present for over 25 years. modified: src/lib/libdwarf/dwarf_frame.c Changed register number data from Dwarf_Half to Dwarf_Unsigned. modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_opaque.h 2023-04-15: David Anderson commit 4f933efa3a73f09403910d7804fde4c9907de284 Added doxygen comments pointing out where two public structs show register number as 16 bits unsigned, restricting the number of registers that can be handled to that (currently reasonable) limit. modified: src/lib/libdwarf/libdwarf.h 2023-04-15: David Anderson commit 1c8ad2fbbcecec257cbd8852bfa34af30a28752f Added a comment documenting that the code can leak memory as in case of certain errors found in corrupt dwarf it immiately exit()s and does not call dwarf_finish(). Arranged that in case of some errors the code prints the error name, not the error number. modified: fuzz/fuzz_set_frame_all.c 2023-04-12: David Anderson commit 9f7b5cfc844fa1e462b86c42419e7d191fc9dcc0 Made three names bold (relating to frame registers). modified: doc/libdwarf.dox 2023-04-12: David Anderson commit b87cf166362e21a575b2cccd0bc155977b514c9b Removed redundant -W entries. modified: configure.ac 2023-04-12: David Anderson commit f69bc261e4ccf6ff60741d3743ee96b697f1d4cc Merge: a6ea699c e8aa1e4b Merge branch 'main' of https://github.com/davea42/libdwarf-code renameing branch did this. 2023-04-12: David Anderson commit a6ea699ca78c04aa88a8ff3fe5c5a498d6693d07 Removing set-not-used local variable modified: src/lib/libdwarf/dwarf_query.c 2023-04-12: David Anderson commit e8aa1e4bd25c3eeb1da20485a53462e7ac99b58d Update scorecards.yml Changing a comment to ref main instead of master 2023-04-11: David Anderson commit 40c63f7190267964e7443920a60f5826986df109 Latest git log messages now present here. modified: ChangeLog 2023-04-11: David Anderson commit 78da6f683a34052b5a3c0ea11cfe774fc7ec6e84 Made a small change to the description of DW202304-003. The test case was cleverly fuzzed to bypass some kinds of checks. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-11: David Anderson commit 4aa19e68e135a9124478254df398b60c9cc0cced New bug fix DW202304-003 oss fuzz 57887 modified: bugxml/data.txt Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-11: David Anderson commit aa7a80e8fcd473041dd319f1a9209af04aae1d6f Fixing trailing whitespace. Removing several comments like /* FIXME */ as they related to a past change and no longer need to be referenced. modified: src/lib/libdwarfdwarf_line.c 2023-04-11: David Anderson commit 426ed6faa6bae3274e3da93a3e33ddaf94037e3a Removing trailing whitespace. modified: dwarf_fission_to_cu.c 2023-04-11: David Anderson commit 2eac3737685eda19eb3ddcc0e386f901709510c1 Added commentary in _dwarf_get_addr_index_itself() as to why one cannot issue the error there in case of a bogus index into .debug_addr. Removed some trailing whitespace. modified: dwarf_form.c 2023-04-11: David Anderson commit 1729d9af3f690bece912ae0f625b312566d0ae25 DW202304-003 ossfuzz 57887 The fuzzed test case involved an index that was so close to wrapping around a 64bit unsigned that testing after doing arithmetic would fail to catch the error. Now doing much better checking in _dwarf_extract_address_from_debug_addr(). modified: dwarf_query.c 2023-04-11: David Anderson commit ce002f8e78c80a96997efa86db51ec0f38a04fda Up to date with git log now. modified: ChangeLog 2023-04-11: David Anderson commit 00f42432edf992246ad4e4a475a30808334820ab Correcting by adding omitted ossfuzz identifiers to ChangeLog (just a few cases missed) and ensuring that data.txt is correct. modified: ChangeLog modified: bugxml/data.txt 2023-04-10: David Anderson commit 480f858bd03bff4e64ee353c2d11c5b8ffa6ff4d Updated date, removed noise word 'simply' from several places, and cleaned up formatting of the Recent Changes section. now mentions the compatibility break due to 32bit section counts added to Elf requiring a library API change. modified: doc/libdwarf.dox 2023-04-09: David Anderson commit a0b23a465aa67a519a3d0fee6f2b035cc4aebac7 Updated DW202304-002 oss fuzz 57766 modified: bugxml/data.txt Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-09: David Anderson commit 761da806fc950c6b26c1763e8989a814e9b16a59 Fixing DW202304-002 oss fuzz 57766 A read off the end of the relevant (.debug_str_offsets) section. Using renamed fields related to str_offsets modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_fission_to_cu.c Add a new check for sanity in reading indexes to be used on str_offsets. Simplify and correct _dwarf_extract_string_offset_via_str_offsets() modified: src/lib/libdwarf/dwarf_form.c Revise the list of values used in str_offsets data for cu contexts. Document the fields better. Put the boolean markers next to what they relate to. Delete a useless boolean. modified: src/lib/libdwarf/dwarf_opaque.h Using renamed fields related to str_offsets modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_str_offsets.c 2023-04-09: David Anderson commit 77e8585029e71c296eca40a39cd1907256302cd1 Notes on a new bug number. More in a few minutes. modified: bugxml/data.txt 2023-04-07: David Anderson commit 6caff11db733e9d8bb2125a0edeac2ade65ef545 Documenting the new incompatibility forced by section counts > 16 bits. modified: doc/libdwarf.dox The incompatibilities are discussed here. Will affect those using dwarf_object_init_b(). modified: src/lib/libdwarf/libdwarf.h These are the changes to correctly read the 32bit section count e_shnum and e_shstrndx The 'man 5 elf' page gives the outline, but what linkers create is slightly different. Now we handle both documented and actual. modified: src/lib/libdwarf/dwarf_elf_load_headers.c All this is due to changing index section numbers from Dwarf_Half to Dwarf_Unsigned. modified: src/bin/dwarfexample/jitreader.c modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_elfread.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_machoread.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_peread.c 2023-04-07: David Anderson commit 02f451aed20dae9bdb4ed6267d561c6ca7a52f09 Bugs fixed by the commit shown next. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-06: David Anderson commit 91c8bffb6c8104ad3231ed040d77a30018e6c981 Adding DW202304-001 for oss fuzz 57711 with fix commit id.. modified: bugxml/data.txt 2023-04-06: David Anderson commit a53581496308f1a84fafde7de6e4eda91efa38b6 We no longer issue DWARF_CHECK messages on problems reading certain line table API functions. Unless we are using a relevant -k option. Only matters in three corrupted objects. Might change it back at some point. modified: src/bin/dwarfdump/print_lines.c 2023-04-06: David Anderson commit da0d1efbeddcff23c25704bd9672e98314928b19 Some lines printing DWARF_CHECK appeared when doing printing. Now they only appear when doing'checking. It has to do with line (table) details details suceeding or (in 3 test objects) failing. Now we don't print the DWARF_CHECK if printing. modified: src/lib/libdwarf/dwarf_line.c A fix to oss fuzz 57711. A problem present for many years. A crash due to a negative value in a line table Dwarf_Signed API. The stack trace shown was pretty crazy (a mess). Many places were having trouble checking bounds due to the historic choice of Dwarf_Signed in the API interfaces but Dwarf_Unsigned internally (as Dwarf_Unsigned is really the only sensible choice). So now we explicitly check for value < 0 (where that makes sense) so even with signed values we can do other checks without worrying about negative values. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-04-06: David Anderson commit 89ebcaffd9913e371b8f7e2afd72e097350067ab Dated April modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-04-06: David Anderson commit 8d08175af2b842e2994e2ffae1945273c23a1470 now the date prints as January 2023 instead of with a specific date and time. Makes it simpler in git not having change so frequently. modified: bugxml/readbugs.py 2023-04-06: David Anderson commit 5ac919ea71370bad448628900f4f75919b1654df Many local variables were used that had no initializer. function exampled(). While that may not have changed the output it is extremely bad proctice. And can easily lead to irreproducible results. Now all initialized to zero. No other change. modified: fuzz/fuzz_srcfiles.c 2023-04-06: David Anderson commit c6e362598b9cf78f9dc8c07e8f2e1341b84522fd Adding two new error codes for line table errors/corruption. DW_DLE_LINE_INDEX_WRONG index into line table corrupt DW_DLE_LINE_COUNT_WRONG count in line table corrupt modified: dwarf_errmsg_list.h modified: libdwarf.h 2023-04-06: David Anderson commit 60b324de009df07ca34e47b60d3d5e18fa3b07ac Removed the union defined here, the struct member of the union is retained. References to the struct are shorter now. The union was created to support IRIX rqs (not described here) and that support has been irrelevant for 25 years. modified: dwarf_line.h 2023-04-05: David Anderson commit 6c4e9c043f9a50626f940b5372ad6116cd3c351c Regenerated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-04-05: David Anderson commit 4bb3aaed068e4f9e1ef972a041238d6942131e87 generated from latest bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-04-05: David Anderson commit 4cac4e5031ef3131055bd24c15b51383a6208d4d Remove trailing whitespace and fix indents. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-04-05: David Anderson commit 28ddb555edd1c4639b843381039824fb04025911 Now correctly reads the rare Elf object files that need more sections than fit in a 16 bit section count. See 'man 5 elf' for details (at least on modern Linux) on how this works. modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_elfread.h 2023-04-05: David Anderson commit ac7e8b7b5ee25a37448ba4d374f62110702ab059 Refined a comment about Elf sections. modified: src/lib/libdwarf/libdwarf.h 2023-04-01: David Anderson commit db71f9b6841053057394db9472c7cfc0681a7eeb New bug fix modified: bugxml/data.txt 2023-04-01: David Anderson commit 21b076f652992c03f145f6edeb623918e17693f8 Fix ossfuzz 57562. DW202303-59 a corrupt DW_AT_sibling value (in a fuzzed object) resulted in an infinite loop in a normal calling program looking for sibling DIEs. modified: src/lib/libdwarf/dwarf_die_deliv.c 2023-03-30: David Anderson commit fa14b64ae7d3ed79d872475a3936a275f135bf9c Latest dwarfbug data modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-30: David Anderson commit 9977c2912fa84b5a9b883baf4db311da447e5e50 Removed the only (DW_DLV_NO_ENTRY) instance, using DW_DLV_NO_ENTRY itself (it is in a comment). modified: src/lib/libdwarf/dwarf_die_deliv.c 2023-03-30: David Anderson commit b5173ffefaa1bbbcf400819e1f8e4356486d3f16 Changed (DW_DLV_ERROR) to DW_DLV_ERROR everywhere. It looks better now. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-03-30: David Anderson commit 33813299bdb67d00ef994929ef2e849a92bcdcac 75527 -> 57527. fixed typo. modified: bugxml/data.txt 2023-03-30: David Anderson commit d9a1fccce9940812f60fd1e9f5a8f557d92a7a0b Just added a note on the 57527 code change modified: ChangeLog 2023-03-30: David Anderson commit f0dc381cad6c0ed62e3a41de8f796bc8c6a5009a Added new bug fix modified: ChangeLog 2023-03-30: David Anderson commit a2f248569cd52d6955f160fd5f153c9afe8ec945 Added DW202303-058 ossfuzz 57537 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-30: David Anderson commit 36e4063ade31c9ea6ea5df973d2045b36877885b ossfuzz 57527. A .debug_line section truncated to just the right point (in a certain 12 byte area) in a line table header causes an memory reference outside any correct data. This has been true for many years. Now we check before looking at memory. In addition a few _dwarf_error() now use _dwarf_error_string() so some possibly-useful information can be reported by library callers. Also deleted 4 lines of dead code (was repeating a test done a few lines above). modified: src/lib/libdwarf/dwarf_line_table_reader_common.h Also changed a few return (DW_DLV_ERROR); to return DW_DLV_ERROR; with no useless parentheses. 2023-03-30: David Anderson commit 4eb65e7aabd5343956768cc9b7c4f7f04f4cbea5 Identifying 2GB read limit as vulnerability. modified: data.txt modified: dwarfbug.html modified: dwarfbug.xml modified: dwarfbuglohi.html 2023-03-29: David Anderson commit 025f6bcdb3ed51606d73f4bb4c5cfb7e7066f336 Updated from git log modified: ChangeLog 2023-03-29: David Anderson commit 5c153615e4e0c610bd6e541fcf74523654ebd90c Added DW202303-056 for oss fuzz 57516 modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-29: David Anderson commit 5dc3de5ce70331692a2700b218fb79e0d4d81c23 Fixing DW202303-055 ossfuzz id: 57516 The abbrev section showed DW_FORM_implicit_const after fuzzing the test object yet there was no implicit const in the original and no implicit const value to access. Resulted in an attempt to index off a non-existent array. library crash. Now we issue an error. modified: src/lib/libdwarf/dwarf_query.c 2023-03-29: David Anderson commit 0e3ff723b6d6eec263db0cee6162393c011e4b5d Removed an if and related as the following if was sufficient all by itself. modified: src/lib/libdwarf/dwarf_die_deliv.c I case dwarf_get_xu_hash_entry is passed a dw_index which is out of range return DW_DLV_NO_ENTRY instead of an error. Fix the test of Dwarf_Unsigned vs Dwarf_Sig8 size, and if the sizes don't match actually return DW_DLV_ERROR (the return was missing!) Peculiar testcase behavior running on 32bit FreeBSD revealed the coding error. modified: src/lib/libdwarf/dwarf_xu_index.c In doxygen comments document the behavior of dwarf_get_xu_hash_entry with a too-large dw_index. modified: src/lib/libdwarf/libdwarf.h 2023-03-29: David Anderson commit ae22edab4dfddf3b22f966df38c4a7da2417ebac Bringing up to date with git log. modified: ChangeLog 2023-03-29: David Anderson commit d5d5d919743b9a7920a0686eef12046ae336d1a1 Filling in datefixed: and gitfixid: with best current guess in a couple of old entries. modified: data.txt 2023-03-28: David Anderson commit e5ca7fef6d6680b251dcd7d4fbbfc140b8cfb5b1 Remove trailing whitespace. Fix indents. modified: src/lib/libdwarf/dwarf_debugaddr.c modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_elfread.c modified: src/lib/libdwarf/dwarf_find_sigref.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_gdbindex.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_line_table_reader_common.h modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_str_offsets.h modified: src/lib/libdwarf/dwarf_xu_index.c 2023-03-28: David Anderson commit 45be14751e65fe7f2a26d0258edf7663a2136e0f Remove trailing whitespace. Fix indents. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_dwconf.c modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_gdbindex.c modified: src/bin/dwarfdump/print_lines.c modified: src/bin/dwarfdump/print_macro.c 2023-03-28: David Anderson commit 711416fd385ac28921e43beb759777d7d685c302 Removed all mention of macro checksize(), it was already an empty macro. modified: dd_regex.c 2023-03-28: David Anderson commit 3addc636fe5fa0b47a58ca90e848df1aada25dde Deleting a single line with declaring an unused local variable. modified: dwarf_rnglists.c 2023-03-28: David Anderson commit f8032529c9deb4dd15d80325c6f2e6cb8c5fa6f5 All these had free(errp) which here is harmless as errp is null, but whether a Dwarf_Error * is null or not free() on it is never appropriate, and if not-null the free is very wrong. modified: fuzz_die_cu_offset.c modified: fuzz_die_cu_print.c modified: fuzz_showsectgrp.c 2023-03-28: David Anderson commit 541b15c1ec2e01396f36d389bc9fe98da48ecb55 Fixed typo. modified: ChangeLog Now with all known bugs covered & fixed. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-28: David Anderson commit 39a1abd35cba15967b96fb22b71b54870c312195 ChangeLog up to date. modified: ChangeLog Latest bug content modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-28: David Anderson commit 29a27cc5df622674fe14d3bc9b43cfe663db6da3 Completed notes on ossfuzz 57442 DW2023-052 modified: bugxml/data.txt 2023-03-28: David Anderson commit 271b9b8367a8151fcd98723d73382ec56f05c810 Fixes ossfuzz 57443 DW202303-053 Fixes ossfuzz 57442 DW202303-052 Checks more carefully for a corrupted rnglists header. modified: src/lib/libdwarf/dwarf_rnglists.c 2023-03-28: David Anderson commit 2b19bc239f3cedd1b2461e4265d90633277ce704 ossfuzz 57485 Fixing a mistake in this test source, which was doing a free() that is documented as inappropriate.. modified: fuzz/fuzz_die_cu_attrs.c 2023-03-28: David Anderson commit 8bf96199a0e130483cceca6bfacfbe4127441ab1 Previous version was wrong for large sections. This version with the read loop tested is working. modified: src/lib/libdwarf/dwarf_elfread.c 2023-03-28: David Anderson commit 506d2d3a1b2de05095cca4b6754c47f41a0cfd45 Broke the read of object sections into pieces < 2GB in size. Necessary due to Linux read() size limit (in the kernel). modified: src/lib/libdwarf/dwarf_elfread.c 2023-03-28: David Anderson commit 76bc7743752724be5b87a4da3f0d2242e6a0be50 Now known bug reports all listed, some with no fixes yet. modified: bugxml/data.txt 2023-03-28: David Anderson commit e1b613af80a6e09140f018e983d16cb1a0e5af07 Coverity Scan discovered issues. All are fixed with these changes. A loop looking for invalid .conf files was kind of doing the wrong thing. So it had dead code. Now doing the right thing and passes modified: src/bin/dwarfdump/dd_dwconf.c Deleted dead code (constand propagation in Coverity found it) and replaced with a comment saying there is no need to check the offset-size. modified: src/lib/libdwarf/dwarf_gnu_index.c More dead code. Removed it. modified: src/lib/libdwarf/dwarf_rnglists.c 2023-03-27: David Anderson commit 51617feed280703a409b91396fc291208693b410 The fuzz/* files have to be in a distribution for testing to fully work. So now they are. modified: Makefile.am modified: configure.ac new file: fuzz/Makefile.am new file: fuzz/README.md 2023-03-27: David Anderson commit e0e732929c36887e4cea82e38fab075786cdf320 Had an accidental c99 declaration mixed with code. modified: src/bin/dwarfdump/dd_command_options.c Had an accidental c99 declaration mixed with code, but here it was just a stray extra ; in a list of declarations. modified: src/lib/libdwarf/dwarf_str_offsets.c 2023-03-27: David Anderson commit 72087846050cb22d0b241a1aefd6fe057ad0ee9a Remove build on push. This is only for emergency testing of changes in brew or mac setup modified: mac_meson.yml 2023-03-27: David Anderson commit 75f5b429bfd8558bde047b6286e3ea9e013fdecf using --overwrite on mac_autotools now modified: test.yml 2023-03-27: David Anderson commit f00c2a86398b653a639d8116669e24b46f5e0e6d A test on its own of mac autotools modified: mac_autotools.yml 2023-03-27: David Anderson commit e6e586971d04da33031743c8c88dd659381493ef Another odd mod to get macos_meson to build. modified: test.yml 2023-03-27: David Anderson commit f43538102e793386352ae4368b781cb62d8504c5 For a test. pkgconf problem. modified: mac_meson.yml 2023-03-27: David Anderson commit c25a14c3fd5522aff0b1d2a77d7ee66b7c529779 ossfuzz 57437 ossfuzz 57443 Unused local variables removed. modified: src/lib/libdwarf/dwarf_gdbindex.c A free() was duplicated, Windows compiler noticed. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-03-27: David Anderson commit cfe5c2dfac0d4eca22cf450db770fdba2bacdd38 Another unused arg not reported by local compilers. Removed argument. modified: print_debug_gnu.c 2023-03-27: David Anderson commit 61d50244ca20877638ae5ca1c453f5066198c6d4 The compiler used in workflows noticed an unused argument that is not noticed in local builds. This removes that unused argument in _dwarf_read_str_offsets_header(). modified: ../../src/lib/libdwarf/dwarf_fission_to_cu.c modified: ../../src/lib/libdwarf/dwarf_str_offsets.c modified: ../../src/lib/libdwarf/dwarf_str_offsets.h 2023-03-27: David Anderson commit dbc0c3fff2a066bf422d655188cacc9fe0194900 Fixing the DW_DLE count modified: ../../lib/libdwarf/libdwarf.h We now have to have more #include and declarge a glflags instance explicitly here since we updated dd_regex.c. modified: ../../../test/test_regex.c 2023-03-27: David Anderson commit d202f85d6e9f83d25cbb6287a0d55973cf86b923 latest modified: ChangeLog 2023-03-27: David Anderson commit 054de66aec29f3ed67c14b675b9e0981004cdd27 Now shows several new bug reports. modified: bugxml/dwarfbug.html 2023-03-27: David Anderson commit 920f292fe6437fa69e6f973cfcb023a5d070383b Now the warning about odd address size no longer repeats. Happens just once, not every time detected. Once suffices. modified: src/bin/dwarfdump/print_die.c 2023-03-27: David Anderson commit 33144113e7dceab8c087b370308bef4b872e6bf4 Previous commit was flawed. This is much better and clearer. And indents/trailingwhitespace fixed. modified: src/bin/dwarfdump/dd_regex.c 2023-03-26: David Anderson commit dbacdce5f28b28ec468f1c6b252d4cd6ca3ca443 Fixes a number of warnings about unused and set but not used. modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/dwarf_xu_index.c 2023-03-26: David Anderson commit 3f497b52a5216f107e5d8bf01102d996d82b9f55 Fixed a mistaken change for -h modified: src/bin/dwarfdump/dd_command_options.c Fixing a misplaced #endif modified: src/bin/dwarfdump/dd_regex.c Improving an error message modified: src/bin/dwarfdump/dwarfdump.c 2023-03-26: David Anderson commit b8d7a93053aa178c8c95dbcc0a514e4766447e5d Added test file name modified: bugxml/data.txt 2023-03-26: David Anderson commit 11e1bb2dd0d05fde888e5a7ad336b96354c1ef18 this had a mistake which somehow still compiled for me. The isinset() macro was not visible during the compile modified: src/bin/dwarfdump/dd_regex.c 2023-03-26: David Anderson commit 0d02f951643bc3b75300b27ff796f83dd6befe86 The declaration/definition Dwarf_Die die; was both uninitialized and unused. Removed it. modified: fuzz/fuzz_die_cu.c 2023-03-26: David Anderson commit c3280f61a5fd2cb792ad36160cf1c11b1950c37d Unfixed ossfuzz bugs noted. modified: data.txt 2023-03-26: David Anderson commit 07573fe97064ebf1d9b36269aa1219f4728225f0 With all recent fixes. modified: bugxml/data.txt 2023-03-26: David Anderson commit b21f40a9047e288e931b2b15729965a7dd2529e8 Printing -h usage data failed do to a change yesterday. Fixed modified: src/bin/dwarfdump/dd_command_options.c 2023-03-26: David Anderson commit 24f5697aecd77092de20f0f7e7d91fbc1f2b3da0 In new error cases we could fail to close a FILE stream, resulting in a memory leak from fopen. DW202303-048 modified: src/bin/dwarfdump/dd_dwconf.c 2023-03-26: David Anderson commit df64db4740f1b480e602b1112107d51f0d269828 DW202303-047. This eliminates the double free. modified: src/bin/dwarfdump/dwarfdump.c 2023-03-26: David Anderson commit 9eac0c8bbae3fadb2be3d5ee15b9c44f42d2f966 Fixes DW202303-045. We were not checking for ASCII and not ensuring that if the regex compile failed we ignored regex processing. The restriction that the regex search pattern may only include the ASCII subset of utf-8 is now enforced and ERRORs result if it is violated. (At the present time: this is a limitation of the existing code) modified: dd_command_options.c modified: dd_regex.c 2023-03-25: David Anderson commit 8d5319d90610c4cc38c08ba2c8e64a3dba4a6761 Now with DW202303-045 filled in. modified: bugxml/data.txt 2023-03-25: David Anderson commit b2e5a6288e268c80a36ffeb1f6fb369d0a92a559 Now all ERROR messages show up in the count at the end of dwarfdump output. modified: src/bin/dwarfdump/dd_regex.c 2023-03-25: David Anderson commit c3c9dfb666bb668377e0d3a16813d24c367e4667 Corrected spelling in an error message. src/bin/dwarfdump modified: dd_regex.c 2023-03-25: David Anderson commit bb8fab9e5e4e40b1268b31d90882c2ab93653eaf DW202303-045 Now stops compiling regex and issues an error if the string (or rather the nfa for the string) is too long. modified: src/bin/dwarfdump/dd_regex.c 2023-03-25: David Anderson commit 69f13a2106201145939a68ed662c0c9e4b54579f Now DW202303-044 is complete. modified: bugxml/data.txt Regenerated: modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-25: David Anderson commit 3269f43d2a044bfcce71d30ce214a305473d1ea3 Fixes DW202303-044 With that lone backslash in --search-regex=\\ (or any pattern ending in backslash) The regex compiler incremented p by one and then dereferenced and stored the resulting value. But if the dereference gave 0 (the NULL byte) this resulted in unpredictable, but bad, effects since unknown bytes after the pattern string would then be referenced as part of the pattern. Now we notice the improper NUL and issue an error. modified: src/bin/dwarfdump/dd_regex.c 2023-03-25: David Anderson commit 4a8a201cdb3408a2cfdc2946418b51b884140a2c Fixing DW202303-042, the code did not return from traverse_die() on receiving an error from libdwarf. Fixed. modified: src/bin/dwarfdump/print_die.c 2023-03-25: David Anderson commit bbc9b05ef89a6cd92ad167ad0f16d8eaea946879 Documented DW202303-040 (on dwarfdump). modified: data.txt 2023-03-25: David Anderson commit fd92b647e5e3a524be94b3b06c9efd14a8292946 DW202303-040. Fixes crashes due to bad handling of options like --file-abi= modified: src/bin/dwarfdump/dd_command_options.c 2023-03-25: David Anderson commit cb8dd45770f2e1f440aab60adac0256f268fc16e Fixes DW202303-010 by dealing with a corrupted dwarfdump.conf file.. src/bin/dwarfdump: modified: dd_dwconf.c Minor message change to be a tiny bit more accurate if dwarfdump cannot open an object file. src/bin/dwarfdump: modified: dwarfdump.c 2023-03-24: David Anderson commit 06a34f2ecc42078f92883be5124c988010ed3013 Latest and current data modified: data.txt modified: dwarfbug.html modified: dwarfbug.xml modified: dwarfbuglohi.html no actual change. modified: readbugs.py 2023-03-24: David Anderson commit 216840b5e441dda5352037aaeac023182a577107 Now with all the (known) oss fuzz bugs fixed. modified: bugxml/data.txt regenerated modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-03-24: David Anderson commit e4053c9a0f25db0bed28372d9b77a50a0307dc10 oss fuzz 57335. oss fuzz 57463. The test case is kind of pushing the bounds here. modified: bugxml/data.txt Added a comment, the call will fail as written. But now there will be no library crash. modified: fuzz/fuzz_die_cu_attrs.c Added a new error, DW_DLE_INVALID_NULL_ARGUMENT(498) modified: src/lib/libdwarf/dwarf_errmsg_list.h Now returns DW_DLV_ERROR if dw_return_bool is passed in as NULL. modified: src/lib/libdwarf/dwarf_form.c Added a new error, DW_DLE_INVALID_NULL_ARGUMENT(498) Documented the dw_return_bool pointer to dwarf_hasform() more completely. modified: src/lib/libdwarf/libdwarf.h 2023-03-24: David Anderson commit 0e8fafd578695235cdd8cc8857eae22d64f940fb Another libdwarf fix defined. modified: bugxml/data.txt 2023-03-24: David Anderson commit 8b6fcfb5cb38ee491ea0973b7699fb7d2c3e080f More of the oss fuzz covered by reports now. modified: bugxml/data.txt 2023-03-24: David Anderson commit 7165918c8594061c3f5ba7dd4df7c4555c68ec78 Fixes ossfuzz 57149. Fixes ossfuzz 57193. Fixes ossfuzz 57292. Fixes ossfuzz 57300. In find_cu_die_base_fields() we use _dwarf_internal_global_formref_b() in several additional places as all these need to constrain the search, not just one of thes base-fields. The bugs present since 2017 (DWARF5 released). modified: src/lib/libdwarf/dwarf_die_deliv.c 2023-03-24: David Anderson commit 873aa151d50e4b701f99a58b6cf07f0c5ea1d2af Added a sanity check before reading so if it's the check fails we get a more detailed message than otherwise. modified: src/lib/libdwarf/dwarf_xu_index.c 2023-03-24: David Anderson commit fcf906a3ab1e5488e818b7393fc06a20414b3a53 Latest vulnerability updates. bugxml/ modified: data.txt 2023-03-24: David Anderson commit 9253810b56ece5dd7722407aacf503e606c7338c Fixed oss fuzz 56895 modified: data.txt 2023-03-24: David Anderson commit 771cfcca1ef6a4a7eb9595d700fc72020d0ed72e Fixing ossfuzz 56895, reading past end of section of a Compilation Unit. the tests of such were not sufficiently precise to catch the error. This was a very old bug. modified: src/lib/libdwarf/dwarf_die_deliv.c 2023-03-24: David Anderson commit 81ee0849b77554d93805b79a59d3e0370b1fbe16 Now showing fix to ossfuzz 56807 and recording it in vulnerabilities. modified: ChangeLog 2023-03-24: David Anderson commit 484f50ef8be0506be2e4b5fbad489868db5c7985 Fixing oss fuzz 56807. Memory leak reading fuzzed object file. This is a very old bug. Only seen with a fuzzed object file. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-03-23: David Anderson commit 0c92ef5b66c5bbcacae03fbf355b12713151c098 Fixes oss fuzz 57107. The infinite loop was caused by letting internal function _dwarf_find_CU_Context_given_sig() unconditionally do too much in the middle of setting up a CU_Context (by letting it start more CU_contexts(). The implicit infinite loop has been there a few years, depending on the correctness of object files DWARF4/DWARF5 being read. Calls new internal _dwarf_internal_global_formref_b() (which is also called by dwarf_global_formref_b() with its specific new argument at zero) So for internal-library-use we can make modified: src/lib/libdwarf/dwarf_die_deliv.c Introduced a new function _dwarf_internal_find_die_given_sig8() with a new argument and now API function dwarf_find_die_given_sig8() just calls the new function with a specific value (0) of the new argument for the general case. Added a #if 0 dump_bytes() local function for debugging of Sig8 values. Added a new argument to _dwarf_find_CU_Context_given_sig() so it can properly decide whether it should create new CU_Contexts or not. modified: src/lib/libdwarf/dwarf_find_sigref.c file-static find_sig8_target_as_global_offset() added the new argument to help fix the infinite loop. Implements the new _dwarf_internal_global_formref_b() modified: src/lib/libdwarf/dwarf_form.c The new internal functions declared here. modified: src/lib/libdwarf/dwarf_opaque.h 2023-03-22: David Anderson commit 266e832df89ae4b4f6a9fad28c73a2777c07eec9 free(errp) is always wrong, removed it. Ensured on return from the LLVM fuzz interface always dwarf_finish() close() and unlink modified: fuzz/fuzz_die_cu_attrs_loclist.c 2023-03-22: David Anderson commit 774f98e596df9dd8f3cb92ec76243caaa4287039 Fixes ossfuzz 57027. Fixes ossfuzz 57048. Small code change, but massive difference. This has been wrong since dwarf_xu_index existed, which would have been after the DWARF5 standard was issued Feb 2017. modified: src/lib/libdwarf/dwarf_xu_index.c 2023-03-22: David Anderson commit 5fde5e404a98c6727889cf14d8f93ec2138a6fad oss fuzz 56993. One place in _dwarf_read_line_table_header() where there was an error (corrupt data) found the code failed to free(format_values). Fixed. This bug was years old. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h This has been wrong for quite a while, likely years. 2023-03-22: David Anderson commit b9393bb9b6399a34f8616a272d030bdd004a5ef5 Merge: 68089962 bd331ae7 ossfuzz 56897 ossfuzz 56906 ossfuzz 56958 Merge branch 'newrnglists' Merging several fixes reading debug_addr and debug_rnglists And fuzz/fuzz_rng.c too. 2023-03-22: David Anderson commit bd331ae7d839983efcc3bfbe3d656b781d45160c Removed an unnecessary struct gi_fileheader_s Revised the calculations of offfsets to work correctly. Added many checks for out-of-bounds offsets. modified: src/lib/libdwarf/dwarf_gdbindex.c 2023-03-22: David Anderson commit 48552f5f19c90dd2737cd4ee8e03a843ae23de82 Corrected the calculation of offsets in the raw-section reading code and changed to mostly use offsets. modified: src/lib/libdwarf/dwarf_rnglists.c 2023-03-22: David Anderson commit 4e8f26b857b5fe86557e344cd176c69462435c19 Corrected the calculation of the ending offset and added a useful comment. modified: src/lib/libdwarf/dwarf_debugaddr.c 2023-03-22: David Anderson commit f14ba8b4af34698b2fdbd76efc52ef96a9a91256 Removed the unused pointer gi_string_pool. modified: src/lib/libdwarf/dwarf_gdbindex.h 2023-03-22: David Anderson commit 5149a583a263a9a17e462e038d42c8e3f91c8469 Replaced an incorrect comment with a correct one. modified: src/bin/dwarfdump/print_gdbindex.c 2023-03-22: David Anderson commit ade1be5d2efacaa23fbda4b4c1f08fcb8c0b3e4b Every return from the *LLVM* function has to do certain housekeeping to avoid leaks (dwarf_finish(dbg) for example). Several here failed to do that. modified: fuzz/fuzz_rng.c 2023-03-21: David Anderson commit 680899627db6f05b8cf8d86272255563b6d81ebd Initialized local variables to follow the requirements of libdwarf. modified: fuzz_die_cu_attrs.c modified: fuzz_die_cu_offset.c 2023-03-21: David Anderson commit cc6e97128fe889b11cbc9542ad6d73a3bfcdf4a0 These have local Dwarf_Die pointers left uninitialized. That violates the requirements of the libdwarf API. Now set to 0 at declaration. modified: fuzz/fuzz_die_cu_attrs.c modified: fuzz/fuzz_die_cu_offset.c 2023-03-20: David Anderson commit 2ee326bad2b4286ca19a2d007d2bb0e77adcdcff Restoring the working dwarf_rnglists.c. My mistake having a new incomplete version visible. modified: dwarf_rnglists.c 2023-03-20: David Anderson commit fcbbee163bbdfbba7def899d3628b912649c724e Latest changes from git log modified: ChangeLog 2023-03-20: David Anderson commit 1ff4365bd64a4e4f9ab717b3f62589c2ba6637a5 ossfuzz id 56540. ossfuzz id 56487. ossfuzz id 56480. ossfuzz id 56497. These fixes are to the tests, not the library. Several had code that was going to crash due to mistakes in the test code itself. Removed all instances of free(errp) where errp is Dwarf_Error *errp as that is never necessary or appropriate. Any leftover allocations made in libdwarf and not 'dwarf_dealloc*' or documented as user-must-free data returned via pointers to the caller are automatically freed by dwarf_finish() unless there are libdwarf bugs. modified: fuzz_die_cu.c modified: fuzz_die_cu_attrs.c modified: fuzz_die_cu_info1.c modified: fuzz_die_cu_offset.c modified: fuzz_die_cu_print.c modified: fuzz_macro_dwarf5.c modified: fuzz_showsectgrp.c modified: fuzz_simplereader_tu.c modified: fuzz_srcfiles.c modified: fuzz_stack_frame_access.c modified: fuzz_xuindex.c 2023-03-20: David Anderson commit 16a4078e91cf8c695b491c6fbcbe14f4e7ec02b8 Before dereferenceing errp ensure errp is not NULL. modified: fuzz_debug_addr_access.c modified: fuzz_findfuncbypc.c modified: fuzz_set_frame_all.c 2023-03-20: David Anderson commit 2eced75af9903ab778c3b237ec7be3ddc93ea6ec ossfuzz 56568 All instances of Dwarf_Error error; changed to Dwarf_Error error = 0; to avoid unwanted stack random bytes in the pointer. modified: fuzz/fuzz_aranges.c modified: fuzz/fuzz_crc_32.c modified: fuzz/fuzz_debug_str.c modified: fuzz/fuzz_die_cu.c modified: fuzz/fuzz_die_cu_attrs.c modified: fuzz/fuzz_die_cu_attrs_loclist.c modified: fuzz/fuzz_die_cu_info1.c modified: fuzz/fuzz_die_cu_offset.c modified: fuzz/fuzz_die_cu_print.c modified: fuzz/fuzz_dnames.c modified: fuzz/fuzz_findfuncbypc.c modified: fuzz/fuzz_gdbindex.c modified: fuzz/fuzz_globals.c modified: fuzz/fuzz_gnu_index.c modified: fuzz/fuzz_init_b.c modified: fuzz/fuzz_macro_dwarf4.c modified: fuzz/fuzz_macro_dwarf5.c modified: fuzz/fuzz_set_frame_all.c modified: fuzz/fuzz_simplereader_tu.c modified: fuzz/fuzz_srcfiles.c modified: fuzz/fuzz_stack_frame_access.c modified: fuzz/fuzz_str_offsets.c modified: fuzz/fuzz_xuindex.c modified: src/lib/libdwarf/dwarf_rnglists.c 2023-03-20: David Anderson commit 59f5769780213c8fc4c82efbd829cc02fd13ef8c Most recent generated. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-03-20: David Anderson commit c04edfaf20904ee70e867afbf0ee87fb939ec42b new file: fuzz_debug_addr_access.c 2023-03-18: David Anderson commit fafb744cfceaa53fd153a33af38f6105af9b00cf generated files. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-14: David Anderson commit 003fb181750f499f4fd30fe7908c82fd5de62d2e Improved a rather useless error message. modified: src/bin/dwarfdump/print_gdbindex.c 2023-03-14: David Anderson commit 8e935967d3415296f8d3886618dda7f554b16f8d Brought up to date with the oss-fuzz fixed so far. modified: data.txt 2023-03-14: David Anderson commit e564c9350c104f16eb2223d7b29082e3deb5d2fb Added many checks for valid pointers and offsets. Corrected logic which was just wrong. Now ossfuzz 56676 passes (DW202303-006). Also fixes oss fuzz 56456. These problems existed since this source was written in 2014. modified: src/lib/libdwarf/dwarf_gdbindex.c Added two small comments. modified: src/lib/libdwarf/dwarf_gdbindex.h Changed doxygen comments on gdbindex functions that now return DW_DLV_NO_ENTRY when an array index is higher than exists in an array. modified: src/lib/libdwarf/libdwarf.h 2023-03-13: David Anderson commit 685d4bc6589f554796f5c75cc9b4693eea0a52ed More new bug/vulnerabilities Entire new list not yet described. modified: data.txt modified: dwarfbug.html modified: dwarfbug.xml modified: dwarfbuglohi.html 2023-03-12: David Anderson commit 4360c7d2852ef54248591d25149962e404c3af83 With the recent changes shown. modified: ChangeLog 2023-03-12: David Anderson commit c1e0dbec0f5de31ea84931bd3f5c491d26dc2f72 Fixing indent mistakes. Removing trailing whitespace. Altering a small number of too-long lines. modified: src/lib/libdwarf/dwarf_debugaddr.c modified: src/lib/libdwarf/dwarf_debugnames.c modified: src/lib/libdwarf/dwarf_fission_to_cu.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_macro.c modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/dwarf_util.c 2023-03-12: David Anderson commit 64eaaa58703258cab02896e798664a1bb11a3d5c Removing #if 0 debug code. modified: src/lib/libdwarf/dwarf_debugaddr.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_str_offsets.c 2023-03-12: David Anderson commit 0343c63bd04d387924974e6da60d8471fdf945a9 This is a significant revision of dwarf_str_offsets.[ch] with consequences in several places. ossfuzz id 56478. ossfuzz id 56489. ossfuzz id 56476. The old code was hard to follow. This is much easier to understand. Still has debugging-related #if 0 in it, those will be removed in the next commit. modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_fission_to_cu.c modified: src/lib/libdwarf/dwarf_form.c modified: src/lib/libdwarf/dwarf_macro5.c modified: src/lib/libdwarf/dwarf_opaque.h modified: src/lib/libdwarf/dwarf_query.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/dwarf_str_offsets.h 2023-03-12: David Anderson commit ffecb2b04828a2a20bb6e9ca808e9da4b2c5dd7d Tbe vulerabilities list is a work in progress. There is much more to do. modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbug.xml modified: bugxml/dwarfbuglohi.html 2023-03-08: David Anderson commit 434f6121136047631a579cf77fac651a8f8765a2 Now more bugs listed. Fixed or not. modified: data.txt 2023-03-07: David Anderson commit bdd4a131603c1bffdd5b452a624300f31dd9a2f8 modified: ChangeLog 2023-03-07: David Anderson commit 86671059c1c240ae56433fa94993dcd28df2ae7d Corrected several things to get correct processing. Tests for appropriate values from READ_AREA_LENGTH_CK were nowhere exactly correct, so all have been updated (see last two commits). Also fix 56453. This should finally fix oss fuzz 56636. modified: src/lib/libdwarf/dwarf_debugaddr.c Added more precise READ_AREA_LENGTH_CK tests. modified: src/lib/libdwarf/dwarf_gnu_index.c 2023-03-07: David Anderson commit 90da06a9de8e4bbdf4fe20e12322b73133166dc0 Improving the READ_AREA_LENGTH calls as revealed by oss fuzz 56636 modified: src/lib/libdwarf/dwarf_util.c 2023-03-07: David Anderson commit bb99fe7ddb2bc6601bcb0ee30ced6a8cc8cb0564 Related to oss fuzz 56536, some placew where READ_AREA_LENGTH values where not fully checked. This will require a revisit in a few of these cases modified: src/lib/libdwarf/dwarf_arange.c modified: src/lib/libdwarf/dwarf_debugnames.c modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_frame2.c modified: src/lib/libdwarf/dwarf_global.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_rnglists.c modified: src/lib/libdwarf/dwarf_str_offsets.c 2023-03-07: David Anderson commit 832ee2aa1a8e30d7afe4fc99adcc2bd15af0802c Change so pointless repetition of certain errors in .debug_gnu_pubnames/types are avoided. Fixed indents. modified: src/bin/dwarfdump/print_debug_gnu.c 2023-03-07: David Anderson commit 973f16ae10e48d75a4eb0d3d9843a5b687eed8eb Vulnerabilities update. modified: bugxml/dwarfbug.xml 2023-03-07: David Anderson commit d2c18155f5d04011ac7d81d0ea696a9d34daa0c8 Latest info on vulnerabilities modified: bugxml/data.txt modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html 2023-03-07: David Anderson commit b55ce0185528bf0a99e375cf8f3c84b76b6881a3 Merge: 48bbdb9d d9c14b2b Merge branch 'master' of https://github.com/davea42/libdwarf-code Due to fuzz issues. 2023-03-07: David Anderson commit 48bbdb9d9fa5a400e920e5c9564243e4470bd88d Fixes here for several fuzzing issues. WIll show numbers shortly. modified: bugxml/dwarfbug.html modified: bugxml/dwarfbuglohi.html modified: src/bin/dwarfdump/print_debug_gnu.c modified: src/lib/libdwarf/dwarf_gnu_index.c modified: src/lib/libdwarf/dwarf_gnu_index.h modified: src/lib/libdwarf/libdwarf.h 2023-03-07: madamantis-leviathan commit d9c14b2b12a3313c78bbfa808e12ed242b7f0adc Remove functions that are no longer available from the source (#154) 2023-03-05: David Anderson commit a4a5f55e0bf0678ea1c903b3ee417e4d4a22fb41 Good version. new file: bugxml/dwarfbug.xml Not final, but at least no leakage now. modified: src/lib/libdwarf/dwarf_gnu_index.c 2023-03-05: David Anderson commit bcd9f7aef270e850f04a805f685ee8cb60ce85f9 New vuln. modified: data.txt Updates. modified: dwarfbug.html modified: dwarfbuglohi.html deleted: dwarfbuglohi.xml For now, complete. modified: readbugs.py 2023-03-05: David Anderson commit 20552b46c678dd30d6ab1270ddf4054cb2d412aa So we have the bug html inside the repo. new file: bugxml/dwarfbug.html new file: bugxml/dwarfbuglohi.html new file: bugxml/dwarfbuglohi.xml modified: bugxml/readbugs.py Not Quite Right yet. Closer to right. modified: src/lib/libdwarf/dwarf_gnu_index.c 2023-03-03: David Anderson commit 590c4ca0a2a66d80f5ed1a9588656255e8e29ab7 Updated to have git log data. modified: ChangeLog 2023-03-03: David Anderson commit e7cce2398d35f6edac0cadab0e596423a73aaaa0 Added git fix id for 56636. modified: bugxml/data.txt 2023-03-03: David Anderson commit a3ab3f16ab67f4d976561fe0d863e1ed8b71f3c6 oss-fuzz 56636 There were some logic mistakes here. Now fixed, we think. modified: src/lib/libdwarf/dwarf_debugaddr.c 2023-03-03: David Anderson commit d7711e0dd0cc10e94cdd754ee8b4512085661c92 Minor corrections to the data on DW202303-001 and -002 modified: data.txt 2023-03-03: David Anderson commit 92aa9854a4577d04322782c1576aaa1aa7ca0f7f Now with latest from git log modified: ChangeLog 2023-03-03: David Anderson commit c8c029a2a91b7774908000b374342ac5239bd7ee Now with 0.7.0 version. modified: doc/libdwarf.pdf 2023-03-03: David Anderson commit 89d3beccd161657760585967255bbabf67e5b4c9 Fixes oss-fuzz 56548. Reading line tables headers some fields were not checked for impossibly-large values. Now all such fields are checked for sanity. modified: src/lib/libdwarf/dwarf_line_table_reader_common.h 2023-03-02: David Anderson commit 6eb98f38178814bc001187c08d9d74b4a8fa5b0f ChangeLog up to date with git log. Now working on 0.7.0. modified: ChangeLog 2023-03-02: David Anderson commit 948352178dc791796ed574a961191844d8322493 dwarf_attrlist() With a particular error (corrupted data) leading to an improper DW_FORM value did not return an error and compounded problems by continuing on, leading to a memory leak. oss-fuzz 56465 Also moved a local down to the only lexical scope using the local variable. modified: src/lib/libdwarf/dwarf_query.c We now return on the first error. 2023-03-02: David Anderson commit fde4acadc00c805a0e0592848d75398c142c3f19 Now uses the simpler dwarf_dealloc_attribute as that guarantees the way to dealloc. Also then zeroes the pointer made stale by the dealloc. modified: src/lib/libdwarf/dwarf_print_lines.c 2023-03-02: David Anderson commit 1fe3b2989a08c91d68e72bdd5ce437c1ccf3024d Was failing to check for a NULL die pointer being passed in where non-null was required. Now generates an error when a caller does that. modified: src/lib/libdwarf/dwarf_frame.c 2023-02-28: David Anderson commit a74e1d1f6d3bb174c985d572d4b6d555a8ea6090 Removing unused locals and arguments. modified: src/bin/dwarfdump/print_debug_names.c modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_macro.c New macro section output changed the baseline. modified: test/testobjLE32PE.base 2023-02-27: David Anderson commit ef5d172dedc7c0e2a3e3d4418efa42f318b8af17 The implementation of dwarf_get_fde_for_die() needed a small change to avoid a leak. The API of dwarf_get_fde_for_die() is unchhanged. modified: src/lib/libdwarf/dwarf_frame.c modified: src/lib/libdwarf/dwarf_frame.h modified: src/lib/libdwarf/dwarf_frame2.c 2023-02-27: David Anderson commit bfbc1cf7e4e1721f60f250d990ab484f64c189ba Now, for SGI/MIPS executables we check that any DW_AT_MIPS_fde attribute actually has the offset of a genuine fde, and report an error if anything wrong. For the first time we are testing dwarf_get_fde_for_die(). modified: src/bin/dwarfdump/print_die.c 2023-02-27: David Anderson commit fb66da9f410d1cdba92b7ae3117e8cd735dfe189 In one place the free(paths) required by the API was ommitted, leading to a leak. Fixed now. modified: src/bin/dwarfexample/dwdebuglink.c 2023-02-24: David Anderson commit 27b1bf1b6b3f1109fdb616c17603ae3a179bd8e3 Added commentary on an IRIX/MIPS related frame. modified: src/lib/libdwarf/libdwarf.h 2023-02-24: David Anderson commit 819cb71d795237536adce774576380bddac29d87 References the new macro print function in a few places. The idea is to show the name of a macro and the value as distinct fields (with -v) modified: src/bin/dwarfdump/print_macinfo.c modified: src/bin/dwarfdump/print_macro.c 2023-02-24: David Anderson commit 73150d06208b2d936b60e49a8dfdad2015375943 A new dd internal function for reporting macro data. modified: dd_macrocheck.h 2023-02-24: David Anderson commit ce58b4e9e463b7ac99fa4d0a0e15782c432320a3 Corrected and commented the code splitting macro name from the macro value (if any value there). modified: src/lib/libdwarf/dwarf_macro.c 2023-02-23: David Anderson commit 309f0935a0846157e99d5627ba7a4ba0d40a968c Each has a few lines of new code testing libdwarf small functions not otherwise tested. modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_lines.c 2023-02-23: David Anderson commit b23afe59362cfeace31215412ed24a8f46275327 Fixed a couple arguments to use the dw_ form. Comments now explain how a function for experimental line tables is not actually useful. modified: src/lib/libdwarf/libdwarf.h 2023-02-23: David Anderson commit d91391381b145c2bf9479be82c0b76f2ec851471 Updated the tarrrelease: field with 0.6.0 release where appropriate. modified: data.txt 2023-02-23: David Anderson commit 0c045738675965a8ed7c4aea9f8dfa5eb297b24f These now have the version as 0.7.0 modified: doc/libdwarf.dox modified: doc/libdwarfp.mm 2023-02-23: David Anderson commit 22cb0af1ebcf141a6f5d1bdb99666dedb3010eaa Now all name the version as 0.7.0 modified: CMakeLists.txt modified: configure.ac modified: meson.build 2023-02-23: David Anderson commit fbd8f69c1d37f0675112227b8a3af321c75388e7 make rebuild updated the version string in comments in these generated source files. modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h 2023-02-23: David Anderson commit 24fa44cc0492ae212e20e80a6faaf84517427655 Revised to provide a better print of the abbrevs part of a .debug_names block and to check and report on the reuses of an abbrev. Add -v to dwarfdump --print-debug-names modified: src/bin/dwarfdump/print_debug_names.c Make rebuild changed version in a comment. Now 0.7.0 modified: src/lib/libdwarf/dwarf_names.c 2023-02-23: David Anderson commit 217037be0da853b2dfb08e52a2c8c3a480a0ae47 Removed the API functions dwarf_dnames_abbrev_by_code() (which is slow, not needed Use either dwarf_dnames_name() or dwarf_dnames_abbrevtable() instead, depending on what you want to accomplish.) And dwarf_dnames_abbrev_form_by_index() (which never worked and was never tested except just before removing this function). modified: src/lib/libdwarf/dwarf_debugnames.c modified: src/lib/libdwarf/libdwarf.h 2023-02-23: David Anderson commit 0535a155c5ddb2537f8ec8c84795eff025ec15eb When the form is an indexed addr we check that that referenced via the index and DIE we get the correct addr. A sanity and function correctness check. modified: src/bin/dwarfdump/print_die.c 2023-02-23: David Anderson commit cbb1c34c3a7571a3e14f06576ff244cedb7af95c Removed trailing whitespace. modified: src/bin/dwarfdump/dd_tsearchbal.c 2023-02-20: David Anderson Release of libdwarf 0.6.0 today. modified: ChangeLog modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-02-20: David Anderson commit 8a8f028978cb041e64592ad52b54567459b9a25e make rebuild should not have copied dwarf_names.c (which gennames creates) into dwarfdump source. So the cp is removed. The mv to libdwarf source remains and is essential. modified: src/bin/gennames/Makefile.am 2023-02-20: David Anderson commit 8777ffee659b20a0d276c55d78d0d1fcf96319b3 There was no reason to have make rebuild copy dwarf_names.c into dwarfdump. The one in libdwarf suffices. deleted: ../dwarfdump/dwarf_names.c 2023-02-20: David Anderson commit 24ae907a3034925521ed408c6ab4384e38f49a3a make rebuild updated to match 0.6.1 as release, all these instances are in comments. modified: src/bin/dwarfdump/dwarf_names.c modified: src/bin/dwarfdump/dwarfdump-af-table.h modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h modified: src/bin/dwarfdump/dwarfdump-ta-table.h modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h modified: src/bin/dwarfdump/dwarfdump-tt-table.h modified: src/lib/libdwarf/dwarf_names.c 2023-02-20: David Anderson commit e9fbfc0fac2f8fdeb2dbf057d47acf6a4b9b6b51 tools/updatesemanticversion.py 0.6.1 setting a new version. modified: CMakeLists.txt modified: configure.ac modified: doc/libdwarf.dox modified: doc/libdwarfp.mm modified: meson.build modified: src/lib/libdwarf/libdwarf.h 2023-02-20: David Anderson commit da8acdad735740579d2f79856da4a617578e0a36 Change file-local function names to not start with dwarf_. That is reserved for API function names. modified: src/bin/dwarfdump/dd_tsearchbal.c 2023-02-20: David Anderson commit 52a8e4b9bd0fe8cff9d7e7fcb8ea6682d60c45b9 Added pkgconf to macos autotools run, that is now required where it was not required earlier. modified: test.yml 2023-02-20: David Anderson commit 80ef777ba7e2c26a35d849f365ad3ca157062087 workflow test, added a brew install pkgconf modified: mac_autotools.yml 2023-02-20: David Anderson commit 104aa2da46a1a798a264654508b1e1e32baf799d Adding as this one test is failing in test.yml .github/workflows: new file: mac_autotools.yml 2023-02-20: David Anderson commit 2684f4314098ff9677b4d5c18f510666fe8ce0b8 Now up to date for release 0.6.0 modified: ChangeLog 2023-02-20: David Anderson commit a93ff50891b07b83c1becb7cc1329236f6732cde This is the commit (of documentation) for the 6.0.0 release. modified: ChangeLog modified: doc/libdwarf.dox modified: doc/libdwarf.pdf 2023-02-18: David Anderson commit 9cab819ba330011b0e78754ee4f6b8937b4fd051 Source used for testing/fuzzing. new file: fuzz/fuzz_aranges.c new file: fuzz/fuzz_crc.c new file: fuzz/fuzz_crc_32.c new file: fuzz/fuzz_debug_addr_access.c new file: fuzz/fuzz_debug_str.c new file: fuzz/fuzz_debuglink.c new file: fuzz/fuzz_die_cu.c new file: fuzz/fuzz_die_cu_attrs.c new file: fuzz/fuzz_die_cu_attrs_loclist.c new file: fuzz/fuzz_die_cu_info1.c new file: fuzz/fuzz_die_cu_offset.c new file: fuzz/fuzz_die_cu_print.c new file: fuzz/fuzz_dnames.c new file: fuzz/fuzz_findfuncbypc.c new file: fuzz/fuzz_gdbindex.c new file: fuzz/fuzz_globals.c new file: fuzz/fuzz_gnu_index.c new file: fuzz/fuzz_init_b.c new file: fuzz/fuzz_init_binary.c new file: fuzz/fuzz_init_path.c new file: fuzz/fuzz_macro_dwarf4.c new file: fuzz/fuzz_macro_dwarf5.c new file: fuzz/fuzz_rng.c new file: fuzz/fuzz_set_frame_all.c new file: fuzz/fuzz_showsectgrp.c new file: fuzz/fuzz_simplereader_tu.c new file: fuzz/fuzz_srcfiles.c new file: fuzz/fuzz_stack_frame_access.c new file: fuzz/fuzz_str_offsets.c new file: fuzz/fuzz_tie.c new file: fuzz/fuzz_xuindex.c 2023-02-13: David Anderson commit 77c30fe6c97f078c0f57ec946f59754dada497fd Up to date with git log modified: ChangeLog 2023-02-13: David Anderson commit b0af192116cbe4a79b0ca7b8fb47900b5ae3648f Now up to date with latest changes in module titles.. modified: doc/libdwarf.pdf 2023-02-11: David Anderson commit 4cb3d61c49edb2fcf888708060c9ce09f952fb73 Working toward easier to read documentation. All the changes are in doxygen comments. modified: doc/checkexamples.c Regenerated modified: doc/libdwarf.pdf modified: src/bin/dwarfexample/jitreader.c modified: src/bin/dwarfexample/showsectiongroups.c modified: src/lib/libdwarf/libdwarf.h 2023-02-11: David Anderson commit 447a6d8f35f5945c0a8edbb01f3afc2a28765538 Small tweeks relating the two loclist examples (with links from each to the other). modified: doc/checkexamples.c Corrected date to today. modified: doc/libdwarf.dox 2023-02-11: David Anderson commit 1805c17ae90ea29b913fbd0aca7dad3253c18d40 Loclist access/locexpr access is valid for DWARF2 through DWARF5, clarified that here. modified: doc/checkexamples.c modified: src/lib/libdwarf/libdwarf.h 2023-02-09: David Anderson commit 13f1fe1cb73bc393f4abef85cdbb378ffd5bcdb2 With latest from gitlog modified: ChangeLog 2023-02-09: David Anderson commit ce1fee38c5586889e2d2dfd6af35dc083be9028a Emphasize the new argument style is a suggestion, not a requirement. modified: CODINGSTYLE.md 2023-02-09: David Anderson commit ce1fee38c5586889e2d2dfd6af35dc083be9028a Emphasize the new argument style is a suggestion, not a requirement. modified: CODINGSTYLE.md 2023-02-09: David Anderson commit 3312467a707e743f91f535f4fcdcde4dc6bb5981 A minor addition that describes the (new) approach to argument list presentation. It's mostly not yet followed and is not required. modified: CODINGSTYLE.md 2023-02-09: David Anderson commit 48bd6abf355262f29b293a24c425dc81eec9b639 Improving the consistency of presentation of arguments to functions. No logic change. modified: dwarf_query.c 2023-02-09: David Anderson commit 43aeedce6984b7c09ea4adc608f277279c5e5683 Fixing discrepancies from CODINGSTYLE. Trailing whitespace, a too-long line, and if( -> if ( No change in logic. modified: src/lib/libdwarf/dwarf_debugaddr.c modified: src/lib/libdwarf/dwarf_gdbindex.c modified: src/lib/libdwarf/dwarf_init_finish.c modified: src/lib/libdwarf/dwarf_loclists.c modified: src/lib/libdwarf/dwarf_util.c modified: src/lib/libdwarf/dwarf_xu_index.c 2023-02-09: David Anderson commit 16b3f93fac0989d25c129182130afc62719ffa4e Bringing up to date with git log modified: ChangeLog 2023-02-09: David Anderson commit a9a8924d775c0389220a0fce7a762f4752fd974c Everywhere we dealloc (drop) a Dwarf_Error ensure we have a valid Dwarf_Error* to dereference for the dealloc. These situations arise when the calling program passes NULL as the Dwarf_Error* to a libdwarf function, which normally only happens in toy or small calling programs. In libdwarf/ modified: dwarf_debugaddr.c modified: dwarf_die_deliv.c modified: dwarf_fission_to_cu.c modified: dwarf_form.c modified: dwarf_generic_init.c modified: dwarf_init_finish.c modified: dwarf_loc.c modified: dwarf_loclists.c modified: dwarf_query.c modified: dwarf_str_offsets.c modified: dwarf_util.c 2023-02-08: David Anderson commit 4a78820c8749eeca6f56d4f31693965f7cac0473 Changed the name of the error arg from err to error for consistency. modified: dwarf_alloc.c 2023-02-08: David Anderson commit 3423ca18432b02b3ac2ecbb8541a16becb373474 Changed the Dwarf_Error name to be error for consistency across the rest of libdwarf. modified: dwarf_frame.c modified: dwarf_gdbindex.c modified: dwarf_line.c modified: dwarf_print_lines.c modified: dwarf_util.c modified: dwarf_xu_index.c 2023-02-03: David Anderson commit 43107bc59332a47aeb17e4a63ad4f191ab92c41c Something went badly wrong with the pull or something. Obvious misaligment from the last change. modified: CMakeLists.txt 2023-02-03: David Anderson commit a26db7aeefb8bb6a9d8fca029459e7ea071e8f00 Using @code @endcode so the cc command looks right. modified: doc/checkexamples.c Updated date of last update. modified: doc/libdwarf.dox Regenerated. modified: doc/libdwarf.pdf 2023-02-03: Ludovic Chopin commit 74837fb700269b26287a401a8d91061725c48c82 CMakeLists.txt: fix crosscompile cmake build (#150) `check_c_source_runs` cannot be run in crosscompilation cases, only check compilation by replacing it with `check_c_source_compiles` Fixes #149 Co-authored-by: Ludovic Chopin 2023-02-02: David Anderson commit 6123495407fa877b6a2e17f7a7f7c0e5632bdcc5 Now up to date with git log modified: ChangeLog 2023-02-02: David Anderson commit fc1c55b70f52f18f491f82a9ffda8fa1d379fe58 set_up_section() is now easier to understand yet does the same job. modified: src/lib/libdwarf/dwarf_init_finish.c 2023-02-02: David Anderson commit 08bcf43f4b293d5206dfcc2f107ea0041fb8d5de Added -Wnostringop-overread to the -W list as -Wstringop-overread defaults *on* in alpinelinux gcc and sometimes has false positives depending on other compiler options (not good). modified: configure.ac Corrected two typos in comment words. LFAGS -> FLAGS modified: m4/dw_compiler.m4 2023-02-01: David Anderson commit 27704554af7294899f33706c2908565b1ad8d20e Up to date with git log modified: ChangeLog 2023-02-01: David Anderson commit 5ea279585fe15b8a9a0cf8efe034518799e2803f Ensure new file libdwarf/libdwarf.pc.cmake gets into the distribution. modified: src/lib/libdwarf/Makefile.am 2023-01-31: David Anderson commit 44bd35172ee75cb96d7c56031b2f986336eaf435 A few words on cmake 'make install' added. modified: README.cmake 2023-01-31: David Anderson commit 7368a1062271e08e7df0f188d8b02c9991a0d03a This creates a useful libdwarf.pc with install. It also creates a useless extra libdwarf.pc which is not at all useful. Unsure why. You will get better results using meson instead in most cases. modified: src/lib/libdwarf/CMakeLists.txt new file: src/lib/libdwarf/libdwarf.pc.cmake 2023-01-31: David Anderson commit a8b59bea77d868fae8442e69fe4d366c7045df61 Bringing up to date. modified: ChangeLog 2023-01-31: David Anderson commit 4823a9a14a127ba298b37cbc7613de0c21e0682a Documenting corrections to dwarf_offset_list() modified: doc/libdwarf.dox Improve an error message related to checking dwarf_offset_list() results. Correct the dealloc call to be correct. This function did not, before this, work on 32bit pointer systems. modified: src/bin/dwarfdump/print_die.c Dealing with the new DW_DLA_UARRAY allocation type for dwarf_offset_list(). modified: src/lib/libdwarf/dwarf_alloc.c modified: src/lib/libdwarf/dwarf_query.c Defining and documenting DW_DLA_UARRAY. modified: src/lib/libdwarf/libdwarf.h 2023-01-28: David Anderson commit ef60bff461a533da09f4ad3e9c1ece1249237ea2 Bringing ChangeLog up to date with git log. modified: ChangeLog 2023-01-28: David Anderson commit 4f6376d8f4d57497e4083405d94f00651576b51a _dwarf_memcpy_swap_bytes is now simpler and accomodates all words 8 bytes or less long by swapping bytes. modified: src/lib/libdwarf/dwarf_memcpy_swap.c Now uses memcpy to write part of the line table header, not WRITE_UNALIGNED as WRITE_UNALIGNED is intended for integers requiring byte-swapping when the target object and the runnning libdwarfp do not have the same endianness. the write changed is a set of bytes, not an integer at all. modified: src/lib/libdwarfp/dwarf_pro_section.c 2023-01-24: David Anderson commit ac2952e266e617cddd9d371d18b6664906e7e012 Now notes release in a couple entries (0.5.0). modified: bugxml/data.txt Latest. modified: doc/libdwarf.pdf 2023-01-24: David Anderson commit 8b8265142a78563b840df9b02f15b263cac8708e Now with the git id of the fix. modified: bugxml/data.txt Mention the bug in Changes from 0.5.0 to 0.60. modified: doc/libdwarf.dox 2023-01-24: David Anderson commit d059264c2e2a8e74b6ad6e13b7ea062b2cbec650 Instead of strlen, use esb_string_len() on the struct esb_s string so safe_strcpy() is aware of the copy-from length.. modified: src/bin/dwarfdump/print_die.c 2023-01-24: David Anderson commit 97e90eb7ab98df60b8da0bdc2ac855711c4db804 Fix DW202301-001, where DW_FORM_strx3 DW_FORM_addrx3 were mistakenly treated as 4 byte values. modified: src/lib/libdwarf/dwarf_util.c 2023-01-21: David Anderson commit 52f9045ac2d0e07e83b0e617eb75a7906722303d Bringing up to date with git log. modified: ChangeLog 2023-01-21: David Anderson commit 2fc3bdd86abe60a2083e0baaeabf5fe54e966412 Removing trailing whitespace and fixing indents. Fixed a couple lines pointlessly longer than libdwarf CODINGSTYLE specifies. modified: src/bin/dwarfdump/dd_command_options.c modified: src/bin/dwarfdump/dd_sanitized.c modified: src/bin/dwarfdump/print_frames.c modified: src/bin/dwarfdump/print_lines.c modified: src/bin/dwarfexample/findfuncbypc.c modified: src/bin/dwarfexample/jitreader.c modified: src/bin/dwarfexample/showsectiongroups.c modified: src/bin/dwarfexample/simplereader.c modified: src/lib/libdwarf/dwarf_crc.c modified: src/lib/libdwarf/dwarf_debuglink.c modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_str_offsets.c modified: src/lib/libdwarf/libdwarf.h modified: src/lib/libdwarf/dwarf_arange.c 2023-01-21: David Anderson commit 4274fabfb0baf26db172cb818e8e1245fed3913b Fixing seven defects noted by CoverityScan. modified: src/bin/dwarfdump/print_die.c modified: src/bin/dwarfdump/print_lines.c modified: src/bin/dwarfexample/jitreader.c modified: src/bin/dwarfexample/simplereader.c 2023-01-21: David Anderson commit b78bd35437ca6649a860bf83fa6b454a2a7bc119 Bringing git log up to date. modified: ChangeLog 2023-01-21: David Anderson commit e57c7e731ca54002fc00595a62f3d99191c27d33 Removing a set of DW_FRAME #define that were just added and are not actually desirable. modified: src/lib/libdwarf/dwarf.h Updateing these as a consequence. modified: src/bin/dwarfdump/dwarf_names.c modified: src/lib/libdwarf/dwarf_names.c Some duplicate dwarf_get_GNUIVIS_name() entries removed. modified: src/lib/libdwarf/libdwarf.h 2023-01-21: David Anderson commit 9ed3f2ff43bfc611ee763bab7a8907941137fd26 Merge: b4eb3ae5 671571a9 Merge branch 'master' of https://github.com/davea42/libdwarf-code Cmake now using PROJECT_DIR 2023-01-21: Pavel Dovgalyuk commit 671571a9a14999b88662ce855513545da87f4602 Replace CMAKE dirs with PROJECT dirs (#148) Replacing CMAKE_*_DIR with PROJECT_*_DIR allows adding this project as a subproject in cmake config. 2023-01-20: David Anderson commit b4eb3ae529a54e8bac4de6408e0f63b4a72f80dc The added entries in dwarf.h are now reflected in these functions. Now dwarf_get_FRAME_name() knows of the full set of such defined in dwarf.h. Created, as always, by the command 'make rebuild' in a build directory. modified: src/bin/dwarfdump/dwarf_names.c modified: src/lib/libdwarf/dwarf_names.c 2023-01-20: David Anderson commit d2ac319d3349b86b6f5fbba009657e3c8e52220d Refining a printf used in debugging, and only debugging. modified: src/bin/gennames/gennames.c 2023-01-20: David Anderson commit d899c99aa0a7e29cdb3d024c875561a43579b048 The DW_FRAME defines set is expanded to fill in a gap. A gap that should never have existed. There is no effect on the API other than dwarf_get_FRAME_name() can now return a full set of the basic static set. modified: src/lib/libdwarf/dwarf.h 2023-01-20: David Anderson commit 04ab8c31ba97ee7e21c251d6f605aff54ebeb326 Corrected DW_IDX_hi_user from 0x0fff to the DWARF5 value of 0x3fff. modified: src/lib/libdwarf/dwarf.h 2023-01-17: David Anderson commit a4acf84b0f3aa087e4ed4413bcd9b13f7cae7aa3 Bringing up to date with git log modified: ChangeLog 2023-01-17: David Anderson commit 1bffee59eb8de582fe360601a0a7d485a45fe066 Twenty functions named dwarf_ were really internal-only functions. Not in the API. A few named decades ago, some created more recently. Now all such have a leading single underbar, so named _dwarf_ as a clear indication they are not part of the API. These became apparent comparing the API (libdwarf.h) to functions reported by coverage analysis (gcov/lcov). modified: dwarf_arange.c modified: dwarf_elf_load_headers.c modified: dwarf_frame.c modified: dwarf_line.c modified: dwarf_machoread.c modified: dwarf_machoread.h modified: dwarf_peread.c modified: dwarf_tsearchhash.c 2023-01-16: David Anderson commit d46c1d2eeac7a66a699a892b3d3c50b6a6f135e1 Now showing latest fixes to pkgconf references for libzstd. modified: ChangeLog 2023-01-16: David Anderson commit 31c3f298d4d11ec92fde6b5d176007ed20fe3755 Changed zstd_deps to libzstd_dep and similarly for requirements_libdwarf_pc. To match the real pkgconf name of the library. modified: meson.build Fixed the typo ref config_h.set11 where config.h.set10 was meant. It means set to one or zero specifically (rather than a more general set). In meson documentation, look for config_data.set10 modified: src/lib/libdwarf/meson.build 2023-01-16: David Anderson commit f6d5dc20755cfcba300bac9eb27f86447c51a3df Corrected the requirements_libdwarf_pc to reference libzstd because the pkgconf name is libzstd.pc modified: configure.ac 2023-01-16: David Anderson commit 7c83a9e7dd5a7238b16c7a38862a95fd3d39e2ba Corrected the check for libzstd, so HAVE_ZSTD and HAVE_ZSTD_H are now set in config.h modified: CMakeLists.txt 2023-01-14: David Anderson commit bf923fc046fd868808489e5137b9f7bb0d982902 To avoid warnings from a careful compiler we avoid redefining glflags when building test__sanitized.c by using a -DTESTING in test/ builds to remove the reference to glflags from dd_sanitized.c. modified: src/bin/dwarfdump/dd_sanitized.c modified: test/CMakeLists.txt 2023-01-14: David Anderson commit 76bebde070af2d49360a141053962949a9ea913a Each had a pointer subtraction and wanted a result of Dwarf_Unsigned so now using uintptr_t and Dwarf_Unsigned casts to assure compilers this is as intended. modified: src/lib/libdwarf/dwarf_debuglink.c modified: test/test_dwarf_tied.c 2023-01-13: David Anderson commit 3f8182189e94c9db549f1c59ac4fddafe3da30e4 Now with the warning fixed. modified: ChangeLog 2023-01-13: David Anderson commit ac6dd985c978dbeaca258be325b98d6aafb805b2 To do a pointer-difference without compiler warnings we fix using uintptr_t. modified: dwarf_str_offsets.c 2023-01-12: David Anderson commit e14770ba81d514b9e962b82479c30ece8a1a2db0 Up to date with git log, including fixing a bug with make check (which would cause compilation failure). modified: ChangeLog 2023-01-11: David Anderson commit 9f0c8cd7ba0903b2fea66115afb8b16312ea4222 Needed to add a fake _dwarf_error_string() implementation so this can compile (as we do not link with libdwarf itself). modified: test/test_linkedtopath.c 2023-01-11: David Anderson commit 5ca41b6751adf51856b839da3168a7baf2a7268c Now all these accept option --suppress-de-alloc-tree and ignore it so regressiontests can use these more easily. modified: src/bin/dwarfexample/dwdebuglink.c modified: src/bin/dwarfexample/findfuncbypc.c modified: src/bin/dwarfexample/frame1.c modified: src/bin/dwarfexample/jitreader.c modified: src/bin/dwarfexample/showsectiongroups.c modified: src/bin/dwarfexample/simplecrc.c modified: src/bin/dwarfexample/simplereader.c 2023-01-10: David Anderson commit f043691022b9ec4c6dc13ad6a7e650e7a6ea7dfb Fixing dwardump -h : changes now in ChangeLog modified: ChangeLog 2023-01-10: David Anderson commit 78855e4b8b1f48e456cec9adbf21de1d78ff5433 Improved the -h (help) message for --print-strings and --print-str-offsets dwarfdump options. modified: src/bin/dwarfdump/dd_command_options.c 2023-01-10: David Anderson commit d3e59a126829b098ac5f1a7ab757f545287607f1 The -f option was omitted from the help text. Oops. Added it following -F in help. modified: src/bin/dwarfdump/dd_command_options.c 2023-01-09: David Anderson commit 8133c2d0a6068c99193cf47f36de3dced60a7855 Now with latest includeing git fix id for bug DW202212-001 modified: ChangeLog 2023-01-09: David Anderson commit 35fb2b0eb05e6e52eaf4a674429067644d7bdb57 Updated DW202212-001 with git fix id. modified: bugxml/data.txt 2023-01-09: David Anderson commit 45f6d778811553a835916b60845933e6dda63b7f See bug DW202212-001 There are four different Elf/Dwarf corruptions here not previously noticed. All these now noticed. modified: src/lib/libdwarf/dwarf_die_deliv.c modified: src/lib/libdwarf/dwarf_elf_load_headers.c modified: src/lib/libdwarf/dwarf_generic_init.c modified: src/lib/libdwarf/dwarf_query.c 2023-01-04: David Anderson commit 096f1ab0727baa1ba72b08d00953e2a5b243a2b3 Defines the new DenialOfService bug DW202212-001 modified: bugxml/data.txt correct a printf for clarity. Add a return on success finding the pc in the object. modified: src/bin/dwarfexample/findfuncbypc.c Add a new option to help test this cude. --suppress-de-alloc-tree is the option. modified: src/bin/dwarfexample/frame1.c Add a new option to help test this cude. --suppress-de-alloc-tree is the option. modified: src/bin/dwarfexample/jitreader.c Clarify the error report in case the group requested is simply not present. Add a new option to help test this cude. --suppress-de-alloc-tree is the option. modified: src/bin/dwarfexample/showsectiongroups.c Add a new option to help test this cude. --suppress-de-alloc-tree is the option. Simplify the code in main() reading argv[]. modified: src/bin/dwarfexample/simplereader.c Add new tests so if an unreasonable build-id is present an error is returned. modified: src/lib/libdwarf/dwarf_debuglink.c Define the meaning of 'unreasonable build-id' as DW_BUILDID_SANE_SIZE. modified: src/lib/libdwarf/dwarf_debuglink.h Look for a variety of Elf object errors not previosly noted. See DW202212-001. modified: src/lib/libdwarf/dwarf_elf_load_headers.c 2023-01-04: David Anderson commit c49cf80fd866d968c3606f520050e74deeb7d665 Up to date 2023 modified: ChangeLog Now with all 2022 modified: ChangeLog2022 2023-01-04: David Anderson commit 5960a7983e58c4263d752daa53866c25f3e4ef50 New log, new year. modified: ChangeLog new file: ChangeLog2022 New DW_DLE error codes for bug DW202212-001 modified: src/lib/libdwarf/dwarf_errmsg_list.h modified: src/lib/libdwarf/libdwarf.h