Lines Matching refs:cache
103 Cache *cache; /* Pointer to cache entry for VERSYM */ member
118 Cache *cache; /* Cache of all section headers */ member
268 relsymname(Cache *cache, Cache *csec, Cache *strsec, Word symndx, Word symnum, in relsymname() argument
292 cache[sym->st_shndx].c_name); in relsymname()
306 stringtbl(Cache *cache, int symtab, Word ndx, Word shnum, const char *file, in stringtbl() argument
309 Shdr *shdr = cache[ndx].c_shdr; in stringtbl()
317 file, cache[ndx].c_name, EC_WORD(shdr->sh_link)); in stringtbl()
322 file, cache[ndx].c_name); in stringtbl()
329 if ((cache[ndx].c_data == NULL) || in stringtbl()
330 (cache[ndx].c_data->d_buf == NULL)) { in stringtbl()
332 file, cache[ndx].c_name); in stringtbl()
340 shdr = cache[ndx].c_shdr; in stringtbl()
348 *symsec = &cache[ndx]; in stringtbl()
356 file, cache[ndx].c_name, EC_WORD(shdr->sh_link)); in stringtbl()
361 *strsec = &cache[shdr->sh_link]; in stringtbl()
386 symlookup(const char *name, Cache *cache, Word shnum, Sym **sym, in symlookup() argument
429 symname = string(symtab, cnt, &cache[shdr->sh_link], file, in symlookup()
454 sections(const char *file, Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi) in sections() argument
459 Cache *_cache = &cache[seccnt]; in sections()
536 unwind_eh_frame(Cache *cache, Word shndx, Word shnum, Phdr *uphdr, Ehdr *ehdr, in unwind_eh_frame() argument
547 Cache *_cache = &cache[shndx]; in unwind_eh_frame()
559 if (strncmp(cache[cnt].c_name, MSG_ORIG(MSG_ELF_GOT), in unwind_eh_frame()
561 gotaddr = cache[cnt].c_shdr->sh_addr; in unwind_eh_frame()
718 cache[eh_state->hdr_ndx].c_name, in unwind_eh_frame()
721 cache[eh_state->frame_ndx].c_name, in unwind_eh_frame()
855 unwind(Cache *cache, Word shnum, Word phnum, Ehdr *ehdr, uchar_t osabi, in unwind() argument
898 Cache *_cache = &cache[cnt]; in unwind()
947 unwind_eh_frame(cache, cnt, shnum, uphdr, ehdr, in unwind()
966 init_symtbl_state(SYMTBL_STATE *state, Cache *cache, Word shnum, Word secndx, in init_symtbl_state() argument
974 state->cache = cache; in init_symtbl_state()
977 state->seccache = &cache[secndx]; in init_symtbl_state()
1015 if (versym && versym->cache && in init_symtbl_state()
1016 (versym->cache->c_shdr->sh_link == state->secndx)) in init_symtbl_state()
1036 Cache *_cache = &state->cache[symcnt]; in symbols_getxindex()
1124 &state->cache[state->seccache->c_shdr->sh_link], state->file, in output_symbol()
1145 tshdr = state->cache[shndx].c_shdr; in output_symbol()
1146 sec = state->cache[shndx].c_name; in output_symbol()
1164 tshdr = state->cache[shndx].c_shdr; in output_symbol()
1165 sec = state->cache[shndx].c_name; in output_symbol()
1309 cap_section(const char *file, Cache *cache, Word shnum, Cache *ccache, in cap_section() argument
1349 cicache = &cache[cshdr->sh_link]; in cap_section()
1370 scache = &cache[cishdr->sh_link]; in cap_section()
1380 if (!init_symtbl_state(&state, cache, shnum, in cap_section()
1403 strcache = &cache[cshdr->sh_info]; in cap_section()
1578 chcache = &cache[cishdr->sh_info]; in cap_section()
1684 cap(const char *file, Cache *cache, Word shnum, Word phnum, Ehdr *ehdr, in cap() argument
1717 Cache *_cache = &cache[cnt]; in cap()
1724 if (cap_section(file, cache, shnum, _cache, osabi, in cap()
1767 interp(const char *file, Cache *cache, Word shnum, Word phnum, Elf *elf) in interp() argument
1799 Cache *_cache = &cache[cnt]; in interp()
1844 syminfo(Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi, const char *file) in syminfo() argument
1855 if (cache[cnt].c_shdr->sh_type == SHT_SUNW_syminfo) { in syminfo()
1856 infocache = &cache[cnt]; in syminfo()
1897 (cache[infoshdr->sh_info].c_shdr->sh_type != SHT_DYNAMIC)) { in syminfo()
1901 dyncache = &cache[infoshdr->sh_info]; in syminfo()
1929 if (stringtbl(cache, 1, cnt, shnum, file, in syminfo()
2279 versions(Cache *cache, Word shnum, const char *file, uint_t flags, in versions() argument
2289 Cache *_cache = &cache[cnt]; in versions()
2323 versym->cache = _cache; in versions()
2396 &cache[verdef_cache->c_shdr->sh_link], file); in versions()
2409 &cache[verneed_cache->c_shdr->sh_link], file, versym); in versions()
2417 symbols(Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi, in symbols() argument
2428 _cache = &cache[secndx]; in symbols()
2439 if (!init_symtbl_state(&state, cache, shnum, secndx, ehdr, in symbols()
2460 sunw_sort(Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi, in sunw_sort() argument
2475 sortcache = &cache[sortsecndx]; in sunw_sort()
2498 symcache = &cache[sortshdr->sh_link]; in sunw_sort()
2504 if (!init_symtbl_state(&ldynsym_state, cache, shnum, in sunw_sort()
2516 symcache = &cache[symsecndx]; in sunw_sort()
2530 if (!init_symtbl_state(&dynsym_state, cache, shnum, in sunw_sort()
2597 reloc(Cache *cache, Word shnum, Ehdr *ehdr, const char *file) in reloc() argument
2607 Cache *_cache = &cache[cnt]; in reloc()
2647 if (stringtbl(cache, 1, cnt, shnum, file, in reloc()
2683 symname = relsymname(cache, _cache, strsec, symndx, in reloc()
2866 Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi, const char *file) in dyn_symtest() argument
2887 symlookup(symname, cache, shnum, &sym, target_cache, in dyn_symtest()
2900 dynamic(Cache *cache, Word shnum, Ehdr *ehdr, uchar_t osabi, const char *file) in dynamic() argument
2939 Cache *_cache = &cache[cnt]; in dynamic()
2947 (void) stringtbl(cache, 0, cnt, shnum, file, in dynamic()
3044 Cache *_cache = &cache[cnt], *strsec; in dynamic()
3055 if (stringtbl(cache, 0, cnt, shnum, file, 0, 0, &strsec) == 0) in dynamic()
3224 sec.fini, cache, shnum, ehdr, osabi, file); in dynamic()
3243 sec.init, cache, shnum, ehdr, osabi, file); in dynamic()
3415 move(Cache *cache, Word shnum, const char *file, uint_t flags) in move() argument
3423 Cache *_cache = &cache[cnt]; in move()
3451 if (stringtbl(cache, 1, cnt, shnum, file, in move()
3497 symname = relsymname(cache, _cache, strsec, in move()
3507 (cache[shndx].c_shdr)->sh_type == SHT_NOBITS))) { in move()
3662 note_entry(Cache *cache, Word *data, size_t size, Ehdr *ehdr, const char *file) in note_entry() argument
3671 pnstate.pns_cache = cache; in note_entry()
3792 note(Cache *cache, Word shnum, Ehdr *ehdr, const char *file) in note() argument
3800 Cache *_cache = &cache[cnt]; in note()
3847 has_linux_abi_note(Cache *cache, Word shnum, const char *file) in has_linux_abi_note() argument
3853 Cache *_cache = &cache[cnt]; in has_linux_abi_note()
3953 hash(Cache *cache, Word shnum, const char *file, uint_t flags) in hash() argument
3962 Cache *_cache = &cache[cnt]; in hash()
3996 _cache = &cache[hshdr->sh_link]; in hash()
4037 hash_entry(_cache, &cache[sshdr->sh_link], hsecname, in hash()
4047 hash_entry(_cache, &cache[sshdr->sh_link], in hash()
4093 group(Cache *cache, Word shnum, const char *file, uint_t flags) in group() argument
4098 Cache *_cache = &cache[scnt]; in group()
4119 if (stringtbl(cache, 1, scnt, shnum, file, in group()
4168 grpnam = cache[sym->st_shndx].c_name; in group()
4183 name = cache[grpdata[gcnt]].c_name; in group()
4192 got(Cache *cache, Word shnum, Ehdr *ehdr, const char *file) in got() argument
4209 if (strncmp(cache[cnt].c_name, MSG_ORIG(MSG_ELF_GOT), in got()
4211 gotcache = &cache[cnt]; in got()
4270 Cache *_cache = &cache[cnt]; in got()
4316 if (stringtbl(cache, 1, cnt, shnum, file, in got()
4370 gip->g_symname = relsymname(cache, _cache, in got()
4378 if (symlookup(MSG_ORIG(MSG_SYM_GOT), cache, shnum, &gotsym, NULL, in got()
4467 Cache *cache, *_cache; in shdr_cache() local
4503 if ((*cache_ret = cache = malloc(shnum * sizeof (Cache))) == NULL) { in shdr_cache()
4510 *cache = cache_init; in shdr_cache()
4511 _cache = cache; in shdr_cache()
4672 sort_shdr_ndx_arr_cache = cache; in shdr_cache()
4677 Cache *_cache = cache + shdr_ndx_arr[ndx]; in shdr_cache()
4694 Cache *_cache1 = cache + shdr_ndx_arr[ndx1]; in shdr_cache()
4736 Cache *_cache = &cache[ndx]; in shdr_cache()
4774 create_cache(const char *file, int fd, Elf *elf, Ehdr *ehdr, Cache **cache, in create_cache() argument
4789 if (fake_shdr_cache(file, fd, elf, ehdr, cache, shnum) == 0) in create_cache()
4793 cache, *flags) == 0) in create_cache()
4809 Cache *cache; in regular() local
4921 if (create_cache(file, fd, elf, ehdr, &cache, in regular()
4926 if (has_linux_abi_note(cache, shnum, file)) { in regular()
4986 if (create_cache(file, fd, elf, ehdr, &cache, shstrndx, in regular()
5003 Cache *_cache = &cache[ndx]; in regular()
5039 Cache *_cache = &cache[ndx]; in regular()
5142 sections(file, cache, shnum, ehdr, osabi); in regular()
5145 interp(file, cache, shnum, phnum, elf); in regular()
5148 versions(cache, shnum, file, flags, &versym); in regular()
5151 symbols(cache, shnum, ehdr, osabi, &versym, file, flags); in regular()
5154 sunw_sort(cache, shnum, ehdr, osabi, &versym, file, flags); in regular()
5157 hash(cache, shnum, file, flags); in regular()
5160 got(cache, shnum, ehdr, file); in regular()
5163 group(cache, shnum, file, flags); in regular()
5166 syminfo(cache, shnum, ehdr, osabi, file); in regular()
5169 reloc(cache, shnum, ehdr, file); in regular()
5172 dynamic(cache, shnum, ehdr, osabi, file); in regular()
5179 note_cnt = note(cache, shnum, ehdr, file); in regular()
5207 move(cache, shnum, file, flags); in regular()
5213 cap(file, cache, shnum, phnum, ehdr, osabi, elf, flags); in regular()
5217 unwind(cache, shnum, phnum, ehdr, osabi, file, elf, flags); in regular()
5223 fake_shdr_cache_free(cache, shnum); in regular()
5225 free(cache); in regular()