Merge changes Ia7850577,Ic96e9e14

* changes:
  def-tool: Support VdexHeader 21
  def-tool: Add libdl_android for LLNDK-Private
This commit is contained in:
Logan Chien
2019-05-08 15:49:59 +00:00
committed by Gerrit Code Review
2 changed files with 17 additions and 1 deletions

View File

@@ -196,6 +196,7 @@ def main():
libs = [
'ld-android',
'libc_malloc_debug',
'libdl_android',
'libnetd_client',
'libtextclassifier_hash',
]

View File

@@ -1087,6 +1087,19 @@ class DexFileReader(object):
))
# VdexHeader 21
VdexHeader21 = create_struct('VdexHeader21', (
('magic', '4s'),
('vdex_version', '4s'),
('dex_section_version', '4s'),
('number_of_dex_files', 'I'),
('verifier_deps_size', 'I'),
('bootclasspath_checksums_size', 'I'),
('class_loader_context_size', 'I'),
# checksums
))
DexSectionHeader = create_struct('DexSectionHeader', (
('dex_size', 'I'),
('dex_shared_data_size', 'I'),
@@ -1111,8 +1124,10 @@ class DexFileReader(object):
VdexHeader = cls.VdexHeader1
elif b'016\x00' <= version < b'019\x00':
VdexHeader = cls.VdexHeader16
elif version == b'019\x00':
elif b'019\x00' <= version < b'021\x00':
VdexHeader = cls.VdexHeader19
elif version == b'021\x00':
VdexHeader = cls.VdexHeader21
else:
raise ValueError('unknown vdex version ' + repr(version))