[InlineFunction] Correctly inline TerminatePadInst
[oota-llvm.git] / lib / Object / COFFObjectFile.cpp
index efb3ea040834bd2e0eb07fd9a22bbdeb80f836b8..1f2111759a0ec53c9402d6d384d70884fe3c083e 100644 (file)
@@ -174,7 +174,7 @@ ErrorOr<uint64_t> COFFObjectFile::getSymbolAddress(DataRefImpl Ref) const {
 
   // The section VirtualAddress does not include ImageBase, and we want to
   // return virtual addresses.
-  Result += getImageBase().get();
+  Result += getImageBase();
 
   return Result;
 }
@@ -271,7 +271,7 @@ uint64_t COFFObjectFile::getSectionAddress(DataRefImpl Ref) const {
 
   // The section VirtualAddress does not include ImageBase, and we want to
   // return virtual addresses.
-  Result += getImageBase().get();
+  Result += getImageBase();
   return Result;
 }
 
@@ -418,17 +418,18 @@ std::error_code COFFObjectFile::initSymbolTablePtr() {
   return std::error_code();
 }
 
-ErrorOr<uint64_t> COFFObjectFile::getImageBase() const {
+uint64_t COFFObjectFile::getImageBase() const {
   if (PE32Header)
-    return uint64_t(PE32Header->ImageBase);
+    return PE32Header->ImageBase;
   else if (PE32PlusHeader)
-    return uint64_t(PE32PlusHeader->ImageBase);
-  return object_error::parse_failed;
+    return PE32PlusHeader->ImageBase;
+  // This actually comes up in practice.
+  return 0;
 }
 
 // Returns the file offset for the given VA.
 std::error_code COFFObjectFile::getVaPtr(uint64_t Addr, uintptr_t &Res) const {
-  uint64_t ImageBase = getImageBase().get();
+  uint64_t ImageBase = getImageBase();
   uint64_t Rva = Addr - ImageBase;
   assert(Rva <= UINT32_MAX);
   return getRvaPtr((uint32_t)Rva, Res);