The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

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 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=<n>
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
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
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
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
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_<name> 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 <lchopin@wyplay.com>
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
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_<something>
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_<something> 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