Make versioner build with LLVM r275480
Bug: http://b/31320715
Test: tools/versioner/preupload.sh
Change-Id: Icdff19b214b2b26c60288e49d26a88f04df68ef0
diff --git a/tools/versioner/src/SymbolDatabase.cpp b/tools/versioner/src/SymbolDatabase.cpp
index fa28ee5..90c0c9f 100644
--- a/tools/versioner/src/SymbolDatabase.cpp
+++ b/tools/versioner/src/SymbolDatabase.cpp
@@ -37,25 +37,26 @@
std::unordered_set<std::string> getSymbols(const std::string& filename) {
std::unordered_set<std::string> result;
- auto binary = createBinary(filename);
- if (std::error_code ec = binary.getError()) {
- errx(1, "failed to open library at %s: %s\n", filename.c_str(), ec.message().c_str());
+ auto binaryOrError = createBinary(filename);
+ if (!binaryOrError) {
+ errx(1, "failed to open library at %s: %s\n", filename.c_str(),
+ llvm::toString(binaryOrError.takeError()).c_str());
}
- ELFObjectFileBase* elf = dyn_cast_or_null<ELFObjectFileBase>(binary.get().getBinary());
+ ELFObjectFileBase* elf = dyn_cast_or_null<ELFObjectFileBase>(binaryOrError.get().getBinary());
if (!elf) {
errx(1, "failed to parse %s as ELF", filename.c_str());
}
for (const ELFSymbolRef symbol : elf->getDynamicSymbolIterators()) {
- ErrorOr<StringRef> symbol_name = symbol.getName();
+ Expected<StringRef> symbolNameOrError = symbol.getName();
- if (std::error_code ec = binary.getError()) {
+ if (!symbolNameOrError) {
errx(1, "failed to get symbol name for symbol in %s: %s", filename.c_str(),
- ec.message().c_str());
+ llvm::toString(symbolNameOrError.takeError()).c_str());
}
- result.insert(symbol_name.get().str());
+ result.insert(symbolNameOrError.get().str());
}
return result;