Lines Matching defs:ef

65 static int __elfN(obj_loadimage)(struct preloaded_file *mp, elf_file_t ef,
67 static int __elfN(obj_lookup_set)(struct preloaded_file *mp, elf_file_t ef,
69 static int __elfN(obj_reloc_ptr)(struct preloaded_file *mp, elf_file_t ef,
72 elf_file_t ef);
73 static Elf_Addr __elfN(obj_symaddr)(struct elf_file *ef, Elf_Size symidx);
88 struct elf_file ef;
94 bzero(&ef, sizeof(struct elf_file));
101 if ((ef.fd = open(filename, O_RDONLY)) == -1)
104 hdr = &ef.hdr;
105 bytes_read = read(ef.fd, hdr, sizeof(*hdr));
160 fp->f_size = __elfN(obj_loadimage)(fp, &ef, dest);
177 close(ef.fd);
178 if (ef.e_shdr != NULL)
179 free(ef.e_shdr);
189 __elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, u_int64_t off)
198 hdr = &ef->hdr;
199 ef->off = (vm_offset_t)off;
203 shdr = alloc_pread(ef->fd, (off_t)hdr->e_shoff, shdrbytes);
209 ef->e_shdr = shdr;
240 ef->symtabindex = i;
251 lastaddr = roundup(lastaddr, shdr[ef->symtabindex].sh_addralign);
252 shdr[ef->symtabindex].sh_addr = (Elf_Addr)lastaddr;
253 lastaddr += shdr[ef->symtabindex].sh_size;
255 symstrindex = shdr[ef->symtabindex].sh_link;
273 ef->shstrindex = hdr->e_shstrndx;
274 lastaddr = roundup(lastaddr, shdr[ef->shstrindex].sh_addralign);
275 shdr[ef->shstrindex].sh_addr = (Elf_Addr)lastaddr;
276 lastaddr += shdr[ef->shstrindex].sh_size;
320 if (kern_pread(ef->fd, (vm_offset_t)cshdr->sh_addr,
330 res = __elfN(obj_parse_modmetadata)(fp, ef);
354 __elfN(obj_parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef)
366 if (__elfN(obj_lookup_set)(fp, ef, "modmetadata_set", &p, &p_stop,
373 error = __elfN(obj_reloc_ptr)(fp, ef, p, &v, sizeof(v));
378 error = __elfN(obj_reloc_ptr)(fp, ef, v, &md64, sizeof(md64));
387 error = __elfN(obj_reloc_ptr)(fp, ef, v, &md, sizeof(md));
426 __elfN(obj_lookup_set)(struct preloaded_file *fp, elf_file_t ef,
435 hdr = &ef->hdr;
436 shdr = ef->e_shdr;
437 shstrtab = shdr[ef->shstrindex].sh_addr;
464 __elfN(obj_reloc_ptr)(struct preloaded_file *mp, elf_file_t ef, Elf_Addr p,
475 hdr = &ef->hdr;
476 shdr = ef->e_shdr;
496 error = __elfN(reloc)(ef, __elfN(obj_symaddr),
509 error = __elfN(reloc)(ef, __elfN(obj_symaddr),
522 __elfN(obj_symaddr)(struct elf_file *ef, Elf_Size symidx)
527 if (symidx >= ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym))
529 COPYOUT(ef->e_shdr[ef->symtabindex].sh_addr + symidx * sizeof(Elf_Sym),
531 if (sym.st_shndx == SHN_UNDEF || sym.st_shndx >= ef->hdr.e_shnum)
533 base = ef->e_shdr[sym.st_shndx].sh_addr;