Nikita Smith
77ece3193e
fix clang /O2
2026-04-06 12:04:32 -07:00
Nikita Smith
129f0326f7
use thread broadcasts to simplify global symbol mover
2026-04-06 12:04:32 -07:00
Nikita Smith
ef712a36e7
minor bugfix
2026-04-06 12:04:32 -07:00
Nikita Smith
b5f0862a91
fixup file checksums in the MSF streams
2026-04-06 12:04:32 -07:00
Nikita Smith
46243548f3
fixup symbol tree offsets in module stream
2026-04-06 12:04:32 -07:00
Nikita Smith
d7cfd5f55a
WIP rework GSI and PSI symbol writer
2026-04-06 12:04:32 -07:00
Nikita Smith
883935d44e
WIP simplifying module stream layout step
2026-04-06 12:04:32 -07:00
Nikita Smith
f7ac6767cf
WIP symbol plumbing
2026-04-06 12:04:32 -07:00
Nikita Smith
e0c6df710f
WIP change symbol extraction approach
2026-04-06 12:04:31 -07:00
Nikita Smith
91b50bab00
no need to validate signature in S_OBJ; discard debug info if PCH
...
is missing instead of exiting
2026-04-06 12:04:31 -07:00
Nikita Smith
44a0efd207
test mismatched PCH signatures and presence of .debug$P and .debug$T in
...
same obj
2026-04-06 12:04:31 -07:00
Nikita Smith
d1594f796d
fix type source for PCH type indices
2026-04-06 12:04:31 -07:00
Nikita Smith
c0418b736d
WIP: internal and external type servers are functioning except for the
...
PCH indirection
2026-04-06 12:04:31 -07:00
Nikita Smith
1c6baf18f2
msf_parsed_from_data now always returns non-null result
2026-03-04 11:41:51 -08: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
Nikita Smith
eb8fd11b20
input for hashing external leaves was assuming different array layout
2026-02-23 13:55:04 -08:00
Nikita Smith
e942dd0380
checkpoint
2026-02-23 12:04:32 -08:00
Nikita Smith
516365e97b
rename CodeView leaf/symbol/debug_s helpers for consistent naming
2026-02-17 03:04:14 -08:00
Nikita Smith
2083c1ed87
serialize symbols directly into MSF streams
2026-02-16 20:32:44 -08:00
Nikita Smith
442f41b51a
inline byte hashing around type indices
2026-02-16 13:39:49 -08:00
Nikita Smith
76213ec5cd
switch to using 32-bit offsets for leaf records over the pointers
2026-02-15 23:11:51 -08:00
Nikita Smith
1f51c6f25b
ubsan cleanup
2026-02-13 20:59:26 -08:00
Nikita Smith
d7a87b7765
share arena between type deduper and MSF
2026-02-13 16:06:54 -08:00
Nikita Smith
f5fc3c66b7
reduce leaf hash table bucket size to 8 bytes
2026-02-13 15:03:51 -08:00
Nikita Smith
7720ba096e
switch to 64-bit type hashes; 128-bits is unnecessary, CodeView can't
...
have more than 2^32 types
2026-02-12 13:11:36 -08:00
Nikita Smith and Ryan Fleury
880b8135cc
add per-item purging to the hash table
2025-11-07 14:39:46 -08:00
Nikita Smith
eb4e6d2883
alloc slots for null
2025-09-26 16:28:46 -07:00
Nikita Smith and Ryan Fleury
647bc4206f
minor typo
2025-09-24 12:42:17 -07:00
Nikita Smith
a75a33e6d3
minor fix for UBA detour
2025-09-22 10:06:21 -07:00
Nikita Smith
3d7afb58fa
speed up symbol patching
2025-09-22 10:06:21 -07:00
Nikita Smith
371e52ad42
add /rad_alt_pch_dir for remapping objs in the local folder for pgo builds
2025-09-22 10:06:21 -07:00
Nikita Smith and Ryan Fleury
5a12513306
parallelize section garbage collection
...
currently we tag pointers to solve ABA problem however if the list
has more than max_U16 items, the tag will overflow and cause serious issues.
To fix this, we need to use 64-bit tags together with 128-bit interlocked
compare-exchange intrinsic
2025-09-17 15:21:37 -07:00
Nikita Smith and Ryan Fleury
80967fac12
pre-parse section names and flag debug info sections
2025-09-16 10:31:02 -07:00
Nikita Smith and Ryan Fleury
488849792c
change file search to return on first match
2025-09-16 10:31:01 -07:00
Nikita Smith and Ryan Fleury
7cea036bc1
clean up pass over symbol table
...
- rename functions for consistency
- remove unused code
2025-09-08 16:07:31 -07:00
Nikita Smith and Ryan Fleury
a6432cce8e
improve unresolved symbol errors
...
- collect symbol references and print out objs that reference
unresolved symbol
- print source file location of the references
2025-09-06 09:54:23 -07:00
Nikita Smith and Ryan Fleury
d92f45784d
rename defined symbol to obj ref, as the symbol table no longer has
...
scopes and it makes no sense to refer to them that way
2025-09-06 09:54:22 -07:00
Nikita Smith and Ryan Fleury
6a3d7e65f3
remove year from the copyright
2025-09-05 15:19:31 -07:00
Nikita Smith and Ryan Fleury
67e66dc26e
WIP switching to serial library search-style, removed lib scope from
...
the symbol table
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
0ceadff525
maintain input order of objs in PDB
2025-09-05 15:19:30 -07:00
Nikita Smith
0656020ab3
sync primitive fixes
2025-08-18 19:26:35 -07:00
Nikita Smith
b3efce4b9a
better place for this helper function
2025-07-28 20:07:56 -07:00
Nikita Smith
1e1d903878
store library pointer in the obj instead of path; required for prioritized symbol lookup implementation
2025-07-28 20:07:56 -07:00
Nikita Smith and Ryan Fleury
07c7178770
filter out removed COMDATs from the PDB public symbols
2025-07-23 16:09:48 -07:00
Nikita Smith and Ryan Fleury
fcb06579a4
collapse symbol scope and symbol type enums
2025-06-25 10:53:25 -07:00
Nikita Smith and Ryan Fleury
0aadf60359
update code block dividers
2025-06-25 10:53:24 -07:00
Nikita Smith and Ryan Fleury
46663688e2
on read memory map files
2025-06-25 10:53:24 -07:00
Nikita Smith and Ryan Fleury
9d93eda3ed
simplify section table
2025-06-25 10:53:24 -07:00
Nikita Smith and Ryan Fleury
439fd0324d
typos
2025-06-25 10:53:24 -07:00
Nikita Smith and Ryan Fleury
5fd06f4466
do not push section contribs for sections without bytes
2025-06-25 10:53:24 -07:00