def segment_to_put(self, phdr, seg_ranges=None): if ParseGenElfDelegate.segment_to_put(self, phdr): return True elif phdr.p_type in NON_ENCAP_SEGMENTS: for idx, p in enumerate(self.parsegen.phdrs): if p is phdr: break else: raise RuntimeError('Invalid phdr.') if seg_ranges is None: seg_ranges = self.get_seg_ranges(self.parsegen.phdrs) if not self.segment_is_overlapped(idx, seg_ranges): return True return False
def __init__(self, parsegen): ParseGenElfDelegate.__init__(self, parsegen) self.validate()
def __init__(self, parsegen, store_debug_data, encrypt_segment): ParseGenElfDelegate.__init__(self, parsegen) self.orig_delegate = parsegen.delegate self.store_debug_data = store_debug_data self.encrypt_segment = encrypt_segment self.segment_number = -1
def __init__(self, parsegen, val_ph, val_v): ParseGenElfDelegate.__init__(self, parsegen) self.validate_ph_addrs = val_ph self.validate_vir_addrs = val_v self.validate()