docs: def load_segment(self, f, is_irom_segment=False):
          """ Load the next segment from the image file """
          file_offs = f.tell()
          (offset, size) = struct.unpack('<II', f.read(8))
          self.warn_if_unusual_segment(offset, size, is_irom_segment)
          segment_data = f.read(size)
          if len(segment_data) < size:
              raise FatalError('End of file reading segment 0x%x, length %d (actual length %d)' % (offset, size, len(segment_data)))
          segment = ImageSegment(offset, segment_data, file_offs)
          self.segments.append(segment)
          return segment