Nikita Smith and Ryan Fleury
2c5fb7e7ef
guard against merges with resource and base reloc sections
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f25dc5cc8d
pack export table into obj and input back to the linker
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
7c071e7238
linker checkpoint
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
01c905dbbd
reuse import table flags, and parameterize data directory count
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
c56cfefe09
move rsp unwrapper to config
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
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
ea5aab3f7e
remove assert for empty switch
2025-04-04 15:50:23 -07:00
Nikita Smith
c6ba475427
produce image layout map
2025-04-04 15:45:51 -07:00
Nikita Smith
1c518bfa07
prefix COFF machine enums with "Type"
2025-03-31 22:53:10 -07:00
Nikita Smith
b9c4774786
minor fixes
2025-03-26 12:18:46 -07:00
Nikita Smith
0c61415f72
merged path helper code from linker layer into main path layer
2025-03-26 12:18:46 -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
b18060ef0d
on crash CRT randomly wont flush stdout
2025-01-23 20:45:25 -08:00
Nikita Smith
b463c8087d
copy alternate name strings
2025-01-23 20:44:14 -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
153bbc7b1d
pass over COFF layer
...
- updated naming convention on structs, enums, and macros to conform with code base style
- moved related structs closer to each other
- moved parser code to separate file
2025-01-20 19:31:52 -08:00
Nikita Smith
a1d5837ff3
helpers for matching string literals
2025-01-18 17:39:11 -08:00
Nikita Smith
de2ea38f50
build file paths relative to image path
2025-01-16 14:03:14 -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
47ac1796a9
use build string literal from base context
2024-12-06 11:53:16 -08:00
Nikita Smith
af57e321de
show full lib path for better debuggability
2024-11-18 15:38:00 -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
3a190ae2c3
show an early warning for /DEBUG:FASTLINK
2024-11-12 10:36:44 -08:00
Nikita Smith
680ea2ffdc
added /RAD_IDLE_WORKERS
2024-11-08 16:09:56 -08:00
Nikita Smith
8e6a0ae4db
errors and warnings fixes
2024-11-08 11:43:05 -08:00
Nikita Smith
69b43c76d4
default to llvm-mt on non-windows platforms
2024-11-08 11:43:05 -08:00
Nikita Smith
ef5287d2a9
switch to os_full_path_from_path
2024-11-07 13:41:47 -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
baead67a99
minor fixes
2024-10-30 15:42:39 -07:00
Nikita Smith
8848080729
set explicitly heap and stack reserve and size
2024-10-30 15:42:39 -07:00
Nikita Smith
6ffc065712
set dynamic base on /fixed:no
2024-10-30 15:42:39 -07:00
Nikita Smith
340396f9f7
fix arena usage
2024-10-22 15:07:49 -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
26611c5454
moved IO related code to stand-alone file, piped all read/and writes
...
through new API, /rad_log now can enable read and/or write logs with
"io", "io_reads", "io_writes" parameters.
2024-10-19 16:36:32 -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
d04e86c007
rename merged manifest
2024-10-18 16:23:51 -07:00
Nikita Smith
932df7bf68
linker
2024-10-15 17:25:22 -07:00