ukify: Set fast_load option when parsing PE files

Let's skip parsing of some irrelevant information that we don't use
to speed up building UKIs with large initrds from +-15s to less than
1s.
This commit is contained in:
Daan De Meyer 2023-02-20 14:45:19 +01:00
parent e43e735add
commit c87ff62210

View file

@ -80,7 +80,7 @@ def path_is_readable(s: typing.Optional[str]) -> typing.Optional[pathlib.Path]:
def pe_next_section_offset(filename):
import pefile
pe = pefile.PE(filename)
pe = pefile.PE(filename, fast_load=True)
section = pe.sections[-1]
return pe.OPTIONAL_HEADER.ImageBase + section.VirtualAddress + section.Misc_VirtualSize
@ -457,7 +457,7 @@ def pairwise(iterable):
def pe_validate(filename):
import pefile
pe = pefile.PE(filename)
pe = pefile.PE(filename, fast_load=True)
sections = sorted(pe.sections, key=lambda s: (s.VirtualAddress, s.Misc_VirtualSize))