Commit Graph

129 Commits

Author SHA1 Message Date
Nikita Smith f64265aafe typo in contrib sort 2025-06-25 10:53:24 -07:00
Nikita Smith 246bbf1e23 fix common block patch 2025-06-25 10:53:24 -07:00
Nikita Smith 490b22f6f9 put common blocks in .bss 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 25710d39b7 test optional header fields 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 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 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 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 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 dcc4f38709 clean up pass over obj file 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 bf25b5b249 handle COMDAT Associative selection 2025-06-25 10:53:23 -07:00
Nikita Smith a6924a22cf by default stop on undefined section symbol 2025-06-25 10:53:23 -07:00
Nikita Smith 4aa6e6d132 store symbol links for COMDAT 2025-06-25 10:53:23 -07:00
Nikita Smith f0a967a15d don't create BIAT and UIAT sections when not requested 2025-06-25 10:53:23 -07:00
Nikita Smith 9c93ee1579 compute correct IAT size 2025-06-25 10:53:23 -07:00
Nikita Smith b1cd2146ac patch export table directory using section contribs 2025-06-25 10:53:23 -07:00
Nikita Smith 0f9321e92a move default linker options to main file 2025-06-25 10:53:23 -07:00
Nikita Smith 2e531cd70a refactored special case for image base 2025-06-25 10:53:22 -07:00
Nikita Smith d22962af8d warn about exporting entry point symbol 2025-06-25 10:53:22 -07:00
Nikita Smith b7a06f3f7f sort on section index too 2025-06-25 10:53:22 -07:00
Nikita Smith c0613c2a7e section align fixes 2025-06-25 10:53:22 -07:00
Nikita Smith a3bcfe01e1 fix signedness issue 2025-06-25 10:53:22 -07:00
Nikita Smith d5297e01ac workaround for image base address 2025-06-25 10:53:22 -07:00
Nikita Smith c98ae0925f error check relocations 2025-06-25 10:53:22 -07:00
Nikita Smith 73fe9d223a handle /ALTERNATENAME directive 2025-06-25 10:53:22 -07:00
Nikita Smith 03e4958190 assign layout offsets and sizes to merged sections 2025-06-25 10:53:22 -07:00
Nikita Smith f75cdd23d7 collapse linker input states into one state 2025-06-25 10:53:22 -07:00
Nikita Smith f467ff8822 WIP move export and import table make code to appropriate layers 2025-06-25 10:53:22 -07:00
Nikita Smith 69d5010245 WIP switching to creating import table objs 2025-06-25 10:53:22 -07:00
Nikita Smith 8da56025b3 patch section symbol and test for relocations to discarded memory 2025-06-25 10:53:22 -07:00
Nikita Smith bd830a6023 test case for relocation to undefined section with base relocations 2025-06-25 10:53:22 -07:00
Nikita Smith f25dc5cc8d pack export table into obj and input back to the linker 2025-06-25 10:53:22 -07:00
Nikita Smith 3a7afcd80c replace linker lib writer with one from COFF 2025-06-25 10:53:22 -07:00