Commit Graph
271 Commits
Author SHA1 Message Date
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 SmithandRyan 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 SmithandRyan Fleury 20c92e0baf speed up base reloc gather step and serialize pages in parallel 2025-09-24 12:42:17 -07:00
Nikita SmithandRyan 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 SmithandRyan Fleury e33a95bfe2 do not embed time stamp with /brepro 2025-09-17 15:21:37 -07:00
Nikita SmithandRyan 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 SmithandRyan Fleury 630c3b42a7 do lightweight import gathering while resolving links 2025-09-17 15:21:37 -07:00
Nikita SmithandRyan Fleury d4ac5ede77 assign correct removed section type 2025-09-17 15:21:37 -07:00
Nikita SmithandRyan Fleury 0b5dd92a87 minor tweaks 2025-09-17 15:21:37 -07:00
Nikita SmithandRyan Fleury ded932e3ba skip library searches for import stubs 2025-09-17 15:21:37 -07:00
Nikita SmithandRyan 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 SmithandRyan Fleury 80967fac12 pre-parse section names and flag debug info sections 2025-09-16 10:31:02 -07:00
Nikita SmithandRyan 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