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
Ryan Fleury
b1a91b8247
adjust expiration timeouts for searches; fix unnecessary lowercasing when generating paths from pdbs
2025-10-23 16:41:08 -07:00
Ryan Fleury
c318c10486
pipe through guids in rdi conversion; sketch out 'query' meta cfg evaluation members, which are not stored but computed, but are not sets; plug in debug info guid evaluation that way
2025-10-23 12:10:23 -07:00
Ryan Fleury
b371bff6f2
do not skip basic itypes when building type building dependency chains!
2025-10-20 14:52:10 -07:00
Ryan Fleury
d9d321c074
mask off name map builds
2025-10-15 15:34:08 -07:00
Ryan Fleury
d6a7c8bd00
adjust chunk sizes for per-sym-stream symbol chunk lists
2025-10-15 15:21:42 -07:00
Ryan Fleury
9377efbe13
eliminate rest of p2r_shared usage, just use lane syncs
2025-10-15 14:21:32 -07:00
Ryan Fleury
d347e2473b
eliminate most reliance on p2r_shared for shared data - isolate scratch allocations, pull into scratch arenas, pop when possible
2025-10-15 14:07:42 -07:00
Ryan Fleury
0d06b7d2d2
regrel32: interpret rbp-relative offsets as potential parameters as well (this only shows up with /ZI - usually everything is rsp-relative)
2025-10-14 10:13:44 -07:00
Ryan Fleury
c1e32b93a7
switch from variable size checksum data sections to just making well-defined fixed size ones for all of the concrete cases
2025-10-02 15:43:01 -07:00
Ryan Fleury
56b5792546
rdi checksum kinds, rdim checksums, pull parsed checksum kinds/values from cv, fill out rdim checksums (still haven't put into rdi itself yet)
2025-10-02 13:40:45 -07:00
Ryan Fleury
fa0b2440ec
subset flag for constants conversion; fix empty-tpi-hash case
2025-09-24 12:42:04 -07:00
Ryan Fleury
2ce581fa19
more subset flag respecting
2025-09-22 17:39:26 -07:00
Ryan Fleury
5c1cf77fda
respect subset flags in pdb -> rdi converter
2025-09-22 17:32:05 -07:00
Ryan Fleury
80b65bc0fb
fix treatment of unitless pdbs
2025-09-08 16:06:45 -07:00