Nikita Smith
fcb06579a4
collapse symbol scope and symbol type enums
2025-06-25 10:53:25 -07:00
Nikita Smith
0aadf60359
update code block dividers
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
9d93eda3ed
simplify section table
2025-06-25 10:53:24 -07:00
Nikita Smith
439fd0324d
typos
2025-06-25 10:53:24 -07:00
Nikita Smith
5fd06f4466
do not push section contribs for sections without bytes
2025-06-25 10:53:24 -07:00
Nikita Smith
1c08db2705
move image, import lib, and debug info builders outside of the state machine
2025-06-25 10:53:24 -07:00
Nikita Smith
c82b98cd49
assign section index to .reloc
2025-06-25 10:53:23 -07:00
Nikita Smith
42bed0e5c6
merge delayed data section with .data
2025-06-25 10:53:23 -07:00
Nikita Smith
e911bf5368
move obj writer for PE debug directory to stand-alone file
2025-06-25 10:53:23 -07:00
Nikita Smith
dcc4f38709
clean up pass over obj file
2025-06-25 10:53:23 -07:00
Nikita Smith
64415e21f0
special case bss section contribs and fix off by one in range array bsearch
2025-06-25 10:53:23 -07:00
Nikita Smith
37689b2e4a
section collector
2025-06-25 10:53:23 -07:00
Nikita Smith
7c071e7238
linker checkpoint
2025-06-25 10:53:22 -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
71b0dfa150
bugfix for uninited memory
2025-01-23 20:39:06 -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
89ff4d0de2
on lambda types we have to replace unique name with hash,
...
otherwise visual studio wont show local variables in lambdas
2025-01-17 15:31:34 -08:00
Nikita Smith
98b9427446
dumper for Dwarf
2025-01-08 03:26:04 -08:00
Nikita Smith
0ea0820d19
minor fixes and cleanups
2024-12-06 11:53:16 -08:00
Nikita Smith
29de0c5a9e
moved unsigned range list to base math
2024-12-06 11:53:16 -08:00
Nikita Smith
a0dbe72820
moved common codeview code to the main layer
2024-11-21 15:58:32 -08:00
Nikita Smith
c037d6ad75
WIP function padding
2024-11-21 01:05:33 -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
Nikita Smith
a8b1805749
updated prof markup usage sites
2024-11-12 13:18:17 -08:00
Nikita Smith
3d7fc6fce5
moved memory and count string formatters to the main layer and
...
replaced str8_from_memory_size with more accurate data size units
2024-11-12 10:36:44 -08:00
Nikita Smith
8e6a0ae4db
errors and warnings fixes
2024-11-08 11:43:05 -08:00
Nikita Smith
15d43d7c99
removed dependency on os_ext
2024-11-07 14:12:41 -08:00
Nikita Smith
214be8c433
moved Guid struct and related helpers to base
2024-11-07 11:54:25 -08:00
Nikita Smith
7bb88f480e
mask compute typo
2024-11-07 11:54:24 -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
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
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
3aa4b2ea03
fix udt resolution & emit correct null type
2024-10-18 16:01:17 -07:00
Nikita Smith
c50d9276ba
build inline lines accels
2024-10-17 16:25:54 -07:00
Nikita Smith
d2db4542cb
check type server signature against signature in obj
2024-10-17 14:05:34 -07:00
Nikita Smith
932df7bf68
linker
2024-10-15 17:25:22 -07:00