Commit Graph

285 Commits

Author SHA1 Message Date
Nikita Smith dd715dacf7 assign COMDAT symlinks as soon as the symbol table is processed 2025-08-05 08:39:11 -07:00
Nikita Smith 1fe85acff8 refactor include symbols to go through same code path as alternate name symbols 2025-08-05 08:39:11 -07:00
Nikita Smith c1958809eb make use of undocumented anti-dependency search property on weak symbols
to implement alternate name using weak symbols
2025-08-05 08:39:11 -07:00
Nikita Smith 8d246d0c6a pass down to config obj; preparing to refactor alternate name out of the symbol table 2025-08-05 08:39:11 -07:00
Nikita Smith 92e6069104 collapse obj directive directive code paths 2025-07-28 20:07:56 -07:00
Nikita Smith 18f83521e4 clean up pass over directives handler; preparing to collapse code paths 2025-07-28 20:07:56 -07:00
Nikita Smith 0b904f4e24 extract function size infer logic into its own block 2025-07-28 20:07:56 -07:00
Nikita Smith 7be9df0e90 move directive section gather logic to obj layer 2025-07-28 20:07:56 -07:00
Nikita Smith 72e073e4e6 fix typo that broke /NODEFAULTLIB usage 2025-07-28 20:07:56 -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 4cb09e73c2 remove warning pragma 2025-07-28 20:07:56 -07:00
Nikita Smith 0b37fac81c move delay load helper to mscrt layer 2025-07-28 20:07:55 -07:00
Nikita Smith 6fda20ec9c helper script for extracting obj paths out of pdb 2025-07-24 17:44:13 -07:00
Nikita Smith 54fad8a89c validate strong symbol interp type 2025-07-24 17:32:05 -07:00
Nikita Smith 2d52e274ce remove debug code 2025-07-24 17:32:05 -07:00
Nikita Smith cc6e56eee1 do full path check for thin objs only 2025-07-24 17:32:05 -07:00
Nikita Smith 07c7178770 filter out removed COMDATs from the PDB public symbols 2025-07-23 16:09:48 -07:00
Nikita Smith 17d35cd327 add garbage collector for COMDAT sections 2025-07-23 16:09:48 -07:00
Nikita Smith a6b2cf64ba WIP collect sections associations 2025-07-23 16:09:48 -07:00
Nikita Smith d32667546d factor out weak symbol resolution logic and apply it to the symbol table
when building link context
2025-07-23 16:09:48 -07:00
Nikita Smith 7cd5a670e3 WIP factoring out symbol table fixups 2025-07-23 16:09:48 -07:00
Nikita Smith db52ba32e6 helper for profiling parallel fors 2025-07-16 13:54:58 -07:00
Nikita Smith 17ca83697b draft symbol table fixups to prepare for refactoring symbol table patching step 2025-06-25 10:53:25 -07:00
Nikita Smith 08f2b749e8 omit file offset, file size, and hash on bss sections 2025-06-25 10:53:25 -07:00
Nikita Smith a954c2125c merge fixups 2025-06-25 10:53:25 -07:00
Nikita Smith fcb06579a4 collapse symbol scope and symbol type enums 2025-06-25 10:53:25 -07:00
Nikita Smith b1723ce066 gracefully handle invalid libs 2025-06-25 10:53:25 -07:00
Nikita Smith 153d78ec6a unpoison memory-mapped files 2025-06-25 10:53:24 -07:00
Nikita Smith 790c95fc80 organization pass over symbol table files 2025-06-25 10:53:24 -07:00
Nikita Smith 7120d0c1a4 share memory mapped files 2025-06-25 10:53:24 -07:00
Nikita Smith 2fbaafa32c parallel compute common block 2025-06-25 10:53:24 -07:00
Nikita Smith a395398bdf remove global variable for null section contrib 2025-06-25 10:53:24 -07:00
Nikita Smith f5b19675cb merge conflict 2025-06-25 10:53:24 -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 16e72fd573 remove unused switch 2025-06-25 10:53:24 -07:00
Nikita Smith 6b3a63f474 correct task name for weak symbol patch 2025-06-25 10:53:24 -07:00
Nikita Smith 65095437b7 allow forward reference tag symbols 2025-06-25 10:53:24 -07:00
Nikita Smith ba326924ee test for relocation against removed COMDAT 2025-06-25 10:53:24 -07:00
Nikita Smith ad3e6e0b79 pipe obj reads through IO layer 2025-06-25 10:53:24 -07:00
Nikita Smith 4c972c0fba handle COMDAT symbols with non-zero section offset 2025-06-25 10:53:24 -07:00
Nikita Smith 422829b196 print align and debug sections 2025-06-25 10:53:24 -07:00
Nikita Smith c7d6145ec9 print section contributions in RAD_MAP 2025-06-25 10:53:24 -07:00
Nikita Smith 1fde5a5120 linker natvis 2025-06-25 10:53:24 -07:00
Nikita Smith 06e844abaa remove default delay bind table 2025-06-25 10:53:24 -07:00
Nikita Smith 048600260c special case fill for bss contribs 2025-06-25 10:53:24 -07:00
Nikita Smith 3c4edba465 validate section flags on merge 2025-06-25 10:53:24 -07:00
Nikita Smith cccbbfc74c do not patch debug section symbols and patch replaced COMDATs in separate
pass
2025-06-25 10:53:24 -07:00
Nikita Smith b19be0574c function pad min - final pass over 2025-06-25 10:53:24 -07:00