Lines Matching refs:sm

148 	secmap_t *sm;  in secmap_alloc()  local
151 sm = recallocarray(secmaps, secmap_count, secmap_count + 1, in secmap_alloc()
153 if (sm == NULL) { in secmap_alloc()
158 secmaps = sm; in secmap_alloc()
159 sm = &secmaps[secmap_count]; in secmap_alloc()
160 sm->sm_addr = addr; in secmap_alloc()
169 if (Pobjname(Pr, addr, sm->sm_obj, sizeof (sm->sm_obj)) == NULL) { in secmap_alloc()
177 return (sm); in secmap_alloc()
184 fd = open(sm->sm_obj, O_RDONLY); in secmap_alloc()
186 err(EXIT_FAILURE, "failed to open object %s", sm->sm_obj); in secmap_alloc()
189 sm->sm_elf = elf_begin(fd, ELF_C_READ, NULL); in secmap_alloc()
190 if (sm->sm_elf == NULL) { in secmap_alloc()
192 sm->sm_obj, elf_errmsg(elf_errno())); in secmap_alloc()
195 if (gelf_getehdr(sm->sm_elf, &sm->sm_ehdr) == NULL) { in secmap_alloc()
197 sm->sm_obj, elf_errmsg(elf_errno())); in secmap_alloc()
200 base = basename(sm->sm_obj); in secmap_alloc()
202 sm->sm_debug = sm->sm_symtab = sm->sm_ctf = B_TRUE; in secmap_alloc()
204 sm->sm_symtab = sm->sm_ctf = B_TRUE; in secmap_alloc()
206 sm->sm_symtab = B_TRUE; in secmap_alloc()
208 sm->sm_symtab = sm->sm_ctf = B_TRUE; in secmap_alloc()
210 sm->sm_debug = sm->sm_symtab = sm->sm_ctf = B_TRUE; in secmap_alloc()
212 sm->sm_symtab = B_TRUE; in secmap_alloc()
215 return (sm); in secmap_alloc()
219 secmap_data_cmp(secmap_t *sm, const char *sname, Elf_Scn *scn, GElf_Shdr *shdr) in secmap_data_cmp() argument
221 for (Elf_Scn *comp_scn = elf_nextscn(sm->sm_elf, NULL); in secmap_data_cmp()
222 comp_scn != NULL; comp_scn = elf_nextscn(sm->sm_elf, comp_scn)) { in secmap_data_cmp()
229 "during data comparison", sm->sm_obj); in secmap_data_cmp()
233 comp_name = elf_strptr(sm->sm_elf, sm->sm_ehdr.e_shstrndx, in secmap_data_cmp()
237 "with index %lu", sm->sm_obj, comp_shdr.sh_name); in secmap_data_cmp()
253 "source to compare to %s %s", sm->sm_obj, sname); in secmap_data_cmp()
259 "source to compare to %s %s", sm->sm_obj, sname); in secmap_data_cmp()
265 "%zu, file: %zu", sm->sm_obj, sname, in secmap_data_cmp()
273 "in %s: %s", sm->sm_obj, sname); in secmap_data_cmp()
281 sname, sm->sm_obj); in secmap_data_cmp()
285 secmap_file_check(secmap_t *sm) in secmap_file_check() argument
287 if (sm->sm_ctf && (secmap_content & CC_CONTENT_CTF) != 0 && in secmap_file_check()
288 sm->sm_nfound[SECMAP_CTF] == 0) { in secmap_file_check()
290 sm->sm_obj); in secmap_file_check()
293 if (sm->sm_symtab && (secmap_content & CC_CONTENT_SYMTAB) != 0 && in secmap_file_check()
294 sm->sm_nfound[SECMAP_SYMTAB] == 0) { in secmap_file_check()
296 "but it doesn't", sm->sm_obj); in secmap_file_check()
299 if (sm->sm_debug && (secmap_content & CC_CONTENT_DEBUG) != 0 && in secmap_file_check()
300 sm->sm_nfound[SECMAP_DEBUG] == 0) { in secmap_file_check()
302 "but it doesn't", sm->sm_obj); in secmap_file_check()