Lines Matching defs:vdso_info

46 static struct vdso_info
64 } vdso_info;
101 vdso_info.valid = false;
103 vdso_info.load_addr = base;
111 ELF(Phdr) *pt = (ELF(Phdr)*)(vdso_info.load_addr + hdr->e_phoff);
122 vdso_info.load_offset = base
137 vdso_info.symstrings = 0;
138 vdso_info.gnu_hash = 0;
139 vdso_info.symtab = 0;
140 vdso_info.versym = 0;
141 vdso_info.verdef = 0;
145 vdso_info.symstrings = (const char *)
147 + vdso_info.load_offset);
150 vdso_info.symtab = (ELF(Sym) *)
152 + vdso_info.load_offset);
157 + vdso_info.load_offset);
160 vdso_info.gnu_hash =
162 vdso_info.load_offset);
165 vdso_info.versym = (ELF(Versym) *)
167 + vdso_info.load_offset);
170 vdso_info.verdef = (ELF(Verdef) *)
172 + vdso_info.load_offset);
176 if (!vdso_info.symstrings || !vdso_info.symtab ||
177 (!hash && !vdso_info.gnu_hash))
180 if (!vdso_info.verdef)
181 vdso_info.versym = 0;
184 if (vdso_info.gnu_hash) {
185 vdso_info.nbucket = vdso_info.gnu_hash[0];
189 vdso_info.gnu_bucket = vdso_info.gnu_hash + 4 +
190 sizeof(size_t) / 4 * vdso_info.gnu_hash[2];
192 vdso_info.nbucket = hash[0];
193 vdso_info.nchain = hash[1];
194 vdso_info.bucket = &hash[2];
195 vdso_info.chain = &hash[vdso_info.nbucket + 2];
199 vdso_info.valid = true;
222 ELF(Verdef) *def = vdso_info.verdef;
237 && !strcmp(name, vdso_info.symstrings + aux->vda_name);
249 if (strcmp(name, vdso_info.symstrings + sym->st_name))
253 if (vdso_info.versym &&
254 !vdso_match_version(vdso_info.versym[i], version, ver_hash))
263 if (!vdso_info.valid)
269 if (vdso_info.gnu_hash) {
272 i = vdso_info.gnu_bucket[h1 % vdso_info.nbucket];
276 hashval = vdso_info.gnu_bucket + vdso_info.nbucket +
277 (i - vdso_info.gnu_hash[1]);
279 ELF(Sym) *sym = &vdso_info.symtab[i];
283 return (void *)(vdso_info.load_offset +
289 i = vdso_info.bucket[elf_hash(name) % vdso_info.nbucket];
290 for (; i; i = vdso_info.chain[i]) {
291 ELF(Sym) *sym = &vdso_info.symtab[i];
294 return (void *)(vdso_info.load_offset +