Commit Graph
70 Commits
Author SHA1 Message Date
Ryan Fleury faee02f763 simplified dwarf parsing checkpoint: pull out form value reading, line table header parsing 2025-11-11 16:27:16 -08:00
Ryan Fleury b8a8ec31c7 checkpoint on simplified / stripped down dwarf -> rdi, and dwarf parsing helpers 2025-11-11 15:10:16 -08:00
Ryan Fleury 17ec73d752 dwarf cleanup checkpoint 2025-11-10 17:41:01 -08:00
Ryan Fleury 08642d2745 next checkpoint on dwarf cleanup 2025-11-10 16:37:23 -08:00
Ryan Fleury f396b2eaa3 start dwarf -> rdi cleanup; eliminate some assertions-as-validation, remove incorrect assumption that line info addresses are vaddrs (they seem to be voffs) 2025-11-10 15:06:52 -08:00
Nikita SmithandRyan Fleury b596a6ed8a dumper for SHT_NOTE 2025-11-07 14:39:46 -08:00
Nikita SmithandRyan Fleury 8bc1e4b21c explicitly update stack pointer 2025-11-07 14:39:46 -08:00
Nikita SmithandRyan Fleury 3f70cd6d05 handle CFI programs without meaningful instructions 2025-11-07 14:39:46 -08:00
Nikita SmithandRyan Fleury 7616767ed7 fix CFA_Expr instruction fill 2025-11-07 14:39:46 -08:00
Nikita SmithandRyan Fleury f2392284d5 add missing case for the register rule 2025-11-07 14:39:46 -08:00
Nikita SmithandRyan Fleury 16232b98d8 SP from arch helper 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury 9e965e345f string format expression op when version is below 3 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury 1b6e9e9d7b parse "Signal Frame" aug flag and fill out augmentation data size 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury 821af9b104 fix FDE binary search for case where PC is not exactly on first instruction 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury 36b22c06b1 moved eh_frame files to dwarf layer 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury 4e2c983b0f skip leading NOP opcodes, which caused extra CFI rows to be emitted 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury dad92610de dumper for .eh_frame_hdr and .eh_frame 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury c32d85ea2d DWARF helper 2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury da38f266d9 parser for .eh_frame versions of CIE and FDE and new helper for
mapping PC -> CFI Row
2025-11-07 14:39:45 -08:00
Nikita SmithandRyan Fleury ecbce1efdf add TR and LDTR registers 2025-11-07 14:39:45 -08:00
Nikita Smith 43fcc21490 clang build fixes 2025-10-10 10:19:47 -07:00
Nikita Smith 061b5c5955 added CFA instruction parser, interpreter, and a dumper 2025-10-10 10:09:46 -07:00
Nikita Smith e1986c9594 clang fixes 2025-10-07 20:37:00 -07:00
Nikita Smith 401d7b47df factor out C++ ABI exception handling 2025-10-07 20:28:06 -07:00
Nikita Smith 3560c7d3e7 dump CIE and FDE 2025-10-07 18:16:32 -07:00
Nikita Smith 7cf3eaf73f parsers for CIE and FDE 2025-10-07 18:16:31 -07:00
Nikita Smith 62ae5ca3f5 stringify format and cfa opcodes enums 2025-10-07 18:16:31 -07:00
Nikita Smith da0028033d changed dumper to print .debug_info in more compact form 2025-10-03 20:10:09 -07:00
Nikita Smith b1b83c4e3d bugfix const64 interp 2025-10-03 17:16:45 -07:00
Nikita Smith 1264115d13 define push and pop counts for expression opcodes 2025-10-02 18:19:42 -07:00
Nikita Smith 0f9df9bc40 change opcode type to U8 2025-10-02 18:19:42 -07:00
Nikita Smith 0e9739f964 expression parser 2025-10-02 18:19:42 -07:00
Nikita Smith da74b8595c add operand count for expression opcodes 2025-10-02 18:19:42 -07:00
Ryan Fleury 7707ba1d60 dwarf debug info option in builds, fix heuristic to try to load debug info from exe itself 2025-10-01 15:36:36 -07:00
Nikita Smith 8bf0a3de5b split conversion pass into three (types, udts, and symbols) and use
new locations chunk list
2025-09-29 00:11:27 -07:00
Nikita SmithandRyan Fleury 6a3d7e65f3 remove year from the copyright 2025-09-05 15:19:31 -07:00
Nikita Smith 086d774b8b fix ELF compressed header and skip duplicate sections 2025-08-12 14:10:13 -07:00
Ryan Fleury 122c27eabe do not funnel non-dwarf sections in dwarf input prep pass 2025-07-28 16:22:23 -07:00
Ryan Fleury 48f5df2523 cleanup pass over elf parsing; base addr calculation? 2025-07-28 16:13:45 -07:00
Ryan Fleury ce9f7f691a always-refresh dev option 2025-06-20 10:55:45 -07:00
Ryan Fleury 327f0f128a more parseability coverage on rdi dumping 2025-06-19 21:15:16 -07:00
Ryan Fleury fa242b3d80 #if 0 broken code; fix clang build 2025-06-19 15:26:56 -07:00
Ryan Fleury b28b730788 plug in dwarf dumping to radbin 2025-06-19 13:37:28 -07:00
Ryan Fleury 056942a792 remaining dwarf dumping coverage 2025-06-19 11:00:24 -07:00
Ryan Fleury 8eab0e16b8 pass over .debug_abbrev dump 2025-06-19 10:41:42 -07:00
Ryan Fleury 7c35028a6b .debug_info dumping pass 2025-06-19 10:33:44 -07:00
Ryan Fleury a2ab822eb5 attrib -> attrib_kind; attrib_ptr -> attrib 2025-06-19 09:49:01 -07:00
Ryan Fleury 8dac256a12 consistency pass over dwarf layer 2025-06-19 09:44:41 -07:00
Ryan Fleury 88867ac758 lib_rdi_format -> lib_rdi 2025-06-19 08:21:58 -07:00
Ryan Fleury 66c2d51a7d pass over dwarf dump, get it building, eliminate reliance on one-off helpers from raddump 2025-06-19 08:02:36 -07:00