diff options
author | Logan Chien <loganchien@google.com> | 2017-08-21 18:28:34 +0800 |
---|---|---|
committer | Logan Chien <loganchien@google.com> | 2017-08-23 09:57:30 +0800 |
commit | b33d0c459ef63efa4ff60287e78f927ecddbdb2f (patch) | |
tree | 2eb7c90e975f5f122e8d43931cba21da0273d39a | |
parent | 6dfd48ae4a9475840ab50822b3a08957d5f3ad33 (diff) | |
download | development-b33d0c459ef63efa4ff60287e78f927ecddbdb2f.tar.gz |
vndk-def: Fix generalized VNDK-SP computation
This commit fixes some leftovers in the previous commit:
1. tagged_paths should be passed to ELFLinker.create().
2. vndk_sp_indirect_unused should not include the degenerated VNDK-SP.
Bug: 64503245
Test: Run `vndk_definition_tool.py vndk` on a device. With the latest
eligible-list-*-release.csv, SP-HAL errors should disappear.
Change-Id: I2d4028b718801d1cfda4ffadc132cee742db2e0f
Merged-In: I4135ff1cac48cca526d28a771c0ee414282cc2d5
(cherry picked from commit 69cd1dde3351ae13ed407e96b8c6f6f54e38b094)
-rwxr-xr-x | vndk/tools/definition-tool/vndk_definition_tool.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/vndk/tools/definition-tool/vndk_definition_tool.py b/vndk/tools/definition-tool/vndk_definition_tool.py index 80e9eac69..75f54a6ed 100755 --- a/vndk/tools/definition-tool/vndk_definition_tool.py +++ b/vndk/tools/definition-tool/vndk_definition_tool.py @@ -1483,8 +1483,10 @@ class ELFLinker(object): vndk_sp_unused, is_not_vndk_sp_indirect_unused) vndk_sp_unused_deps -= vndk_sp_unused - vndk_sp_indirect_unused = \ - predefined_vndk_sp_indirect - vndk_sp_indirect - vndk_sp_unused + vndk_sp_indirect_unused = set(lib for lib in predefined_vndk_sp_indirect + if self._is_in_vndk_sp_dir(lib.path)) + vndk_sp_indirect_unused -= vndk_sp_indirect + vndk_sp_indirect_unused -= vndk_sp_unused vndk_sp_indirect_unused |= vndk_sp_unused_deps # TODO: Compute VNDK-SP-Indirect-Private. @@ -1748,7 +1750,7 @@ class ELFLinker(object): @staticmethod def create_from_dump(system_dirs=None, system_dirs_as_vendor=None, vendor_dirs=None, vendor_dirs_as_system=None, - extra_deps=None, generic_refs=None): + extra_deps=None, generic_refs=None, tagged_paths=None): return ELFLinker._create_internal( scan_elf_dump_files, system_dirs, system_dirs_as_vendor, vendor_dirs, vendor_dirs_as_system, extra_deps, generic_refs, @@ -1996,7 +1998,8 @@ class ELFGraphCommand(Command): args.vendor, args.vendor_dir_as_system, args.vendor_dir_ignored, args.load_extra_deps, - generic_refs=generic_refs) + generic_refs=generic_refs, + tagged_paths=tagged_paths) return (generic_refs, graph, tagged_paths) |