Lines Matching refs:image
61 pmcstat_image_add_symbols(struct pmcstat_image *image, Elf *e, in pmcstat_image_add_symbols() argument
93 firsttime = image->pi_symbols == NULL; in pmcstat_image_add_symbols()
94 symptr = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
95 image->pi_symcount + nfuncsyms, sizeof(*symptr)); in pmcstat_image_add_symbols()
96 if (symptr == image->pi_symbols) /* realloc() failed. */ in pmcstat_image_add_symbols()
98 image->pi_symbols = symptr; in pmcstat_image_add_symbols()
103 symptr += image->pi_symcount; in pmcstat_image_add_symbols()
114 if (!firsttime && pmcstat_symbol_search(image, sym.st_value)) in pmcstat_image_add_symbols()
140 symptr->ps_start = sym.st_value - image->pi_vaddr; in pmcstat_image_add_symbols()
147 image->pi_symcount += newsyms; in pmcstat_image_add_symbols()
148 if (image->pi_symcount == 0) in pmcstat_image_add_symbols()
157 image->pi_symbols = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
158 image->pi_symcount, sizeof(*symptr)); in pmcstat_image_add_symbols()
163 qsort(image->pi_symbols, image->pi_symcount, sizeof(*symptr), in pmcstat_image_add_symbols()
171 for (symptr = image->pi_symbols; in pmcstat_image_add_symbols()
172 symptr < image->pi_symbols + (image->pi_symcount - 1); in pmcstat_image_add_symbols()
184 pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, in pmcstat_image_link() argument
194 assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && in pmcstat_image_link()
195 image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); in pmcstat_image_link()
225 offset = start - image->pi_vaddr; in pmcstat_image_link()
226 pcmnew->ppm_lowpc = image->pi_start + offset; in pmcstat_image_link()
227 pcmnew->ppm_highpc = image->pi_end + offset; in pmcstat_image_link()
228 pcmnew->ppm_image = image; in pmcstat_image_link()
250 pmcstat_image_get_aout_params(struct pmcstat_image *image, in pmcstat_image_get_aout_params() argument
259 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_aout_params()
262 if (image->pi_iskernelmodule) in pmcstat_image_get_aout_params()
274 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_aout_params()
286 image->pi_type = PMCSTAT_IMAGE_AOUT; in pmcstat_image_get_aout_params()
300 pmcstat_image_get_elf_params(struct pmcstat_image *image, in pmcstat_image_get_elf_params() argument
317 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_get_elf_params()
319 image->pi_start = minva = ~(uintfptr_t) 0; in pmcstat_image_get_elf_params()
320 image->pi_end = maxva = (uintfptr_t) 0; in pmcstat_image_get_elf_params()
321 image->pi_type = image_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_elf_params()
322 image->pi_isdynamic = 0; in pmcstat_image_get_elf_params()
323 image->pi_dynlinkerpath = NULL; in pmcstat_image_get_elf_params()
324 image->pi_vaddr = 0; in pmcstat_image_get_elf_params()
326 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_elf_params()
369 !(image->pi_iskernelmodule && eh.e_type == ET_REL)) { in pmcstat_image_get_elf_params()
401 image->pi_isdynamic = 1; in pmcstat_image_get_elf_params()
410 image->pi_dynlinkerpath = in pmcstat_image_get_elf_params()
417 image->pi_vaddr = ph.p_vaddr & (-ph.p_align); in pmcstat_image_get_elf_params()
448 pmcstat_image_add_symbols(image, e, scn, &sh); in pmcstat_image_get_elf_params()
451 image->pi_start = minva; in pmcstat_image_get_elf_params()
452 image->pi_end = maxva; in pmcstat_image_get_elf_params()
453 image->pi_type = image_type; in pmcstat_image_get_elf_params()
454 image->pi_fullpath = pmcstat_string_intern(buffer); in pmcstat_image_get_elf_params()
462 image->pi_name = pmcstat_string_intern(endp); in pmcstat_image_get_elf_params()
477 pmcstat_image_determine_type(struct pmcstat_image *image, in pmcstat_image_determine_type() argument
480 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_determine_type()
483 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
484 pmcstat_image_get_elf_params(image, args); in pmcstat_image_determine_type()
485 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
486 pmcstat_image_get_aout_params(image, args); in pmcstat_image_determine_type()
492 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
493 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_determine_type()