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()
130 symptr->ps_start = sym.st_value - image->pi_vaddr; in pmcstat_image_add_symbols()
137 image->pi_symcount += newsyms; in pmcstat_image_add_symbols()
138 if (image->pi_symcount == 0) in pmcstat_image_add_symbols()
147 image->pi_symbols = reallocarray(image->pi_symbols, in pmcstat_image_add_symbols()
148 image->pi_symcount, sizeof(*symptr)); in pmcstat_image_add_symbols()
153 qsort(image->pi_symbols, image->pi_symcount, sizeof(*symptr), in pmcstat_image_add_symbols()
161 for (symptr = image->pi_symbols; in pmcstat_image_add_symbols()
162 symptr < image->pi_symbols + (image->pi_symcount - 1); in pmcstat_image_add_symbols()
174 pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, in pmcstat_image_link() argument
180 assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && in pmcstat_image_link()
181 image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); in pmcstat_image_link()
191 offset = start - image->pi_vaddr; in pmcstat_image_link()
192 pcmnew->ppm_lowpc = image->pi_start + offset; in pmcstat_image_link()
193 pcmnew->ppm_highpc = image->pi_end + offset; in pmcstat_image_link()
194 pcmnew->ppm_image = image; in pmcstat_image_link()
216 pmcstat_image_get_aout_params(struct pmcstat_image *image, in pmcstat_image_get_aout_params() argument
225 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_aout_params()
228 if (image->pi_iskernelmodule) in pmcstat_image_get_aout_params()
240 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_aout_params()
252 image->pi_type = PMCSTAT_IMAGE_AOUT; in pmcstat_image_get_aout_params()
266 pmcstat_image_get_elf_params(struct pmcstat_image *image, in pmcstat_image_get_elf_params() argument
282 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_get_elf_params()
284 image->pi_start = minva = ~(uintfptr_t) 0; in pmcstat_image_get_elf_params()
285 image->pi_end = maxva = (uintfptr_t) 0; in pmcstat_image_get_elf_params()
286 image->pi_type = image_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_get_elf_params()
287 image->pi_isdynamic = 0; in pmcstat_image_get_elf_params()
288 image->pi_dynlinkerpath = NULL; in pmcstat_image_get_elf_params()
289 image->pi_vaddr = 0; in pmcstat_image_get_elf_params()
291 path = pmcstat_string_unintern(image->pi_execpath); in pmcstat_image_get_elf_params()
298 if (image->pi_iskernelmodule) in pmcstat_image_get_elf_params()
338 !(image->pi_iskernelmodule && eh.e_type == ET_REL)) { in pmcstat_image_get_elf_params()
369 image->pi_isdynamic = 1; in pmcstat_image_get_elf_params()
378 image->pi_dynlinkerpath = in pmcstat_image_get_elf_params()
385 image->pi_vaddr = ph.p_vaddr & (-ph.p_align); in pmcstat_image_get_elf_params()
414 pmcstat_image_add_symbols(image, e, scn, &sh); in pmcstat_image_get_elf_params()
417 image->pi_start = minva; in pmcstat_image_get_elf_params()
418 image->pi_end = maxva; in pmcstat_image_get_elf_params()
419 image->pi_type = image_type; in pmcstat_image_get_elf_params()
420 image->pi_fullpath = pmcstat_string_intern(buffer); in pmcstat_image_get_elf_params()
428 image->pi_name = pmcstat_string_intern(endp); in pmcstat_image_get_elf_params()
443 pmcstat_image_determine_type(struct pmcstat_image *image, in pmcstat_image_determine_type() argument
446 assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); in pmcstat_image_determine_type()
449 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
450 pmcstat_image_get_elf_params(image, args); in pmcstat_image_determine_type()
451 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
452 pmcstat_image_get_aout_params(image, args); in pmcstat_image_determine_type()
458 if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) in pmcstat_image_determine_type()
459 image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; in pmcstat_image_determine_type()