Lines Matching full:segment
62 // data pointer, when there are no sections, or when the segment
99 // command size in bytes. We're interested only in segment load commands
104 // file offset of the current memory segment.
244 // NextSegmentLoad scans the current image for the next segment load command
246 // segment.
247 // Note that the segment addresses are not necessarily sorted.
249 static bool NextSegmentLoad(MemoryMappedSegment *segment,
264 // isn't actually the absolute segment address, but the offset portion
274 segment->start = (sc->vmaddr & addr_mask) + base_virt_addr;
275 segment->end = segment->start + sc->vmsize;
290 segment->protection = sc->initprot;
291 segment->offset = (layout_data->current_filetype ==
295 if (segment->filename) {
299 internal_strncpy(segment->filename, src, segment->filename_size);
301 segment->arch = layout_data->current_arch;
302 internal_memcpy(segment->uuid, layout_data->current_uuid, kModuleUUIDSize);
370 bool MemoryMappingLayout::Next(MemoryMappedSegment *segment) {
408 segment, segment->data_, &data_))
415 segment, segment->data_, &data_))
432 MemoryMappedSegment segment(module_name.data(), module_name.size());
434 segment.data_ = &data;
435 while (Next(&segment)) {
436 // skip the __PAGEZERO segment, its vmsize is 0
437 if (segment.filename[0] == '\0' || (segment.start == segment.end))
441 0 == internal_strcmp(segment.filename, modules->back().full_name())) {
446 cur_module->set(segment.filename, segment.start, segment.arch,
447 segment.uuid, data_.current_instrumented);
449 segment.AddAddressRanges(cur_module);