Commit Graph
188 Commits
Author SHA1 Message Date
Ryan Fleury 286589f4de rdi_from_pdb: exemplar tests 2026-06-21 20:37:52 -07:00
Ryan Fleury c890b806d5 pull out test input/exemplar path formation helpers to base; fix torture crash 2026-06-21 20:13:44 -07:00
Ryan Fleury fe2aa4d14c com shim for launching raddbg in cli mode, for proper console subsystem style usage of packaged bin utilities; checkpoint on eval2 2026-06-19 20:12:20 -07:00
Ryan Fleury 3fd7b40f4d remove 'global stream' specialities in codeview -> rdi conversion; just have the caller pass all units, and in the case of pdb conversion, we simply make a global unit at that layer. 2026-06-19 20:12:20 -07:00
Ryan Fleury 66bca76edd delete non-codeview-backed pdb conversion path, switch over to codeview conversion totally 2026-06-18 08:59:51 -07:00
Ryan Fleury a441a5eef3 plug in codeview-conversion-backed pdb converison 2026-06-18 08:54:41 -07:00
Ryan Fleury d56cd83cac sketch out revised pdb conversion path which just uses the codeview conversion pass 2026-06-18 08:24:02 -07:00
Ryan Fleury cc75260946 checkpoint on eval2; type graph operations, parsing, etc. 2026-06-17 17:38:09 -07:00
Nikita Smith 41e6470d28 fix radbin launch in p2r determinism test 2026-06-12 15:34:29 -07:00
Ryan Fleury 9955c8c1a7 temporarily turn off symbol server stuff - switch off spoof for step-over 2026-06-09 09:27:23 -07:00
Ryan Fleury b22f9f2d8b checkpoint on symbol server 2026-06-08 17:32:07 -07:00
Ryan Fleury 536ca53d18 rdi_from_pdb: sketch out paths for LF_ALIAS 2026-06-08 11:26:17 -07:00
Ryan Fleury 4dd22c9e51 re-enable p2r determinism tests 2026-06-02 12:11:06 -07:00
Ryan Fleury 685c408a13 migrate from torture-defined testing markup -> base 2026-06-02 12:11:02 -07:00
Ryan Fleury 4e72553006 promote test-definition concepts from torture to base layer; reorganize tests to be nested in their respective layer; eliminate 't_group', just use containing layer 2026-06-02 12:11:01 -07:00
Ryan Fleury 3715021e0e do not assume nonzero namespace table slots 2026-06-02 12:10:55 -07:00
Nikita Smith 568a77b73c fix up scratch conflicts 2026-06-02 12:10:50 -07:00
Ryan Fleury 58e6430955 p2r: more carefully choose symbol chunk sizes - we were spending dramatically more memory than needed in cases where there were many translation units, with very few symbols, because of our overly-aggressive chunk sizes (e.g. chrome.dll.pdb). also, since we just parse the msf by forming contiguous streams, let's just always map input files in radbin by default, so that we don't pay twice for the memory. 2026-05-20 14:02:08 -07:00
Ryan Fleury 9a923e9bf9 d2r2: .debug_loclists parsing, DWARF expression -> RDI location info; first pass at baking frame base into var locations to match simpler PDB behavior; fixes to high-pc address evaluation (based on form kind) 2026-04-29 12:40:43 -07:00
Nikita Smith 48f2a931ce clang build fix 2026-04-22 09:30:45 -07:00
Ryan Fleury 6f2b8540eb store partially-qualified names in generated RDIs; adjust debugger to do fully-qualified lookups when appropriate 2026-04-21 19:36:38 -07:00
Ryan Fleury fda0a9751b equip namespace records with container info 2026-04-20 15:14:01 -07:00
Ryan Fleury 581c102bfd sort deduplicated namespace map before producing namespaces 2026-04-20 14:43:03 -07:00
Ryan Fleury 5fb1ef4df9 fix global vmap baking determinism - eliminate dupes 2026-04-20 14:15:38 -07:00
Ryan Fleury 16ea060382 fix source of vmap baking determinism issue, + fix use-after-free from cross-lane scratch usage 2026-04-20 14:06:34 -07:00
Ryan Fleury e8e9ad204a further pdb namespaces progress; fix compile-only output for /o MSVC deprecation 2026-04-20 13:53:50 -07:00
Ryan Fleury 03d1575c85 non-scope, non-type namespace gathering / gathering from pdb & baking & dumping 2026-04-20 09:57:34 -07:00
Ryan Fleury 881e19c842 get debugger onto new location info & symbol format 2026-04-20 09:57:33 -07:00
Ryan Fleury 7383cdc5ae fix dumper for new symbols/locations format; produce dummy global unit for global stream pdb info - avoid stomping on 0 unit; fix stomping of location info, from missing lane sync 2026-04-20 09:57:32 -07:00
Ryan Fleury bec7e630ba fix duplicate nil local, equip locals with their scopes as symbol containers 2026-04-20 09:57:32 -07:00
Ryan Fleury 2218649801 fix busted section codes 2026-04-20 09:57:31 -07:00
Ryan Fleury b1e6948576 rdi: extend per-unit info with symbol ranges; build into baker 2026-04-20 09:57:31 -07:00
Ryan Fleury 57e4b69e64 adjust rdi make to keep per-unit info organization - flatten / join in baker, to ensure unit-sorted order 2026-04-20 09:57:31 -07:00
Ryan Fleury abb0199936 checkpoint on new local baking 2026-04-20 09:57:31 -07:00
Ryan Fleury cff7a786b3 fold voffs/toffs/constants into location case list, plug into converters 2026-04-20 09:57:30 -07:00
Ryan Fleury 4ea7f86d92 checkpoint on new simplified location info baking. plug in constant data baking, bytecode baking 2026-04-20 09:57:30 -07:00
Ryan Fleury 911e8c135e new location info baking layout computation - symbol-inlined locations in most cases, + indirected to set elements / bytecode / constant data as needed 2026-04-20 09:57:30 -07:00
Ryan Fleury eff693244b sketch out first part of new unified symbol table baking pass, sketch out new simplified sections 2026-04-20 09:57:29 -07:00
Ryan Fleury 8513ef8a4f pdb -> rdi conversion: be robust to zero itypes in function type parameter lists. was causing, in some cases, local variables to be incorrectly interpreted as parameters, because there was a (nonexistent) parameter to the function recorded in the type info. 2026-04-15 12:28:42 -07:00
Ryan Fleury 5badc7f325 sketch out unified RDI_Variable to replace RDI_GlobalVariable, RDI_ThreadVariable, RDI_Local, and RDI_Constant, & plug into new RDI structured namespaces 2026-03-09 15:15:48 -07:00
Ryan Fleury 408b3af27c rdi namespace baking; cv parsing rec iterator, deduplicate oob-safe cv record iterating 2026-03-09 14:36:05 -07:00
Ryan Fleury 8db4a09941 eliminate global rdim_shared; just use scratch data 2026-03-09 11:56:43 -07:00
Ryan Fleury 4312ee14fd first pass at (rdi -> loose rdim) path, used in (rdi * ... * rdi) -> rdi joining in radbin; plug in regular conversion path before voff -> line & breakpad paths in radbin, such that PDBs, DWARFs, RDIs, etc. can be used as input; fix up voff -> line path to plug into regular output systems; remove String8 union thing - three reasons: (a) it was only ever introduced for convenience in Linux layers, so let's just keep zero-terminated Linux nonsense in Linux land, (b) it was just alternate syntax for a cast, so let's just cast, (c) it was misleading - 'cstr' implies null-termination, which String8 of course doesn't guarantee. this led to some misuses, where .cstr was trusted to be zero-terminated, when that was not necessarily true (semaphore opening). 2026-03-03 16:24:54 -08:00
Ryan Fleury 2af3990971 do not rely on lane 0 scratch ptrs for results in p2r - prone to races 2026-03-02 12:17:03 -08:00
Nikita Smith 2fbe45cd47 sync before scratch_end to prevent race in the result fill 2026-02-26 16:41:36 -08:00
Nikita Smith a2336b9991 ASAN false-positives when threads access foreign stack addresses 2026-02-26 16:22:36 -08:00
Nikita Smith d1b055c62f Ignore S_REGREL32 during conversion of optimized procedures.
In optimized builds, MSVC emits parameters as both S_LOCAL and S_REGREL32.
Most likely because their debugger relies on S_REGREL32 to format
parameters in the call stack window.
2026-01-20 14:47:03 -08:00
Nikita Smith a51d3fb752 fix case where return local without a type was converted to a parameter 2026-01-20 14:47:01 -08:00
Nikita Smith 8005c31276 remove x86 register code 2025-12-05 16:39:02 -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