Lines Matching refs:image
62 pmcstat_image_add_symbols(struct pmcstat_image *image, Elf *e, in pmcstat_image_add_symbols() argument
94 firsttime = image->pi_symbols == NULL; in pmcstat_image_add_symbols()
95 symptr = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
96 image->pi_symcount + nfuncsyms, sizeof(*symptr)); in pmcstat_image_add_symbols()
97 if (symptr == image->pi_symbols) /* realloc() failed. */ in pmcstat_image_add_symbols()
99 image->pi_symbols = symptr; in pmcstat_image_add_symbols()
104 symptr += image->pi_symcount; in pmcstat_image_add_symbols()
115 if (!firsttime && pmcstat_symbol_search(image, sym.st_value)) in pmcstat_image_add_symbols()
131 symptr->ps_start = sym.st_value - image->pi_vaddr; in pmcstat_image_add_symbols()
138 image->pi_symcount += newsyms; in pmcstat_image_add_symbols()
139 if (image->pi_symcount == 0) in pmcstat_image_add_symbols()
148 image->pi_symbols = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
149 image->pi_symcount, sizeof(*symptr)); in pmcstat_image_add_symbols()
154 qsort(image->pi_symbols, image->pi_symcount, sizeof(*symptr), in pmcstat_image_add_symbols()
162 for (symptr = image->pi_symbols; in pmcstat_image_add_symbols()
163 symptr < image->pi_symbols + (image->pi_symcount - 1); in pmcstat_image_add_symbols()
175 pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, in pmcstat_image_link() argument
185 assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && in pmcstat_image_link()
186 image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); in pmcstat_image_link()
216 offset = start - image->pi_vaddr; in pmcstat_image_link()
217 pcmnew->ppm_lowpc = image->pi_start + offset; in pmcstat_image_link()
218 pcmnew->ppm_highpc = image->pi_end + offset; in pmcstat_image_link()
219 pcmnew->ppm_image = image; in pmcstat_image_link()
241 pmcstat_image_get_aout_params(struct pmcstat_image *image, in pmcstat_image_get_aout_params() argument
250 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_aout_params()
253 if (image->pi_iskernelmodule) in pmcstat_image_get_aout_params()
265 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_aout_params()
277 image->pi_type = PMCSTAT_IMAGE_AOUT; in pmcstat_image_get_aout_params()
291 pmcstat_image_get_elf_params(struct pmcstat_image *image, in pmcstat_image_get_elf_params() argument
308 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_get_elf_params()
310 image->pi_start = minva = ~(uintfptr_t) 0; in pmcstat_image_get_elf_params()
311 image->pi_end = maxva = (uintfptr_t) 0; in pmcstat_image_get_elf_params()
312 image->pi_type = image_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_elf_params()
313 image->pi_isdynamic = 0; in pmcstat_image_get_elf_params()
314 image->pi_dynlinkerpath = NULL; in pmcstat_image_get_elf_params()
315 image->pi_vaddr = 0; in pmcstat_image_get_elf_params()
317 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_elf_params()
325 if (image->pi_iskernelmodule) { in pmcstat_image_get_elf_params()
337 if (fd < 0 && !image->pi_iskernelmodule) { in pmcstat_image_get_elf_params()
373 !(image->pi_iskernelmodule && eh.e_type == ET_REL)) { in pmcstat_image_get_elf_params()
404 image->pi_isdynamic = 1; in pmcstat_image_get_elf_params()
413 image->pi_dynlinkerpath = in pmcstat_image_get_elf_params()
420 image->pi_vaddr = ph.p_vaddr & (-ph.p_align); in pmcstat_image_get_elf_params()
449 pmcstat_image_add_symbols(image, e, scn, &sh); in pmcstat_image_get_elf_params()
452 image->pi_start = minva; in pmcstat_image_get_elf_params()
453 image->pi_end = maxva; in pmcstat_image_get_elf_params()
454 image->pi_type = image_type; in pmcstat_image_get_elf_params()
455 image->pi_fullpath = pmcstat_string_intern(buffer); in pmcstat_image_get_elf_params()
463 image->pi_name = pmcstat_string_intern(endp); in pmcstat_image_get_elf_params()
478 pmcstat_image_determine_type(struct pmcstat_image *image, in pmcstat_image_determine_type() argument
481 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_determine_type()
484 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
485 pmcstat_image_get_elf_params(image, args); in pmcstat_image_determine_type()
486 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
487 pmcstat_image_get_aout_params(image, args); in pmcstat_image_determine_type()
493 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
494 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_determine_type()