 Nikita SmithandRyan Fleury
|
bbb825adf4
|
extract hotpatch flag from compile symbol
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
a5119e3b51
|
WIP function pad min
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d7b8de5998
|
test empty section and section with removed flag
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
5fb0d978b9
|
WIP function pad min
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9d93eda3ed
|
simplify section table
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
ecdee57c60
|
move helpers to COFF layer
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
a484906cf9
|
create section contribution for common block
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
95bea877ab
|
merge .bss with custom section to simplify linker output verification
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
15836572f4
|
factor out section sort index into contribution chunk and simplify
contribution sorting
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f64265aafe
|
typo in contrib sort
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
246bbf1e23
|
fix common block patch
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
490b22f6f9
|
put common blocks in .bss
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
626d94104d
|
atomic contrib push
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
b3aadbd49a
|
store first data node in section contrib
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
3fb5e21d73
|
profiler markup
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
439fd0324d
|
typos
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
75d02f1c1e
|
check symbol presence using stable name pointer
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
5fd06f4466
|
do not push section contribs for sections without bytes
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
af00acd0f5
|
add missing symbol replacement logic
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
205723f8d6
|
parallelize symbol tables patching
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d604456def
|
align sizeofs
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
32a22779da
|
fix run
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
7d77210a5f
|
run test after build
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
25710d39b7
|
test optional header fields
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
fe967a3d36
|
more validity checks in simple_link_test
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
c4a36f73dc
|
redirect stdout and stderr to a file
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
1c08db2705
|
move image, import lib, and debug info builders outside of the state machine
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
e971db7fdd
|
remove unused layout flag in section struct
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
47ef37ed8e
|
fix section order
|
2025-06-25 10:53:24 -07:00 |
|
 Nikita SmithandRyan Fleury
|
881050addf
|
add default merges and section removes
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
a4b2d40d15
|
fix sizeof section headers
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
578a7ebdee
|
factor out pdata code to PE layer
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f055267e59
|
remove double init and equip of thread contexts
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
aae3874521
|
disable TLS merge for now
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
c82b98cd49
|
assign section index to .reloc
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
e1278a6545
|
null terminate static imports
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
e65d1536b6
|
dynamic loader crashes if the import data is not in a stand-alone section
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
54e7f9aafc
|
appease ASAN
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
1c656979d2
|
move MSVC lib symbols to CRT layer
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
47e123221a
|
minor fixes
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
86556c68ed
|
point TLS directory to TLS header
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
3d2b1e19e3
|
handle communal var vs regular non-comdat symbol
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
42bed0e5c6
|
merge delayed data section with .data
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f2394b6cf7
|
off-by-one
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
e911bf5368
|
move obj writer for PE debug directory to stand-alone file
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
7f6d8004a9
|
fix import dll debug symbols
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
89e2ea15ad
|
add /RAD_REMOVE_SECTION switch and special case debug sections
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9c59cfd4e7
|
pointless check, in .debug relocations point to __ImageBase
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d51fe49bab
|
delay import fix
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
dcc4f38709
|
clean up pass over obj file
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
64415e21f0
|
special case bss section contribs and fix off by one in range array bsearch
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
37689b2e4a
|
section collector
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
382204a4ea
|
WIP test delay user32 import
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
8fb0aaf2b3
|
test kernel32 import
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
fb0e8d7579
|
fix crash on COMDAT folding communal variable
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9060004827
|
test for communal variable
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
40efbeb512
|
test for /INCLUDE
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
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 SmithandRyan Fleury
|
da0e7e5f69
|
test for /ALTERNATENAME
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
ea81d18223
|
test for out of bounds section number on external symbol
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
ef476bf1f0
|
tests for COMDAT Associative selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
bf25b5b249
|
handle COMDAT Associative selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
69d4e31b15
|
helper for parsing COFF symbols
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
8fad6da751
|
add support for associative COMDAT symbols
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
889b1807f2
|
test for COMDAT Largest selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
e97d476c7c
|
test for COMDAT ExactMatch selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
bde11caf11
|
improve exact match selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
4b8c9db8f5
|
add dependency to COMDAT symbol so we do not need to link with /OPT:NOREF
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9bea163d10
|
test COMDAT SameSize selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
aafb980c6b
|
prevent dropping of newly inserted symbol while selecting slot leader
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f5504c79e9
|
test COMDAT any selection
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
4aa6e6d132
|
store symbol links for COMDAT
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9b6a15ce66
|
headers for delay import table columns
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f0a967a15d
|
don't create BIAT and UIAT sections when not requested
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
9c93ee1579
|
compute correct IAT size
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
b1cd2146ac
|
patch export table directory using section contribs
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
0f9321e92a
|
move default linker options to main file
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
dcc8bfcf39
|
test section merges
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
c2b3634e7a
|
guard against circular section merges
|
2025-06-25 10:53:23 -07:00 |
|
 Nikita SmithandRyan Fleury
|
2e531cd70a
|
refactored special case for image base
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d22962af8d
|
warn about exporting entry point symbol
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
90797f363f
|
fix for machine compatibility check
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
b709640ddc
|
test for machine compatibility
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
b7a06f3f7f
|
sort on section index too
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
422e9449c8
|
natvis for section contrib types
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
b8f45e97c9
|
test section alignment flags
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
87acc95016
|
set section align in common block test
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
c0613c2a7e
|
section align fixes
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
681c1619fb
|
finish undefined section test
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
a3bcfe01e1
|
fix signedness issue
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
671431cfbd
|
remove unused define
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d5297e01ac
|
workaround for image base address
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
971f6ec368
|
test virtual offset relocation with __ImageBase
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
c98ae0925f
|
error check relocations
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
ad069cb854
|
unknown relocation
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
73fe9d223a
|
handle /ALTERNATENAME directive
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
60d3f25057
|
test for __ImageBase with relative and address relocations
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
03e4958190
|
assign layout offsets and sizes to merged sections
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
f75cdd23d7
|
collapse linker input states into one state
|
2025-06-25 10:53:22 -07:00 |
|
 Nikita SmithandRyan Fleury
|
d3c3b672ea
|
image name helper
|
2025-06-25 10:53:22 -07:00 |
|