[llvm] r205509 - Handle getting UnknownAddressOrSize or section_end().

Rafael Espindola rafael.espindola at gmail.com
Wed Apr 2 20:57:03 PDT 2014


Author: rafael
Date: Wed Apr  2 22:57:03 2014
New Revision: 205509

URL: http://llvm.org/viewvc/llvm-project?rev=205509&view=rev
Log:
Handle getting UnknownAddressOrSize or section_end().

These should probably be error conditions.

Modified:
    llvm/trunk/include/llvm/Object/ObjectFile.h

Modified: llvm/trunk/include/llvm/Object/ObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ObjectFile.h?rev=205509&r1=205508&r2=205509&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/ObjectFile.h (original)
+++ llvm/trunk/include/llvm/Object/ObjectFile.h Wed Apr  2 22:57:03 2014
@@ -354,12 +354,21 @@ inline error_code SymbolRef::getFileOffs
   uint64_t Address;
   if (error_code EC = getAddress(Address))
     return EC;
+  if (Address == UnknownAddressOrSize) {
+    Result = UnknownAddressOrSize;
+    return object_error::success;
+  }
 
   const ObjectFile *Obj = getObject();
   section_iterator SecI(Obj->section_begin());
   if (error_code EC = getSection(SecI))
     return EC;
 
+  if (SecI == Obj->section_end()) {
+    Result = UnknownAddressOrSize;
+    return object_error::success;
+  }
+
   uint64_t SectionAddress;
   if (error_code EC = SecI->getAddress(SectionAddress))
     return EC;





More information about the llvm-commits mailing list