class SymbolMap(object): def __init__(self, min_v): self._list = SortedCollection((), lambda x : x[0]) self._min_vaddr = min_v def add_symbol(self, start, length, name): tuple = (start, length, name) self._list.insert(tuple) def find(self, addr): try: tuple = self._list.find_le(addr) if addr < tuple[0] + tuple[1]: return tuple[2] return None except ValueError: return None def copy(self): ret = SymbolMap() ret._list = self._list.copy() return ret def __str__(self): return "SymbolMap: " + self._list.__str__() def __repr__(self): return self.__str__()
class SymbolMap(object): def __init__(self, min_v): self._list = SortedCollection((), lambda x: x[0]) self._min_vaddr = min_v def add_symbol(self, start, length, name): tuple = (start, length, name) self._list.insert(tuple) def find(self, addr): try: tuple = self._list.find_le(addr) if addr < tuple[0] + tuple[1]: return tuple[2] return None except ValueError: return None def copy(self): ret = SymbolMap() ret._list = self._list.copy() return ret def __str__(self): return "SymbolMap: " + self._list.__str__() def __repr__(self): return self.__str__()
class MmapState(object): def __init__(self): self._list = SortedCollection((), lambda x : x[0]) def add_map(self, start, length, pgoff, name): tuple = (start, length, pgoff, name) self._list.insert(tuple) def find(self, addr): try: tuple = self._list.find_le(addr) if addr < tuple[0] + tuple[1]: return tuple return None except ValueError: return None def copy(self): ret = MmapState() ret._list = self._list.copy() return ret def __str__(self): return "MmapState: " + self._list.__str__() def __repr__(self): return self.__str__()
class MmapState(object): def __init__(self): self._list = SortedCollection((), lambda x: x[0]) def add_map(self, start, length, pgoff, name): map_tuple = (start, length, pgoff, name) self._list.insert(map_tuple) def find(self, addr): try: map_tuple = self._list.find_le(addr) if addr < map_tuple[0] + map_tuple[1]: return map_tuple return None except ValueError: return None def copy(self): ret = MmapState() ret._list = self._list.copy() return ret def __str__(self): return 'MmapState: ' + self._list.__str__() def __repr__(self): return self.__str__()