Exclude system shared libs from fix suggestion am: 751a987bcc

Original change: https://android-review.googlesource.com/c/platform/build/+/1190333

Change-Id: Ie9ff04af02f76aa0aafd934aa1cb8d13b041bdd0
This commit is contained in:
Logan Chien
2020-09-28 04:13:26 +00:00
committed by Automerger Merge Worker
2 changed files with 15 additions and 2 deletions

View File

@@ -397,7 +397,7 @@ class Checker(object):
sys.exit(2)
def check_dt_needed(self):
def check_dt_needed(self, system_shared_lib_names):
"""Check whether all DT_NEEDED entries are specified in the build
system."""
@@ -417,6 +417,11 @@ class Checker(object):
dt_needed = sorted(set(self._file_under_test.dt_needed))
modules = [re.sub('\\.so$', '', lib) for lib in dt_needed]
# Remove system shared libraries from the suggestion since they are added
# by default.
modules = [name for name in modules
if name not in system_shared_lib_names]
self._note()
self._note('Fix suggestions:')
self._note(
@@ -502,6 +507,11 @@ def _parse_args():
parser.add_argument('--shared-lib', action='append', default=[],
help='Path to shared library dependencies')
# System Shared library names
parser.add_argument('--system-shared-lib', action='append', default=[],
help='System shared libraries to be hidden from fix '
'suggestions')
# Check options
parser.add_argument('--skip-bad-elf-magic', action='store_true',
help='Ignore the input file without the ELF magic word')
@@ -535,7 +545,7 @@ def main():
if args.soname:
checker.check_dt_soname(args.soname)
checker.check_dt_needed()
checker.check_dt_needed(args.system_shared_lib)
if not args.allow_undefined_symbols:
checker.check_symbols()