Lines Matching refs:ELF
10 * The vDSO is a regular ELF DSO that the kernel maps into user space when
35 #define ELF(x) ELF_BITS_XFORM(ELF_BITS, x)
46 ELF(Sym) *symtab;
49 ELF(Word) nbucket, nchain;
53 ELF(Versym) *versym;
54 ELF(Verdef) *verdef;
57 /* Straight from the ELF specification. */
72 ELF(Word) get_hash_val(void *ptr, ELF(Word) idx)
75 ELF(Xword) *table = ptr;
77 return (ELF(Word)) table[idx];
80 ELF(Word) *table = ptr;
85 void *get_hash_ptr(void *ptr, ELF(Word) idx)
88 return &((ELF(Xword) *) ptr)[idx];
90 return &((ELF(Word) *) ptr)[idx];
102 ELF(Ehdr) *hdr = (ELF(Ehdr)*)base;
105 return; /* Wrong ELF class -- check ELF_BITS */
116 ELF(Phdr) *pt = (ELF(Phdr)*)(vdso_info.load_addr + hdr->e_phoff);
117 ELF(Dyn) *dyn = 0;
131 dyn = (ELF(Dyn)*)(base + pt[i].p_offset);
141 ELF(Word) *hash = 0;
154 vdso_info.symtab = (ELF(Sym) *)
159 hash = (ELF(Word) *)
164 vdso_info.versym = (ELF(Versym) *)
169 vdso_info.verdef = (ELF(Verdef) *)
191 static bool vdso_match_version(ELF(Versym) ver,
192 const char *name, ELF(Word) hash)
211 ELF(Verdef) *def = vdso_info.verdef;
220 def = (ELF(Verdef) *)((char *)def + def->vd_next);
224 ELF(Verdaux) *aux = (ELF(Verdaux)*)((char *)def + def->vd_aux);
236 ELF(Word) chain = get_hash_val(vdso_info.bucket,
240 ELF(Sym) *sym = &vdso_info.symtab[chain];
269 ELF(auxv_t) *elf_auxv = auxv;