Lines Matching refs:image
60 pmcstat_image_add_symbols(struct pmcstat_image *image, Elf *e, in pmcstat_image_add_symbols() argument
92 firsttime = image->pi_symbols == NULL; in pmcstat_image_add_symbols()
93 symptr = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
94 image->pi_symcount + nfuncsyms, sizeof(*symptr)); in pmcstat_image_add_symbols()
95 if (symptr == image->pi_symbols) /* realloc() failed. */ in pmcstat_image_add_symbols()
97 image->pi_symbols = symptr; in pmcstat_image_add_symbols()
102 symptr += image->pi_symcount; in pmcstat_image_add_symbols()
113 if (!firsttime && pmcstat_symbol_search(image, sym.st_value)) in pmcstat_image_add_symbols()
139 symptr->ps_start = sym.st_value - image->pi_vaddr; in pmcstat_image_add_symbols()
146 image->pi_symcount += newsyms; in pmcstat_image_add_symbols()
147 if (image->pi_symcount == 0) in pmcstat_image_add_symbols()
156 image->pi_symbols = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
157 image->pi_symcount, sizeof(*symptr)); in pmcstat_image_add_symbols()
162 qsort(image->pi_symbols, image->pi_symcount, sizeof(*symptr), in pmcstat_image_add_symbols()
170 for (symptr = image->pi_symbols; in pmcstat_image_add_symbols()
171 symptr < image->pi_symbols + (image->pi_symcount - 1); in pmcstat_image_add_symbols()
183 pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, in pmcstat_image_link() argument
193 assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && in pmcstat_image_link()
194 image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); in pmcstat_image_link()
224 offset = start - image->pi_vaddr; in pmcstat_image_link()
225 pcmnew->ppm_lowpc = image->pi_start + offset; in pmcstat_image_link()
226 pcmnew->ppm_highpc = image->pi_end + offset; in pmcstat_image_link()
227 pcmnew->ppm_image = image; in pmcstat_image_link()
249 pmcstat_image_get_aout_params(struct pmcstat_image *image, in pmcstat_image_get_aout_params() argument
258 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_aout_params()
261 if (image->pi_iskernelmodule) in pmcstat_image_get_aout_params()
273 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_aout_params()
285 image->pi_type = PMCSTAT_IMAGE_AOUT; in pmcstat_image_get_aout_params()
299 pmcstat_image_get_elf_params(struct pmcstat_image *image, in pmcstat_image_get_elf_params() argument
316 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_get_elf_params()
318 image->pi_start = minva = ~(uintfptr_t) 0; in pmcstat_image_get_elf_params()
319 image->pi_end = maxva = (uintfptr_t) 0; in pmcstat_image_get_elf_params()
320 image->pi_type = image_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_elf_params()
321 image->pi_isdynamic = 0; in pmcstat_image_get_elf_params()
322 image->pi_dynlinkerpath = NULL; in pmcstat_image_get_elf_params()
323 image->pi_vaddr = 0; in pmcstat_image_get_elf_params()
325 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_elf_params()
368 !(image->pi_iskernelmodule && eh.e_type == ET_REL)) { in pmcstat_image_get_elf_params()
400 image->pi_isdynamic = 1; in pmcstat_image_get_elf_params()
409 image->pi_dynlinkerpath = in pmcstat_image_get_elf_params()
416 image->pi_vaddr = ph.p_vaddr & (-ph.p_align); in pmcstat_image_get_elf_params()
447 pmcstat_image_add_symbols(image, e, scn, &sh); in pmcstat_image_get_elf_params()
450 image->pi_start = minva; in pmcstat_image_get_elf_params()
451 image->pi_end = maxva; in pmcstat_image_get_elf_params()
452 image->pi_type = image_type; in pmcstat_image_get_elf_params()
453 image->pi_fullpath = pmcstat_string_intern(buffer); in pmcstat_image_get_elf_params()
461 image->pi_name = pmcstat_string_intern(endp); in pmcstat_image_get_elf_params()
476 pmcstat_image_determine_type(struct pmcstat_image *image, in pmcstat_image_determine_type() argument
479 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_determine_type()
482 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
483 pmcstat_image_get_elf_params(image, args); in pmcstat_image_determine_type()
484 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
485 pmcstat_image_get_aout_params(image, args); in pmcstat_image_determine_type()
491 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
492 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_determine_type()