Commit Graph

3180 Commits

Author SHA1 Message Date
Ryan Fleury a2b4e7bdc5 fix missing null voff in scope voff data section 2025-09-05 16:02:38 -07:00
Nikita Smith 11373f4432 disable COFF group info generation 2025-09-05 15:19:31 -07:00
Nikita Smith f2ee135439 fix up symbols visibility 2025-09-05 15:19:31 -07:00
Nikita Smith 56c43ad614 clean up HashTable, removed unused command line switches, added
list wrapper for alt names, added natvis for HashTable, AltNameList,
MergeDirectiveList, and IncludeSymbolList
2025-09-05 15:19:31 -07:00
Nikita Smith 6a3d7e65f3 remove year from the copyright 2025-09-05 15:19:31 -07:00
Nikita Smith e88dc44f31 clean up debug leftovers 2025-09-05 15:19:31 -07:00
Nikita Smith 580303b0dd emit jump thunks for imports only when needed 2025-09-05 15:19:30 -07:00
Nikita Smith 43e81b934b move weak symbol replacer to the symbol table layer 2025-09-05 15:19:30 -07:00
Nikita Smith 8d75497bba do not set function pad min switch by default 2025-09-05 15:19:30 -07:00
Nikita Smith 0b0a2664d1 merge .idata with .rdata 2025-09-05 15:19:30 -07:00
Nikita Smith a64f8f4196 clean up over base strings in the linker layer 2025-09-05 15:19:30 -07:00
Nikita Smith 9f6da0ec63 simplify section removal and purging 2025-09-05 15:19:30 -07:00
Nikita Smith 43b35d43dc change lib sort to preserve input order 2025-09-05 15:19:30 -07:00
Nikita Smith 845e225e81 push alt name strings after they are copied to the config arena 2025-09-05 15:19:30 -07:00
Nikita Smith fdad3f4f58 natvis for lib member ref 2025-09-05 15:19:30 -07:00
Nikita Smith 78b1f7e701 optionally emit import thunks 2025-09-05 15:19:30 -07:00
Nikita Smith 1aac27095e WIP: reorder input and library search order to match MSVC behavior 2025-09-05 15:19:30 -07:00
Nikita Smith 240935f0cc WIP: use MSVC rule for COMDAT symbol replacement 2025-09-05 15:19:30 -07:00
Nikita Smith d9eb26a830 infer subsystem when only entry point is specified 2025-09-05 15:19:30 -07:00
Nikita Smith b0db2b19f8 move entry point name redirection helper to MSCRT layer 2025-09-05 15:19:30 -07:00
Nikita Smith e1b7168605 update weak vs undefined replacement rule 2025-09-05 15:19:30 -07:00
Nikita Smith d7cdaa98b5 oops forgot to set enum type 2025-09-05 15:19:30 -07:00
Nikita Smith c397b1dfb1 handle common section case 2025-09-05 15:19:30 -07:00
Nikita Smith 843de72f64 add U8 atomic exchange for clang and gcc 2025-09-05 15:19:30 -07:00
Nikita Smith 0dac1a91db fix u128 make 2025-09-05 15:19:30 -07:00
Nikita Smith fc4e269211 ignore sign conversions in stb_sprintf.h 2025-09-05 15:19:30 -07:00
Nikita Smith daf69ff1c7 fix sign conversion in radsort.h 2025-09-05 15:19:30 -07:00
Nikita Smith 971f1b9a2f ignore sign conversions in blake3 2025-09-05 15:19:30 -07:00
Nikita Smith 1a9e17ee37 remove invalid normalize helpers for integer vectors (they always produce zero) 2025-09-05 15:19:30 -07:00
Nikita Smith e0c409e3f4 move prototype decl to base_core.h to fix implicit function usage 2025-09-05 15:19:30 -07:00
Nikita Smith 3bd8f0e1d5 fix argument expansion in github actions and build.bat 2025-09-05 15:19:30 -07:00
Nikita Smith 41fe8a7410 merge undefined and weak search passes 2025-09-05 15:19:30 -07:00
Nikita Smith b64e1dca9a WIP fix lib push order and sort new inputs 2025-09-05 15:19:30 -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 330c8ead38 move member queue-attempt flag from symbol to lib struct 2025-09-05 15:19:30 -07:00
Nikita Smith f1b22dbe27 change library to use compressed member offsets 2025-09-05 15:19:30 -07:00
Nikita Smith 89d496c855 fix replacement rule for weak search library vs undefined 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
Ryan Fleury 4eca7f7fea source file / source line map baking 2025-09-05 15:19:30 -07:00
Ryan Fleury efb24fb0fa checkpoint on src file / src line map baking 2025-09-05 15:19:30 -07:00
Ryan Fleury d2e6e5de5a oops - fix non-allocation in previous part 2025-09-05 15:19:30 -07:00
Ryan Fleury 15e9cda7d2 new location info baking, new constants baking 2025-09-05 15:19:30 -07:00
Ryan Fleury ee8dc27428 location data / location block baking 2025-09-05 15:19:30 -07:00
Ryan Fleury cd77ddb1b7 pdb converter - new location info building for all cases 2025-09-05 15:19:30 -07:00
Ryan Fleury 6f9b22b258 plug in new location building code to pdb conversion 2025-09-05 15:19:30 -07:00
Ryan Fleury cc9f45299a eliminate separate chunk list for location cases 2025-09-05 15:19:30 -07:00
Ryan Fleury fa05bbf2a5 udt member/enum-val layout & nested baking; use rio to pre-fault all commits 2025-09-05 15:19:30 -07:00
Ryan Fleury a84142ed77 re-nest enum vals & members into udts; we want to keep the building API flexible with order of member building, and we can assume ~statistically-uniform distribution across all udts, so it makes more sense to just parallelize on udts, and pay the small cost of an upfront per-lane layout. 2025-09-05 15:19:30 -07:00
Ryan Fleury 8b83e5ef48 more non-determinism & bug fixes in name map & idx run map building 2025-09-05 15:19:29 -07:00
Ryan Fleury 4c3bb98c64 more determinism fixes 2025-09-05 15:19:29 -07:00