Nikita Smith
0a791e5876
add support for LLVM ghash sections
2026-04-20 10:39:50 -07:00
Nikita Smith
e6f49aaded
test stripped PDB
2026-04-20 10:39:50 -07:00
Nikita Smith
18f468bc97
os_process_join closes handle
2026-04-15 15:32:51 -07:00
Nikita Smith
40763c06cf
swap dynamic and static libs
2026-04-11 12:50:41 -07:00
Nikita Smith
89a5acba2c
WIP stripped PDB
2026-04-10 17:02:04 -07:00
Nikita Smith
e54bef58df
implement /INFERASANLIBS
2026-04-06 22:18:26 -07:00
Nikita Smith
3bb8983461
implement /WHOLEARCHIVE
2026-04-06 14:35:46 -07:00
Nikita Smith
f72d127aaa
report unknown directives in debug build
2026-04-06 12:04:32 -07:00
Nikita Smith
99335959b0
ignore invalid type index errors in release
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
e0c6df710f
WIP change symbol extraction approach
2026-04-06 12:04:31 -07:00
Nikita Smith
8a1203ed35
add mutex around fprintf to linearize log
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
03ab203fb4
warnings
2026-02-23 11:57:05 -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
4e4a806b33
pass over the aligner
2026-02-15 23:17:59 -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
fbc3cbd6eb
polish help in radlink
2026-02-13 19:17:53 -08:00
Nikita Smith
519bc154ec
disable async for radlink
2026-02-13 17:33:18 -08:00
Nikita Smith
1e6df05d9f
sort resource pointers
2026-02-11 17:20:38 -08:00
Nikita Smith
aa25570904
improve memory usage when reporting unresolved symbols
2026-02-11 15:28:13 -08:00
Nikita Smith
e8ca3e0d5c
name tag arenas for the memory plots
2026-02-11 15:27:05 -08:00
Nikita Smith
2a76188570
allocate a minimum cap hash table for the lib member infos
2026-02-11 13:53:37 -08:00
Nikita Smith
71a46985b6
use string table extension for long section names
2026-02-05 19:45:35 -08:00
Nikita Smith
1c0e9030fa
move lib member queue state to the link step and release it after link step is done
2026-01-20 15:27:31 -08:00
Nikita Smith
0c4009c328
bugfix import member queue detection
2026-01-16 18:53:03 -08:00
Nikita Smith
8f47ce7616
filter out duplicate page entries before computing the buffer size
2026-01-16 18:52:55 -08:00
Nikita Smith
0c0b7ac6d3
bugfix import linking
2026-01-15 18:25:46 -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
3bd89b1fad
switch over to new MD5 hash lib
2025-10-10 10:15:22 -07:00
Nikita Smith
81d747b8d7
fix process join
2025-09-29 18:05:11 -07:00
Nikita Smith and Ryan Fleury
20c92e0baf
speed up base reloc gather step and serialize pages in parallel
2025-09-24 12:42:17 -07:00
Nikita Smith and Ryan Fleury
0a930be613
use radsort for sorting base reloc pages
2025-09-24 12:42:17 -07:00
Nikita Smith
6b278e1ccc
parallelize image fill
2025-09-22 10:06:21 -07:00
Nikita Smith
e72512f638
switch over to 64-bit pointer tagging
2025-09-22 10:06:21 -07:00
Nikita Smith
4717701540
update threading API
2025-09-22 10:06:21 -07:00
Nikita Smith
872c387bad
let errors from MT to bubble up to linker's stdout and stderr
2025-09-22 10:06:21 -07:00
Nikita Smith
42999bea63
profile markup obj relocation 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
ce044e7e83
detect removed fixup symbol and propagate correct section number
2025-09-22 10:06:20 -07:00
Nikita Smith and Ryan Fleury
e33a95bfe2
do not embed time stamp with /brepro
2025-09-17 15:21:37 -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
630c3b42a7
do lightweight import gathering while resolving links
2025-09-17 15:21:37 -07:00
Nikita Smith and Ryan Fleury
d4ac5ede77
assign correct removed section type
2025-09-17 15:21:37 -07:00
Nikita Smith and Ryan Fleury
0b5dd92a87
minor tweaks
2025-09-17 15:21:37 -07:00
Nikita Smith and Ryan Fleury
ded932e3ba
skip library searches for import stubs
2025-09-17 15:21:37 -07:00
Nikita Smith and Ryan Fleury
4e1ebe5a6b
change import stub symbol characteristic to search alias to skip them
...
on subsequent searches
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
3224c5e0aa
skip linker info sections during relocation patching, also log a message
...
when encountering an unsupported machine type
2025-09-16 10:31:01 -07:00