Nikita Smith and Ryan Fleury
58b5b3d92d
search chunks only grow while resolving libraries, so revisit only symbols appended since this library's last search
2026-07-27 14:47:20 -07:00
Nikita Smith
1f51c6f25b
ubsan cleanup
2026-02-13 20:59:26 -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
0c0b7ac6d3
bugfix import linking
2026-01-15 18:25:46 -08: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
fb46d0bba4
sort symbol names in first member header
2025-09-08 16:07:31 -07:00
Nikita Smith and Ryan Fleury
6a3d7e65f3
remove year from the copyright
2025-09-05 15:19:31 -07:00
Nikita Smith and Ryan Fleury
43b35d43dc
change lib sort to preserve input order
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
1aac27095e
WIP: reorder input and library search order to match MSVC behavior
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
b64e1dca9a
WIP fix lib push order and sort new inputs
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
330c8ead38
move member queue-attempt flag from symbol to lib struct
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
f1b22dbe27
change library to use compressed member offsets
2025-09-05 15:19:30 -07:00
Nikita Smith and Ryan Fleury
b1723ce066
gracefully handle invalid libs
2025-06-25 10:53:25 -07:00
Nikita Smith and Ryan Fleury
0aadf60359
update code block dividers
2025-06-25 10:53:24 -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
4a2e1dd8d0
switch to thread safe hash trie map
...
Initial implementation of the symbol table allowed us to push symbols
from one thread at a time and required a wonky lock-step and spread out
logic for replacing symbols. And because it was a externally chained
hash table we had to guesstimate optimal capacity for small and big targets.
We erred on the side of larger capacity to prevent degradation and
rehashing, however this meant small targets had to spent unreasonable
amount of time memory allocing slots. With hash trie we can dynamically
scale up to 4 ^ 32 items and atomically replace symbols when needed. Neat!
2024-10-30 15:43:53 -07:00
Nikita Smith
932df7bf68
linker
2024-10-15 17:25:22 -07:00