diff --git a/vndk/tools/header-checker/android/envsetup.sh b/vndk/tools/header-checker/android/envsetup.sh index 9b0cc01c5..709c42750 100644 --- a/vndk/tools/header-checker/android/envsetup.sh +++ b/vndk/tools/header-checker/android/envsetup.sh @@ -15,5 +15,5 @@ # limitations under the License. export LLVM_BUILD_HOST_TOOLS=true -export LLVM_PREBUILTS_VERSION=clang-r412851 -export LLVM_RELEASE_VERSION=12.0.3 +export LLVM_PREBUILTS_VERSION=clang-r416183b +export LLVM_RELEASE_VERSION=12.0.5 diff --git a/vndk/tools/header-checker/src/repr/symbol/so_file_parser.cpp b/vndk/tools/header-checker/src/repr/symbol/so_file_parser.cpp index fa2ee6c28..c880c5973 100644 --- a/vndk/tools/header-checker/src/repr/symbol/so_file_parser.cpp +++ b/vndk/tools/header-checker/src/repr/symbol/so_file_parser.cpp @@ -56,8 +56,6 @@ template class ELFSoFileParser : public SoFileParser { private: LLVM_ELF_IMPORT_TYPES_ELFT(T) - typedef llvm::object::ELFFile ELFO; - typedef typename ELFO::Elf_Sym Elf_Sym; public: ELFSoFileParser(const llvm::object::ELFObjectFile *obj); @@ -91,8 +89,9 @@ ELFSoFileParser::ELFSoFileParser(const llvm::object::ELFObjectFile *obj) { exported_symbols_.reset(new ExportedSymbolSet()); for (auto symbol_it : obj->getDynamicSymbolIterators()) { - const Elf_Sym *elf_sym = obj->getSymbol(symbol_it.getRawDataRefImpl()); - assert (elf_sym != nullptr); + auto elf_sym_or_error = obj->getSymbol(symbol_it.getRawDataRefImpl()); + assert (elf_sym_or_error); + const Elf_Sym *elf_sym = elf_sym_or_error.get(); if (!IsSymbolExported(elf_sym) || elf_sym->isUndefined()) { continue; }