diff --git a/llvm/lib/MC/MCObjectDisassembler.cpp b/llvm/lib/MC/MCObjectDisassembler.cpp
index 8cb9a8a..4ce8e92 100644
--- a/llvm/lib/MC/MCObjectDisassembler.cpp
+++ b/llvm/lib/MC/MCObjectDisassembler.cpp
@@ -44,7 +44,7 @@
     if (Name == "main" || Name == "_main") {
       uint64_t Entrypoint;
       SI->getAddress(Entrypoint);
-      return Entrypoint;
+      return getEffectiveLoadAddr(Entrypoint);
     }
   }
   return 0;
@@ -58,6 +58,14 @@
   return ArrayRef<uint64_t>();
 }
 
+uint64_t MCObjectDisassembler::getEffectiveLoadAddr(uint64_t Addr) {
+  return Addr;
+}
+
+uint64_t MCObjectDisassembler::getOriginalLoadAddr(uint64_t Addr) {
+  return Addr;
+}
+
 MCModule *MCObjectDisassembler::buildEmptyModule() {
   MCModule *Module = new MCModule;
   Module->Entrypoint = getEntrypoint();
@@ -90,6 +98,7 @@
     uint64_t SecSize; SI->getSize(SecSize);
     if (StartAddr == UnknownAddressOrSize || SecSize == UnknownAddressOrSize)
       continue;
+    StartAddr = getEffectiveLoadAddr(StartAddr);
 
     StringRef Contents; SI->getContents(Contents);
     StringRefMemoryObject memoryObject(Contents, StartAddr);
@@ -170,6 +179,7 @@
     if (SymType == SymbolRef::ST_Function) {
       uint64_t SymAddr;
       SI->getAddress(SymAddr);
+      SymAddr = getEffectiveLoadAddr(SymAddr);
       Calls.insert(SymAddr);
       Splits.insert(SymAddr);
     }
