Loading core/config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ TUNE2FS := $(HOST_OUT_EXECUTABLES)/tune2fs$(HOST_EXECUTABLE_SUFFIX) JARJAR := $(HOST_OUT_JAVA_LIBRARIES)/jarjar.jar DATA_BINDING_COMPILER := $(HOST_OUT_JAVA_LIBRARIES)/databinding-compiler.jar FAT16COPY := build/make/tools/fat16copy.py CHECK_ELF_FILE := build/make/tools/check_elf_file.py CHECK_ELF_FILE := $(HOST_OUT_EXECUTABLES)/check_elf_file$(HOST_EXECUTABLE_SUFFIX) LPMAKE := $(HOST_OUT_EXECUTABLES)/lpmake$(HOST_EXECUTABLE_SUFFIX) ADD_IMG_TO_TARGET_FILES := $(HOST_OUT_EXECUTABLES)/add_img_to_target_files$(HOST_EXECUTABLE_SUFFIX) BUILD_IMAGE := $(HOST_OUT_EXECUTABLES)/build_image$(HOST_EXECUTABLE_SUFFIX) Loading tools/Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -59,3 +59,8 @@ python_binary_host { name: "check_radio_versions", srcs: ["check_radio_versions.py"], } python_binary_host { name: "check_elf_file", srcs: ["check_elf_file.py"], } tools/check_elf_file.py +3 −7 Original line number Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 # # Copyright (C) 2019 The Android Open Source Project # Loading Loading @@ -196,11 +196,7 @@ class ELFParser(object): def _read_llvm_readobj(cls, elf_file_path, header, llvm_readobj): """Run llvm-readobj and parse the output.""" cmd = [llvm_readobj, '--dynamic-table', '--dyn-symbols', elf_file_path] proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, _ = proc.communicate() rc = proc.returncode if rc != 0: raise subprocess.CalledProcessError(rc, cmd, out) out = subprocess.check_output(cmd, text=True) lines = out.splitlines() return cls._parse_llvm_readobj(elf_file_path, header, lines) Loading Loading @@ -467,7 +463,7 @@ class Checker(object): """Check whether all undefined symbols are resolved to a definition.""" all_elf_files = [self._file_under_test] + self._shared_libs missing_symbols = [] for sym, imported_vers in self._file_under_test.imported.iteritems(): for sym, imported_vers in self._file_under_test.imported.items(): for imported_ver in imported_vers: lib = self._find_symbol_from_libs(all_elf_files, sym, imported_ver) if not lib: Loading Loading
core/config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -614,7 +614,7 @@ TUNE2FS := $(HOST_OUT_EXECUTABLES)/tune2fs$(HOST_EXECUTABLE_SUFFIX) JARJAR := $(HOST_OUT_JAVA_LIBRARIES)/jarjar.jar DATA_BINDING_COMPILER := $(HOST_OUT_JAVA_LIBRARIES)/databinding-compiler.jar FAT16COPY := build/make/tools/fat16copy.py CHECK_ELF_FILE := build/make/tools/check_elf_file.py CHECK_ELF_FILE := $(HOST_OUT_EXECUTABLES)/check_elf_file$(HOST_EXECUTABLE_SUFFIX) LPMAKE := $(HOST_OUT_EXECUTABLES)/lpmake$(HOST_EXECUTABLE_SUFFIX) ADD_IMG_TO_TARGET_FILES := $(HOST_OUT_EXECUTABLES)/add_img_to_target_files$(HOST_EXECUTABLE_SUFFIX) BUILD_IMAGE := $(HOST_OUT_EXECUTABLES)/build_image$(HOST_EXECUTABLE_SUFFIX) Loading
tools/Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -59,3 +59,8 @@ python_binary_host { name: "check_radio_versions", srcs: ["check_radio_versions.py"], } python_binary_host { name: "check_elf_file", srcs: ["check_elf_file.py"], }
tools/check_elf_file.py +3 −7 Original line number Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 # # Copyright (C) 2019 The Android Open Source Project # Loading Loading @@ -196,11 +196,7 @@ class ELFParser(object): def _read_llvm_readobj(cls, elf_file_path, header, llvm_readobj): """Run llvm-readobj and parse the output.""" cmd = [llvm_readobj, '--dynamic-table', '--dyn-symbols', elf_file_path] proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, _ = proc.communicate() rc = proc.returncode if rc != 0: raise subprocess.CalledProcessError(rc, cmd, out) out = subprocess.check_output(cmd, text=True) lines = out.splitlines() return cls._parse_llvm_readobj(elf_file_path, header, lines) Loading Loading @@ -467,7 +463,7 @@ class Checker(object): """Check whether all undefined symbols are resolved to a definition.""" all_elf_files = [self._file_under_test] + self._shared_libs missing_symbols = [] for sym, imported_vers in self._file_under_test.imported.iteritems(): for sym, imported_vers in self._file_under_test.imported.items(): for imported_ver in imported_vers: lib = self._find_symbol_from_libs(all_elf_files, sym, imported_ver) if not lib: Loading