From 87bb0c5790c970bc501ac5686a72088da57cec19 Mon Sep 17 00:00:00 2001 From: Pirama Arumuga Nainar Date: Wed, 17 Mar 2021 11:58:32 -0700 Subject: [PATCH] Use clang-r416183b for clang-tools build Bug: http://b/185528062 header-checker updates: - Remove typedef that's no longer necessary. - Use new return type for ElfObjectFile::getSymbol() Test: OUT_DIR=out prebuilts/clang-tools/build-prebuilts.sh Change-Id: I9ecff7790a71edf16710abe0dae3014ae93df84a --- vndk/tools/header-checker/android/envsetup.sh | 4 ++-- .../header-checker/src/repr/symbol/so_file_parser.cpp | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) 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; }