Nikita Smith
eb4e6d2883
alloc slots for null
2025-09-26 16:28:46 -07:00
Nikita Smith
647bc4206f
minor typo
2025-09-24 12:42:17 -07:00
Nikita Smith
a75a33e6d3
minor fix for UBA detour
2025-09-22 10:06:21 -07:00
Nikita Smith
3d7afb58fa
speed up symbol patching
2025-09-22 10:06:21 -07:00
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
5a12513306
parallelize section garbage collection
...
currently we tag pointers to solve ABA problem however if the list
has more than max_U16 items, the tag will overflow and cause serious issues.
To fix this, we need to use 64-bit tags together with 128-bit interlocked
compare-exchange intrinsic
2025-09-17 15:21:37 -07:00
Nikita Smith
80967fac12
pre-parse section names and flag debug info sections
2025-09-16 10:31:02 -07:00
Nikita Smith
488849792c
change file search to return on first match
2025-09-16 10:31:01 -07:00
Nikita Smith
7cea036bc1
clean up pass over symbol table
...
- rename functions for consistency
- remove unused code
2025-09-08 16:07:31 -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
d92f45784d
rename defined symbol to obj ref, as the symbol table no longer has
...
scopes and it makes no sense to refer to them that way
2025-09-06 09:54:22 -07:00
Nikita Smith
6a3d7e65f3
remove year from the copyright
2025-09-05 15:19:31 -07:00
Nikita Smith
67e66dc26e
WIP switching to serial library search-style, removed lib scope from
...
the symbol table
2025-09-05 15:19:30 -07:00
Nikita Smith
0ceadff525
maintain input order of objs in PDB
2025-09-05 15:19:30 -07:00
Nikita Smith
0656020ab3
sync primitive fixes
2025-08-18 19:26:35 -07:00
Nikita Smith
b3efce4b9a
better place for this helper function
2025-07-28 20:07:56 -07:00
Nikita Smith
1e1d903878
store library pointer in the obj instead of path; required for prioritized symbol lookup implementation
2025-07-28 20:07:56 -07:00
Nikita Smith
07c7178770
filter out removed COMDATs from the PDB public symbols
2025-07-23 16:09:48 -07:00
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