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
a060f581d9
stub /d2
2025-09-22 10:06:20 -07:00
Nikita Smith
0b154cef46
stub /brepro
2025-09-17 15:21:37 -07:00
Nikita Smith
c653410af5
stub /errorreportlevel
2025-09-17 15:21:37 -07:00
Nikita Smith
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
56c43ad614
clean up HashTable, removed unused command line switches, added
...
list wrapper for alt names, added natvis for HashTable, AltNameList,
MergeDirectiveList, and IncludeSymbolList
2025-09-05 15:19:31 -07:00
Nikita Smith
6a3d7e65f3
remove year from the copyright
2025-09-05 15:19:31 -07:00
Nikita Smith
1aac27095e
WIP: reorder input and library search order to match MSVC behavior
2025-09-05 15:19:30 -07:00
Nikita Smith
e1786d0a11
discard delay loads in the config before they get to link context builder
2025-08-18 19:09:32 -07:00
Nikita Smith
1fe85acff8
refactor include symbols to go through same code path as alternate name symbols
2025-08-05 08:39:11 -07:00
Nikita Smith
c1958809eb
make use of undocumented anti-dependency search property on weak symbols
...
to implement alternate name using weak symbols
2025-08-05 08:39:11 -07:00
Nikita Smith
8d246d0c6a
pass down to config obj; preparing to refactor alternate name out of the symbol table
2025-08-05 08:39:11 -07:00
Nikita Smith
92e6069104
collapse obj directive directive code paths
2025-07-28 20:07:56 -07:00
Nikita Smith
18f83521e4
clean up pass over directives handler; preparing to collapse code paths
2025-07-28 20:07:56 -07:00
Nikita Smith
f5b19675cb
merge conflict
2025-06-25 10:53:24 -07:00
Nikita Smith
46663688e2
on read memory map files
2025-06-25 10:53:24 -07:00
Nikita Smith
16e72fd573
remove unused switch
2025-06-25 10:53:24 -07:00
Nikita Smith
c7d6145ec9
print section contributions in RAD_MAP
2025-06-25 10:53:24 -07:00
Nikita Smith
a5119e3b51
WIP function pad min
2025-06-25 10:53:24 -07:00
Nikita Smith
5fb0d978b9
WIP function pad min
2025-06-25 10:53:24 -07:00
Nikita Smith
205723f8d6
parallelize symbol tables patching
2025-06-25 10:53:24 -07:00
Nikita Smith
89e2ea15ad
add /RAD_REMOVE_SECTION switch and special case debug sections
2025-06-25 10:53:23 -07:00
Nikita Smith
73fe9d223a
handle /ALTERNATENAME directive
2025-06-25 10:53:22 -07:00
Nikita Smith
d3c3b672ea
image name helper
2025-06-25 10:53:22 -07:00
Nikita Smith
f467ff8822
WIP move export and import table make code to appropriate layers
2025-06-25 10:53:22 -07:00
Nikita Smith
69d5010245
WIP switching to creating import table objs
2025-06-25 10:53:22 -07:00
Nikita Smith
f25dc5cc8d
pack export table into obj and input back to the linker
2025-06-25 10:53:22 -07:00
Nikita Smith
7c071e7238
linker checkpoint
2025-06-25 10:53:22 -07:00
Nikita Smith
01c905dbbd
reuse import table flags, and parameterize data directory count
2025-06-25 10:53:21 -07:00
Nikita Smith
55c76db902
handle linker directives in a separate step after obj is initialized,
...
this way we don't need to store directives in obj struct
2025-06-25 10:53:21 -07:00
Nikita Smith
c6ba475427
produce image layout map
2025-04-04 15:45:51 -07:00
Nikita Smith
bbce89eada
added /RAD_WRITE_TEMP_FILES
...
When enabled linker writes image and debug info to temporary files
and renames them after all writes are done.
2025-02-25 14:41:34 -08:00
Nikita Smith
0ca9d97750
error out on /LIB and /DUMP switches
2025-01-24 14:40:27 -08:00
Nikita Smith
f2f18b9798
replaced /RAD_IDLE_WORKERS with /RAD_SHARED_THREAD_POOL_MAX_WORKERS
2025-01-24 12:49:30 -08:00
Nikita Smith
61307aefbc
reworked thread pool to share workers via semaphore
2025-01-21 01:55:13 -08:00
Nikita Smith
d3fbc858b8
impl shared thread pool mode
2025-01-20 21:41:24 -08:00
Nikita Smith
190eb03ff3
removed default lib directive parser, moved directive code to obj file,
...
getting ready to deprecate LNK_Directive struct
2025-01-15 14:03:40 -08:00
Nikita Smith
3cec629a8c
pipe obj directives through config path
2025-01-13 15:22:37 -08:00
Nikita Smith
723c950c01
add default params for /FUNCTIONPADMIN
2024-12-09 14:27:03 -08:00
Nikita Smith
e44dd3aa07
instead of searching for manifest tool manually punt the job to CreateProcess
2024-11-18 15:38:00 -08:00
Nikita Smith
435f6c4ef6
append .lib to defaultlibs
2024-11-15 16:14:00 -08:00
Nikita Smith
680ea2ffdc
added /RAD_IDLE_WORKERS
2024-11-08 16:09:56 -08:00
Nikita Smith
214be8c433
moved Guid struct and related helpers to base
2024-11-07 11:54:25 -08:00
Nikita Smith
eba7500f73
/rad_pdb_hash_type_names:lenient
...
Less aggressive optimization for type names. When lenient enabled, linker
replaces only mangled names and compiler generated lambda types.
2024-10-30 15:56:10 -07:00
Nikita Smith
f3fbf10754
replace type names with hashes
2024-10-30 15:56:09 -07:00
Nikita Smith
9ec7fb61ed
implemented /noimplib /noexp
2024-10-22 11:02:59 -07:00
Nikita Smith
7260baea85
implemented /PDBALTPATH and /RAD_DEBUGALTPATH
2024-10-21 18:03:28 -07:00
Nikita Smith
800a2349e5
pass over COFF resource reader and writer
2024-10-19 13:44:36 -07:00
Nikita Smith
46390ba0b8
reworked manifest handling
...
- manifest files wont be created unless symbols are resolved
- delay mt.exe presence check until we launch it
- create explicit case that writes manifests to disk
- moved manifest dependency collection step to happen after obj input
- removed /rad_delete_manifest
2024-10-18 23:37:30 -07:00
Nikita Smith
932df7bf68
linker
2024-10-15 17:25:22 -07:00