E.g. for x86_64, previously each symbol's thunk was 87 bytes. Now there's a 12 byte thunk per symbol, plus a shared 83 byte tail function.
This is similar to what both MS link.exe and GNU tools do for delay imports.
Paths
| Differential D64288
[LLD] [COFF] Share the tail in delayimport symbol thunks ClosedPublic Authored by mstorsjo on Jul 6 2019, 12:47 PM.
Details Summary E.g. for x86_64, previously each symbol's thunk was 87 bytes. Now there's a 12 byte thunk per symbol, plus a shared 83 byte tail function. This is similar to what both MS link.exe and GNU tools do for delay imports.
Diff Detail
Event TimelineComment Actions Nice!
Comment Actions Any other concerns with the patch, or is it ok as is?
This revision is now accepted and ready to land.Jul 10 2019, 1:13 PM Closed by commit rL365823: [COFF] Share the tail in delayimport symbol thunks (authored by mstorsjo). · Explain WhyJul 11 2019, 2:22 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 209333 lld/trunk/COFF/DLL.h
lld/trunk/COFF/DLL.cpp
lld/trunk/test/COFF/arm64-delayimport.yaml
lld/trunk/test/COFF/delayimports-armnt.yaml
lld/trunk/test/COFF/delayimports.test
lld/trunk/test/COFF/delayimports32.test
lld/trunk/test/COFF/delayimporttables.yaml
|