uint64_t PystonMemoryManager::getSymbolAddress(const std::string& name) { uint64_t base = (uint64_t)getValueOfRelocatableSym(name); if (base) return base; base = RTDyldMemoryManager::getSymbolAddress(name); if (base) return base; if (startswith(name, "__PRETTY_FUNCTION__")) { return getSymbolAddress(".L" + name); } RELEASE_ASSERT(0, "Could not find sym: %s", name.c_str()); return 0; }
uint64_t PystonMemoryManager::getSymbolAddress(const std::string& name) { uint64_t base = (uint64_t)getValueOfRelocatableSym(name); if (base) return base; // make sure our own c++ exc implementations symbols get used instead of gcc ones. base = getCXXUnwindSymbolAddress(name); if (base) return base; base = RTDyldMemoryManager::getSymbolAddress(name); if (base) return base; if (startswith(name, "__PRETTY_FUNCTION__")) { return getSymbolAddress(".L" + name); } RELEASE_ASSERT(0, "Could not find sym: %s", name.c_str()); return 0; }