Commit Graph

210 Commits

Author SHA1 Message Date
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 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 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 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 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 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 bf25b5b249 handle COMDAT Associative selection 2025-06-25 10:53:23 -07:00
Nikita Smith bde11caf11 improve exact match selection 2025-06-25 10:53:23 -07:00
Nikita Smith aafb980c6b prevent dropping of newly inserted symbol while selecting slot leader 2025-06-25 10:53:23 -07:00
Nikita Smith 3eb7debad5 check COMDAT symlink points to a defined symbol 2025-06-25 10:53:23 -07:00
Nikita Smith 3978181d02 check symbol type before patching section header 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 c2b3634e7a guard against circular section merges 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 90797f363f fix for machine compatibility check 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 422e9449c8 natvis for section contrib types 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 d3c3b672ea image name helper 2025-06-25 10:53:22 -07:00
Nikita Smith 6fd9ab7388 strip postfix when searching for section 2025-06-25 10:53:22 -07:00
Nikita Smith a2bef106a1 handle case where symbol doesn't have obj 2025-06-25 10:53:22 -07:00
Nikita Smith ac261b3eed trim obj paths pulled in from libs 2025-06-25 10:53:22 -07:00
Nikita Smith f2c7e69844 natvis for hash table 2025-06-25 10:53:22 -07:00