vndk-sp: Fix vndk-sp-unused computation

This commit removes vndk-sp-indirect libs from vndk-sp-unused.  They
are actually being used (although indirectly).

Bug: 37867089
Test: libhwbinder.so is removed from vndk-sp-unused given sailfish images.
Merged-In: I7a3b253408c53f1d81d1fea39f79e3fe09f6fb75
(cherry picked from commit 55a41a3dd9)

Change-Id: I58df815bee640d79f2080b78ff133c5b670d8f15
This commit is contained in:
Logan Chien
2017-06-09 00:15:12 +08:00
parent 3e3f700ad3
commit 349932d279

View File

@@ -1330,11 +1330,6 @@ class ELFLinker(object):
if follow_ineligible_vndk_sp:
vndk_sp.add(dep)
# Add other predefined VNDK-SP even if they are not actually used by
# SP-HAL libs.
vndk_sp_unused = set(lib for lib in predefined_vndk_sp
if self._is_in_vndk_sp_dir(lib.path)) - vndk_sp
# Find VNDK-SP-Indirect libs.
def is_not_vndk_sp_indirect(lib):
return lib.is_ll_ndk or lib.is_sp_ndk or lib in vndk_sp or \
@@ -1344,6 +1339,13 @@ class ELFLinker(object):
vndk_sp, is_not_vndk_sp_indirect)
vndk_sp_indirect -= vndk_sp
# Find unused predefined VNDK-SP libs.
vndk_sp_unused = set(lib for lib in predefined_vndk_sp
if self._is_in_vndk_sp_dir(lib.path))
vndk_sp_unused -= vndk_sp
vndk_sp_unused -= vndk_sp_indirect
# Find dependencies of unused predefined VNDK-SP libs.
def is_not_vndk_sp_indirect_unused(lib):
return is_not_vndk_sp_indirect(lib) or lib in vndk_sp_indirect
vndk_sp_indirect_unused = self.compute_closure(