Lines Matching refs:Elf
10 * The vDSO is a regular ELF DSO that the kernel maps into user space when
22 #include <elf.h>
57 #define ELF_BITS_XFORM2(bits, x) Elf##bits##_##x
59 #define ELF(x) ELF_BITS_XFORM(ELF_BITS, x)
70 ELF(Sym) *symtab;
72 ELF(Word) *bucket, *chain;
73 ELF(Word) nbucket, nchain;
76 ELF(Versym) *versym;
77 ELF(Verdef) *verdef;
80 /* Straight from the ELF specification. */
103 ELF(Ehdr) *hdr = (ELF(Ehdr)*)base;
106 return; /* Wrong ELF class -- check ELF_BITS */
109 ELF(Phdr) *pt = (ELF(Phdr)*)(vdso_info.load_addr + hdr->e_phoff);
110 ELF(Dyn) *dyn = 0;
124 dyn = (ELF(Dyn)*)(base + pt[i].p_offset);
134 ELF(Word) *hash = 0;
147 vdso_info.symtab = (ELF(Sym) *)
152 hash = (ELF(Word) *)
157 vdso_info.versym = (ELF(Versym) *)
162 vdso_info.verdef = (ELF(Verdef) *)
184 static bool vdso_match_version(ELF(Versym) ver,
185 const char *name, ELF(Word) hash)
204 ELF(Verdef) *def = vdso_info.verdef;
213 def = (ELF(Verdef) *)((char *)def + def->vd_next);
217 ELF(Verdaux) *aux = (ELF(Verdaux)*)((char *)def + def->vd_aux);
229 ELF(Word) chain = vdso_info.bucket[elf_hash(name) % vdso_info.nbucket];
232 ELF(Sym) *sym = &vdso_info.symtab[chain];
259 ELF(auxv_t) *elf_auxv = auxv;