summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLogan Chien <loganchien@google.com>2017-08-21 18:28:34 +0800
committerLogan Chien <loganchien@google.com>2017-08-23 09:57:30 +0800
commitb33d0c459ef63efa4ff60287e78f927ecddbdb2f (patch)
tree2eb7c90e975f5f122e8d43931cba21da0273d39a
parent6dfd48ae4a9475840ab50822b3a08957d5f3ad33 (diff)
downloaddevelopment-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-xvndk/tools/definition-tool/vndk_definition_tool.py11
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)