Commit Graph

788 Commits

Author SHA1 Message Date
Jeremy Rifkin
6180399996
Fix some typos and do some minor rewording 2025-02-17 23:22:27 -06:00
Jeremy Rifkin
e7f8521936
Update table of contents 2025-02-17 23:16:17 -06:00
Jeremy Rifkin
e77f16031b
Add --disable-aranges option to the resolver tool 2025-02-17 23:14:36 -06:00
Jeremy Rifkin
261ca9d554
Add libdwarf tuning section with information about libdwarf-specific settings 2025-02-17 23:13:46 -06:00
Jeremy Rifkin
5073cc218a
Update documentation for cpptrace::nullable 2025-02-17 23:01:00 -06:00
Jeremy Rifkin
34be9f2f19
Add a check for dwarf_get_version_of_die's return code 2025-02-17 23:00:12 -06:00
Jeremy Rifkin
6d41ea0135
Fix UB due to forming a reference to a packed struct member 2025-02-17 22:59:48 -06:00
Jeremy Rifkin
27924487dc
Document the formatter API 2025-02-17 22:38:04 -06:00
Jeremy Rifkin
728cefab55
Add setting to disable the use of dwarf aranges 2025-02-17 22:27:44 -06:00
Jeremy Rifkin
aed47df73e
Slightly improve memory usage by packing some structs used in the die cache 2025-02-17 22:18:15 -06:00
Jeremy Rifkin
e22300b36d
Refactor to not use if constexpr 2025-02-17 21:41:16 -06:00
Jeremy Rifkin
a4faef7f1e
Refactor cu_cache to use die_cache abstraction and reduce cu die cloning 2025-02-17 21:13:08 -06:00
Jeremy Rifkin
83527947a2
Add an abstraction for die caches / lookup and reduce die cloning 2025-02-17 20:40:46 -06:00
Jeremy Rifkin
1d79dbcf42
Add a configurable cache size for the line tables cache, related to #193 2025-02-17 19:10:46 -06:00
Jeremy Rifkin
8c7b1dc6aa
Silence a gcc warning about unitialized values 2025-02-17 18:22:58 -06:00
Jeremy Rifkin
111f8e6aec
Simplify to two move constructors, just use the move assignment operator 2025-02-17 13:51:26 -06:00
Jeremy Rifkin
ead3f128aa
Make line_table_info serve as a raii utility for dwarf line table stuff 2025-02-17 13:50:06 -06:00
Jeremy Rifkin
8963639639
Fix an issue with destruction order of dwarf stuff and clean up cleanup logic 2025-02-17 13:23:58 -06:00
Jeremy Rifkin
b762ee7ec6
Remove some commented code 2025-02-17 13:05:57 -06:00
Jeremy Rifkin
87f2fd4c43
Resolver tool improvements 2025-02-17 12:46:25 -06:00
Jeremy Rifkin
87b14c87f8
Remove a comment 2025-02-17 01:04:45 -06:00
Jeremy Rifkin
62548497a8
Create a helper wrapper / abstraction for managing srcfiles lists 2025-02-17 01:02:28 -06:00
Jeremy Rifkin
0f990f05a1
Use raii_wrap for dwarf_dealloc_error in handle_dwarf_error 2025-02-17 01:01:42 -06:00
Jeremy Rifkin
4ab78f7a69
Fix srcfiles deallocation 2025-02-16 18:34:49 -06:00
Jeremy Rifkin
bc0164224e
Try using dwarf_set_de_alloc_flag(0) to improve performance and memory usage 2025-02-16 17:53:40 -06:00
Jeremy Rifkin
d18d6ee77d
Fix cleanup of dwarf aranges 2025-02-16 17:53:10 -06:00
Jeremy Rifkin
8f2193f35a
Fix handling of strtab in a code path in the elf code 2025-02-13 23:47:16 -06:00
Jeremy Rifkin
457bc4b8a1
Check external symbols start with _Z before demangling 2025-02-13 23:39:05 -06:00
Jeremy Rifkin
ce97e0004d
Add basic option for shortening paths in the formatter 2025-02-13 23:22:12 -06:00
Jeremy Rifkin
000168b93c
Add some extra functionality to the resolver tool for some testing 2025-02-02 23:50:16 -06:00
Jeremy Rifkin
156ede9aab
Add simple resolver tool 2025-02-02 22:03:03 -06:00
Jeremy Rifkin
2b7d47d627
Add elf symtab dumping tool 2025-02-02 21:37:22 -06:00
Jeremy Rifkin
b724d1328c
Add very basic dwarfdump tool 2025-02-02 19:28:01 -06:00
Jeremy Rifkin
8e7b4a953f
Roll back the cxxabi demangle _Z check 2025-02-02 18:32:15 -06:00
Jeremy Rifkin
b2180ae797
Rename builder methods 2025-02-02 16:58:22 -06:00
Jeremy Rifkin
f0a9e12e88
Format frames directly to the stream 2025-02-02 16:45:49 -06:00
Jeremy Rifkin
eb83ee2a1c
Add an option to show / hide filtered frames vs printing a placeholder 2025-02-02 16:20:47 -06:00
Jeremy Rifkin
d1ce9c8896
Oops, quick fixes 2025-02-02 14:45:49 -06:00
Jeremy Rifkin
00c7feb2e0
Remove some unused includes 2025-02-01 20:03:50 -06:00
Jeremy Rifkin
32f0d5d273
Constexpr fix 2025-02-01 20:00:06 -06:00
Jeremy Rifkin
85be7c32a4
Some improvements to the nullable interface 2025-02-01 19:10:19 -06:00
Jeremy Rifkin
248ad447b1
Work around bazel crap 2025-02-01 18:54:44 -06:00
Jeremy Rifkin
eb9ebc31a7
Add tests for nullable 2025-02-01 17:51:17 -06:00
Jeremy Rifkin
e2b1252438
A new formatting setup (#208)
Resolves #164
2025-02-01 17:31:49 -06:00
Jeremy Rifkin
3557d7b885
Fix handling of DW_DLV_ERROR 2025-02-01 11:51:08 -06:00
Jeremy Rifkin
9077430b6a
Search both the elf symbol table and dynamic symbol table 2025-01-28 23:40:08 -06:00
Jeremy Rifkin
06c9c14995
Return an optional from lookup_symbol 2025-01-28 23:26:28 -06:00
Jeremy Rifkin
7f6945c7d9
Better handle symtab loading / optionality 2025-01-28 23:14:37 -06:00
Jeremy Rifkin
73ee7aa3a1
Don't try to load string table if strtab_link is SHN_UNDEF or the symbol table is empty 2025-01-28 22:21:43 -06:00
Jeremy Rifkin
18046688f6
Move cmake integration and performance check into ci workflow 2025-01-28 21:41:27 -06:00