Nikita Smith
86de8fb94c
string attrib DWARF writer helper
2026-02-18 00:54:55 -08:00
Nikita Smith
f9e36b5517
validate attrib-form encoding
2026-02-18 00:54:18 -08:00
Nikita Smith
aaa5b0cb59
pass over DWARF dumper
2026-02-11 00:00:43 -08:00
Nikita Smith
031e24e1aa
handle zero operand count
2026-02-10 23:59:09 -08:00
Nikita Smith
ee8562ed97
fix type for the implicit const
2026-02-10 23:58:45 -08:00
Nikita Smith
69434278bd
WIP DWARF writer
2026-02-10 23:57:43 -08:00
Nikita Smith
ff82d9843c
matcher for DW_Form
2026-02-10 15:27:57 -08:00
Nikita Smith
6e100ad52f
make form_kind part of DW_Form
2026-02-10 15:27:27 -08:00
Nikita Smith
12f8f4e078
move DW_Form to the DWARF format header
2026-02-10 15:26:56 -08:00
Nikita Smith
d7ffea785f
compact print abbrev data
2026-02-06 18:49:52 -08:00
Nikita Smith
b0d0b6a2b2
factor out LEB128 writer
2026-02-05 19:45:34 -08:00
Nikita Smith
d363c30e95
copy out generic
2026-02-05 19:43:47 -08:00
Nikita Smith
3bc9bacf6f
update line table dumper; pipe down verbose switch to the DWARF dumper
2026-02-05 17:43:19 -08:00
Nikita Smith
469fbece3d
fix check extension in attrib formatter
2026-02-05 17:43:19 -08:00
Nikita Smith
4f30f64914
switched to TryRead helper macro for parsing abbrev table and compile units
2026-02-05 17:43:19 -08:00
Nikita Smith
dec5258c32
piece opcodes do not pop the stack
2026-02-05 17:43:19 -08:00
Nikita Smith
82169462a4
detect variable length array in upper bound and lower bound
2026-02-05 17:43:19 -08:00
Nikita Smith
2071e31f29
refactor bad read handling in DWARF parser
2026-02-05 17:43:19 -08:00
Nikita Smith
717781e0a3
adjust cursor by delta read size
2025-12-19 17:34:14 -08:00
Nikita Smith
cf849f7875
add missing GNU expr opcodes
2025-12-18 20:06:14 -08:00
Nikita Smith
ce4d09d431
WIP DW_OP_piece
2025-12-17 17:32:03 -08:00
Nikita Smith
43cb8b7b1a
handle DW_Op_FBReg, DW_ExprOp_Deref, DW_ExprOp_BReg*, and DW_ExprOp_BRegX
2025-12-16 17:32:12 -08:00
Nikita Smith
0aea6c4e8f
finish value in register test
2025-12-16 13:49:23 -08:00
Nikita Smith
2b4e0f8b77
WIP DWARF expression eval
...
- fixup jump offsets after expression is serialized
- use generalized machine ops for register reads
- add option to limit number of executed opcodes
2025-12-16 11:12:43 -08:00
Nikita Smith
952afd49a7
generalize machine ops
2025-12-16 10:40:48 -08:00
Nikita Smith
782f87e512
WIP DWARF expression encoder
2025-12-12 17:39:56 -08:00
Nikita Smith
7d0e168f8f
typoes
2025-12-12 12:16:28 -08:00
Nikita Smith
7947d4dc55
outline DWARF expression evaluator
2025-12-11 16:43:21 -08:00
Nikita Smith
9659ab4ad2
remove privileged registers
2025-12-05 17:03:05 -08:00
Nikita Smith
8005c31276
remove x86 register code
2025-12-05 16:39:02 -08:00
Nikita Smith
ce77442d37
fix x87 register layout
2025-12-05 16:36:46 -08:00
Nikita Smith
81f08a01bc
inline anonymous members
2025-12-02 14:39:36 -08:00
Nikita Smith
f9561cb618
add support for CFA in the eval system
...
Canonical Frame Address is a DWARF-only concept encoded in the unwind info.
Debugger must store this data for each call frame and provide it to
the eval system based on selected stack frame.
To abstract over format details, we introduce a "Frame Unwind Context".
For DWARF, this context maintains the intermediate unwind state and exposes
the CFA, whereas for PE, it remains empty.
2025-11-26 15:42:40 -08:00
Nikita Smith
7cafde3376
revert DWARF changes to commit bda3a71379
2025-11-13 10:53:29 -08:00
Ryan Fleury
2a76093e17
form value resolution; line table header parsing
2025-11-11 17:24:12 -08:00
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 Smith and Ryan Fleury
b596a6ed8a
dumper for SHT_NOTE
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
8bc1e4b21c
explicitly update stack pointer
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
3f70cd6d05
handle CFI programs without meaningful instructions
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
7616767ed7
fix CFA_Expr instruction fill
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
f2392284d5
add missing case for the register rule
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
16232b98d8
SP from arch helper
2025-11-07 14:39:45 -08:00
Nikita Smith and Ryan Fleury
9e965e345f
string format expression op when version is below 3
2025-11-07 14:39:45 -08:00
Nikita Smith and Ryan Fleury
1b6e9e9d7b
parse "Signal Frame" aug flag and fill out augmentation data size
2025-11-07 14:39:45 -08:00
Nikita Smith and Ryan 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 Smith and Ryan Fleury
36b22c06b1
moved eh_frame files to dwarf layer
2025-11-07 14:39:45 -08:00