Nikita Smith and Ryan Fleury
03e4958190
assign layout offsets and sizes to merged sections
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f75cdd23d7
collapse linker input states into one state
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f467ff8822
WIP move export and import table make code to appropriate layers
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
69d5010245
WIP switching to creating import table objs
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
8da56025b3
patch section symbol and test for relocations to discarded memory
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
bd830a6023
test case for relocation to undefined section with base relocations
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
3a7afcd80c
replace linker lib writer with one from COFF
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
19a7ada1dc
make export table with COFF obj writer,
...
partially converted import table to COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
3a2bb318c7
make import lib objs with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
e580b69180
make linker obj with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
c45088b546
replaced dependency on linker's chunking for resource serialization
...
with COFF obj writer
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 and Ryan Fleury
307d3a7f4b
check obj compatibility before initializing them
2025-06-25 10:53:21 -07:00
Ryan Fleury
88867ac758
lib_rdi_format -> lib_rdi
2025-06-19 08:21:58 -07:00
Ryan Fleury
f590e9b6d5
eliminate separate path layer, merge into base strings layer
2025-06-19 07:38:34 -07:00
Ryan Fleury
058c1454e2
eliminate all extra enums files for formats
2025-06-19 07:25:35 -07:00
Nikita Smith
ab05133f8a
picked better name convention for the section table
2025-04-04 15:47:56 -07:00
Nikita Smith
c090bee2f3
added missing debug comments for chunks
2025-04-04 15:45:51 -07:00
Nikita Smith
bb3d01ffe6
output lib index and chunk debug comments
2025-04-04 15:45:51 -07:00
Nikita Smith
c6ba475427
produce image layout map
2025-04-04 15:45:51 -07:00
Nikita Smith
02885b0b86
dedup manifest inputs
2025-04-02 22:48:56 -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
4298f3d5f6
typo
2025-03-17 13:29:52 -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
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
85ea141b83
minor fixes
2025-01-20 21:53:45 -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
b405ed4873
factored out logic for splitting function chunks into separate pass
...
over symbol table; associations are now assigned to sub chunks too;
inherit function chunk align from parent chunk
2025-01-16 13:47:13 -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
b6b64be867
moved enum handling code to separate files
2025-01-08 03:24:35 -08:00
Nikita Smith
3961f93d1a
moved CodeView parser code into separate file
2025-01-08 03:24:35 -08:00
Nikita Smith
c91253a19e
move feature flags to appropriate layer
2024-12-10 14:07:51 -08:00
Nikita Smith
08a368dd66
handle ADDR32 base relocation
2024-12-06 15:35:33 -08:00
Nikita Smith
6cf42338ba
clang build fixes
2024-12-06 12:05:44 -08:00
Nikita Smith
80fa226432
pass over COFF archive parser
2024-12-06 11:53:16 -08:00
Nikita Smith
47ac1796a9
use build string literal from base context
2024-12-06 11:53:16 -08:00
Nikita Smith
c037d6ad75
WIP function padding
2024-11-21 01:05:33 -08:00
Nikita Smith
816d8e88bf
remove warning pragma around radsort
2024-11-18 16:26:42 -08:00
Nikita Smith
31f536334e
third party include fixups
2024-11-18 16:17:26 -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
b631d431fa
create section layout without copying chunk data and perform chunk data
...
copy in parallel given layout
2024-11-15 16:14:00 -08:00