Commit Graph
56 Commits
Author SHA1 Message Date
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