Commit Graph

37 Commits

Author SHA1 Message Date
Jeremy
214dd1df36
Lock around libdwarf calls 2023-09-20 18:28:55 -04:00
Jeremy
ddcfbe0a88
Column handling fixes 2023-09-20 17:39:51 -04:00
Jeremy
a31fe3dc00
Make stacktrace_frame an aggregate again 2023-09-19 15:36:34 -04:00
Jeremy
5c3df2571e
Rename stacktrace_frame.col to column, set a proper sentinel value, and update stacktrace.to_string to not have a tailing newline 2023-09-19 15:17:39 -04:00
Jeremy
704cba5e97
Some updates and cleanup 2023-09-19 00:21:00 -04:00
Jeremy
ccd0ea5e17
Deal with some conversion warnings 2023-09-18 22:41:34 -04:00
Jeremy Rifkin
0b32df64e4
Expand cpptrace API (#37) 2023-09-18 20:33:46 -04:00
Jeremy
734c84400c
Fix symbol lookup bug for subprogram cache 2023-09-17 19:42:03 -04:00
Jeremy
eb86ae2131
Optimize DWARF symbol lookup: Preprocessor CUs when they're first queried 2023-09-17 19:23:36 -04:00
Jeremy
cc0876dc94
Fix use after free 2023-09-17 17:18:19 -04:00
Jeremy
c36b47b5bf
Handle DW_AT_abstract_origin 2023-09-17 16:03:34 -04:00
Jeremy
6498c837f5
Forgot to check CU dwarf version 2023-09-17 15:19:24 -04:00
Jeremy
5fcfb34335
Support .debug_aranges for CU lookups 2023-09-17 14:41:10 -04:00
Jeremy
2c4f271e23
Improve die_object::has_attr implementation 2023-09-17 01:51:35 -04:00
Jeremy
d9eadf981d
More refactoring and cleanup 2023-09-17 01:26:34 -04:00
Jeremy
077c839839
Dwarf refactoring: Move walking, pc_in_die, and retrieve_symbol_for_subprogram into the dwarf_resolver. Eliminate passing Dwarf_Debug pointers. 2023-09-17 01:15:03 -04:00
Jeremy
e4eab1d426
Optimize dwarf handling by caching line contexts so the line info table only has to be computed once per TU per object per trace 2023-09-17 00:54:11 -04:00
Jeremy
e47cb7147d
Move some commented out type dwarf tree walking code to the end of the file 2023-09-17 00:52:31 -04:00
Jeremy
fdbc69e18e
Refactor nested namespaces 2023-09-16 21:19:08 -04:00
Jeremy
278ee3fcee
Work on improving error handling and some general refactoring. Also trying to bring everything into cpptrace::detail. 2023-09-16 20:46:30 -04:00
Jeremy
94514cb259
Fix #32 2023-09-16 14:19:21 -04:00
Jeremy
c8e3f67bc0
DWARF traversal improvements and optimizations 2023-09-16 14:18:34 -04:00
Jeremy
29b3140ddd
Some misc cleanup 2023-09-15 19:55:10 -04:00
Jeremy
9cb840c723
Unconditionally walk DW_TAG_namespace 2023-09-15 16:47:01 -04:00
Jeremy
8208f43e8a
Experiments with DW_AT_rnglists_base 2023-09-15 16:46:48 -04:00
Jeremy
07a3ac1e41
Cleanup and refactoring of dwarf code. Improve handling of stuff. 2023-09-15 16:46:22 -04:00
Jeremy
f5fd6942e2
Support DW_FORM_rnglistx for dwarf5 ranges computation 2023-09-13 23:07:33 -04:00
Jeremy
5aadb58492
Don't use POSIX basename 2023-09-12 18:08:24 -04:00
Jeremy
d714e70cf6
A couple small cleanup things in libdwarf code, hopefully fixing tests 2023-09-12 17:59:37 -04:00
Jeremy
f95b25f0d6
Handle DW_AT_specification 2023-09-12 13:03:54 -04:00
Jeremy
2545e6c2e5
Use .dSYM files on macos. Should fix test cases. 2023-09-12 01:19:58 -04:00
Jeremy
54b4701462
Refactor linkage name querying 2023-09-12 00:16:40 -04:00
Jeremy
4b0af6b6d0
Refactor of some dwarf handling and debug improvements 2023-09-11 23:58:00 -04:00
Jeremy
5dc819186e
Baseline for middle-end system 2023-09-11 11:57:01 -04:00
Jeremy Rifkin
95ee2a815c
CI and dwarf work (#30) 2023-09-10 19:46:01 -04:00
Jeremy
0e27da8c11
Some symbol backend refactoring, get rid of pimpl nonsense 2023-08-31 01:21:22 -04:00
Jeremy Rifkin
6ed6e623ed
Initial work to add libdwarf as a back-end (#24) 2023-08-30 12:14:17 -04:00