Commit Graph

2867 Commits

Author SHA1 Message Date
Nikita Smith 5fd06f4466 do not push section contribs for sections without bytes 2025-06-25 10:53:24 -07:00
Nikita Smith af00acd0f5 add missing symbol replacement logic 2025-06-25 10:53:24 -07:00
Nikita Smith 205723f8d6 parallelize symbol tables patching 2025-06-25 10:53:24 -07:00
Nikita Smith d604456def align sizeofs 2025-06-25 10:53:24 -07:00
Nikita Smith 32a22779da fix run 2025-06-25 10:53:24 -07:00
Nikita Smith 7d77210a5f run test after build 2025-06-25 10:53:24 -07:00
Nikita Smith 25710d39b7 test optional header fields 2025-06-25 10:53:24 -07:00
Nikita Smith fe967a3d36 more validity checks in simple_link_test 2025-06-25 10:53:24 -07:00
Nikita Smith c4a36f73dc redirect stdout and stderr to a file 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 e971db7fdd remove unused layout flag in section struct 2025-06-25 10:53:24 -07:00
Nikita Smith 47ef37ed8e fix section order 2025-06-25 10:53:24 -07:00
Nikita Smith 881050addf add default merges and section removes 2025-06-25 10:53:23 -07:00
Nikita Smith a4b2d40d15 fix sizeof section headers 2025-06-25 10:53:23 -07:00
Nikita Smith 578a7ebdee factor out pdata code to PE layer 2025-06-25 10:53:23 -07:00
Nikita Smith f055267e59 remove double init and equip of thread contexts 2025-06-25 10:53:23 -07:00
Nikita Smith aae3874521 disable TLS merge for now 2025-06-25 10:53:23 -07:00
Nikita Smith c82b98cd49 assign section index to .reloc 2025-06-25 10:53:23 -07:00
Nikita Smith e1278a6545 null terminate static imports 2025-06-25 10:53:23 -07:00
Nikita Smith e65d1536b6 dynamic loader crashes if the import data is not in a stand-alone section 2025-06-25 10:53:23 -07:00
Nikita Smith 54e7f9aafc appease ASAN 2025-06-25 10:53:23 -07:00
Nikita Smith 1c656979d2 move MSVC lib symbols to CRT layer 2025-06-25 10:53:23 -07:00
Nikita Smith 47e123221a minor fixes 2025-06-25 10:53:23 -07:00
Nikita Smith 86556c68ed point TLS directory to TLS header 2025-06-25 10:53:23 -07:00
Nikita Smith 3d2b1e19e3 handle communal var vs regular non-comdat symbol 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 f2394b6cf7 off-by-one 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 7f6d8004a9 fix import dll debug symbols 2025-06-25 10:53:23 -07:00
Nikita Smith 89e2ea15ad add /RAD_REMOVE_SECTION switch and special case debug sections 2025-06-25 10:53:23 -07:00
Nikita Smith 9c59cfd4e7 pointless check, in .debug relocations point to __ImageBase 2025-06-25 10:53:23 -07:00
Nikita Smith d51fe49bab delay import fix 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 382204a4ea WIP test delay user32 import 2025-06-25 10:53:23 -07:00
Nikita Smith 8fb0aaf2b3 test kernel32 import 2025-06-25 10:53:23 -07:00
Nikita Smith fb0e8d7579 fix crash on COMDAT folding communal variable 2025-06-25 10:53:23 -07:00
Nikita Smith 9060004827 test for communal variable 2025-06-25 10:53:23 -07:00
Nikita Smith 40efbeb512 test for /INCLUDE 2025-06-25 10:53:23 -07:00
Nikita Smith 8d7bd6f9fe minor fixes
- copy alt name to config arena
- promote alternate name conflict error to stop run
- remove unused error code
2025-06-25 10:53:23 -07:00
Nikita Smith da0e7e5f69 test for /ALTERNATENAME 2025-06-25 10:53:23 -07:00
Nikita Smith ea81d18223 test for out of bounds section number on external symbol 2025-06-25 10:53:23 -07:00
Nikita Smith ef476bf1f0 tests for COMDAT Associative selection 2025-06-25 10:53:23 -07:00
Nikita Smith bf25b5b249 handle COMDAT Associative selection 2025-06-25 10:53:23 -07:00
Nikita Smith 69d4e31b15 helper for parsing COFF symbols 2025-06-25 10:53:23 -07:00
Nikita Smith 8fad6da751 add support for associative COMDAT symbols 2025-06-25 10:53:23 -07:00
Nikita Smith 889b1807f2 test for COMDAT Largest selection 2025-06-25 10:53:23 -07:00
Nikita Smith e97d476c7c test for COMDAT ExactMatch selection 2025-06-25 10:53:23 -07:00
Nikita Smith bde11caf11 improve exact match selection 2025-06-25 10:53:23 -07:00