Commit Graph
54 Commits
Author SHA1 Message Date
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
Ryan Fleury f590e9b6d5 eliminate separate path layer, merge into base strings layer 2025-06-19 07:38:34 -07:00
Ryan Fleury 699cb5134e dwarf dump => dwarf layer; eliminate separate dwarf enum file 2025-06-19 07:19:38 -07:00
Ryan Fleury 49de09883e plug in dwarf converter to radbin; hook up to both rdi generation & breakpad generation; radbin exe -> pdb / elf -> dwarf inferences; cleanup / unification passes 2025-06-10 08:53:57 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Nikita Smith 8beb168905 went over COFF string table and changed the parser code accept to String8 2025-04-04 15:45:51 -07:00
Nikita Smith c57b5fcd6d appease clang 2025-03-27 15:37:27 -07:00
Nikita Smith 53c889e5d3 switched to using base Arch enum for converting DWARF registers,
simplified top level building path
2025-03-27 13:47:46 -07:00
Nikita Smith c80661449c added rest of XMM registers, more progress on converting expressions front 2025-03-26 12:19:16 -07:00
Nikita Smith a84028d67a helper for checking if ELF has DWARF debug sections 2025-03-26 12:18:47 -07:00
Nikita Smith 2e6ffbd0c4 fixed typo in attrib class for DW_Form_RngListx 2025-03-26 12:18:46 -07:00
Nikita Smith 1dc0192322 fix clang warning and errors 2025-03-17 15:25:49 -07:00
Nikita Smith 13352751ec moved DWARF parser to use str8_deserial-style API, added to the parser
layer functionality for interpreting different types of attributes,
added support for location lists, and API to enable parsing tags with
abstract origin.
2025-03-17 10:40:59 -07:00
Nikita Smith 2ba1a0d502 pass over DWARF header
- added new types
- renamed mode -> format
- fixed section naming
- added helper for picking array lower bound
2025-03-03 17:14:22 -08:00
Nikita Smith 1d441bac30 minor fixes and renames in DWARF enums 2025-02-25 14:41:16 -08:00
Nikita Smith ea6a84ca57 helper for extracting DWARF sections in COFF files 2025-02-25 14:41:15 -08:00
Nikita Smith 0a0742aa0e remove unused enum fields 2025-01-29 16:28:02 -08:00