Elf_Ehdr
Elf_Ehdr eh;
extern Elf_Ehdr __executable_start[] __attribute__((weak));
if (pread(fd, &ehdr, sizeof(Elf_Ehdr), 0) != sizeof(Elf_Ehdr) ||
__elf_is_okay__(Elf_Ehdr *ehdr)
Elf_Ehdr ehdr;
Elf_Ehdr ehdr;
Elf_Ehdr *ehdr;
ehdr = (Elf_Ehdr *)hbuf;
Elf_Ehdr *ehdr;
ehdr = (Elf_Ehdr *)hbuf;
Elf_Ehdr *ehdp;
ehdp = (Elf_Ehdr *)loff;
Elf_Ehdr *ehdr;
ehdr = (Elf_Ehdr *)dl_data[AUX_base];
elfp = (Elf_Ehdr *)roundup((vaddr_t)addr + (end - start),
Elf_Ehdr eh, *elfp;
Elf_Ehdr *elf = (Elf_Ehdr *)marks[MARK_SYM];
ELFNAME(exec)(int fd, Elf_Ehdr *elf, uint64_t *marks, int flags)
maxp = elfp + sizeof(Elf_Ehdr);
Elf_Ehdr eh;
Elf_Ehdr eh;
Elf_Ehdr *eh = pack->ep_hdr;
size = sizeof(Elf_Ehdr) + (elf->e_shnum * sizeof(Elf_Shdr));
elf->e_shoff = sizeof(Elf_Ehdr);
bcopy(elf, addr, sizeof(Elf_Ehdr));
bcopy(shp, addr + sizeof(Elf_Ehdr), elf->e_shnum * sizeof(Elf_Shdr));
shp = addr + sizeof(Elf_Ehdr);
size = sizeof(Elf_Ehdr) + (elf->e_shnum * sizeof(Elf_Shdr));
elf64_exec(int fd, Elf_Ehdr *elf, u_int64_t *entryp, void **ssymp, void **esymp){
if (st.st_size < (off_t)sizeof(Elf_Ehdr))
Elf_Ehdr ehdr;
Elf_Ehdr *elf = STAB_TO_EHDR(stab);
Elf_Ehdr *elf = STAB_TO_EHDR(stab);
Elf_Ehdr *elf;
elf = (Elf_Ehdr *)symtab;
#define STAB_TO_EHDR(stab) ((Elf_Ehdr *)((stab)->private))
Elf_Ehdr *elf;
elf = (Elf_Ehdr *)symtab;
.es_hdrsz = sizeof(Elf_Ehdr),
int elf_os_pt_note(struct proc *, struct exec_package *, Elf_Ehdr *, int *);
elf_os_pt_note(struct proc *p, struct exec_package *epp, Elf_Ehdr *eh, int *namesp)
.sh_offset = sizeof(Elf_Ehdr) + 2*sizeof(Elf_Shdr),
Elf_Ehdr ehdr;
elf_check_header(Elf_Ehdr *ehdr)
Elf_Ehdr eh;
Elf_Ehdr *eh = epp->ep_hdr;
if (epp->ep_hdrvalid < sizeof(Elf_Ehdr))
int elf_check_header(Elf_Ehdr *);
maxp += sizeof(Elf_Ehdr);
off = roundup((sizeof(Elf_Ehdr) + sz), sizeof(Elf_Addr));
elf->e_shoff = sizeof(Elf_Ehdr);
int ELFNAME(exec)(int, Elf_Ehdr *, uint64_t *, int);
ELFNAME(exec)(int fd, Elf_Ehdr *elf, uint64_t *marks, int flags)
Elf_Ehdr *eh = (Elf_Ehdr *)p;
Elf_Ehdr *eh = (Elf_Ehdr *)p;
Elf_Ehdr *eh = (Elf_Ehdr *)p;
Elf_Ehdr *eh = (Elf_Ehdr *)p;
if (filesize < sizeof(Elf_Ehdr)) {
if (eh->e_ehsize < sizeof(Elf_Ehdr) || !IS_ELF(*eh))
Elf_Ehdr *eh = (Elf_Ehdr *)p;
Elf_Ehdr h;
static int elf_fix_header(Elf_Ehdr *);
static int elf_fix_shdrs(Elf_Ehdr *, Elf_Shdr *);
static int elf_fix_sym(Elf_Ehdr *, Elf_Sym *);
static int elf_shn2type(Elf_Ehdr *, u_int _shn, const char *_sn);
static int elf2nlist(Elf_Sym *, Elf_Ehdr *, Elf_Shdr *, char *_shstr,
static int elf_symloadx(const char *_name, FILE *, off_t, Elf_Ehdr *,
elf_fix_header(Elf_Ehdr *eh)
elf_load_shdrs(const char *name, FILE *fp, off_t foff, Elf_Ehdr *head)
elf_fix_shdrs(Elf_Ehdr *eh, Elf_Shdr *shdr)
elf_fix_sym(Elf_Ehdr *eh, Elf_Sym *sym)
elf_shn2type(Elf_Ehdr *eh, u_int shn, const char *sn)
elf2nlist(Elf_Sym *sym, Elf_Ehdr *eh, Elf_Shdr *shdr, char *shstr,
elf_size(Elf_Ehdr *head, Elf_Shdr *shdr,
elf_symloadx(const char *name, FILE *fp, off_t foff, Elf_Ehdr *eh,
elf_symload(const char *name, FILE *fp, off_t foff, Elf_Ehdr *eh,
Elf_Ehdr elf_ex;
if (infstat.st_size < sizeof(Elf_Ehdr) || infstat.st_size > SIZE_MAX) {
load_shstr_tab(Elf_Ehdr * pehdr, char *pexe)
load_symtab(Elf_Ehdr * pehdr, char *pexe)
load_strtab(Elf_Ehdr * pehdr, char *pexe)
hide_sym(Elf_Ehdr * ehdr, Elf_Shdr * symsect,
reorder_syms(Elf_Ehdr * ehdr, Elf_Shdr * symsect,
renum_reloc_syms(Elf_Ehdr * ehdr, Symmap * symmap, int symtabsecnum)
void load_strtab(Elf_Ehdr * pehdr, char *pexe);
void load_symtab(Elf_Ehdr * pehdr, char *pexe);
void load_shstr_tab(Elf_Ehdr * pehdr, char *pexe);
void hide_sym(Elf_Ehdr * ehdr, Elf_Shdr * symsect,
void reorder_syms(Elf_Ehdr * ehdr, Elf_Shdr * symsect,
void renum_reloc_syms(Elf_Ehdr * ehdr, Symmap * symmap,
Elf_Ehdr *pehdr;
pehdr = (Elf_Ehdr *) pexe;
Elf_Ehdr eh;
Elf_Ehdr ehdr;
if (pread(fd, &ehdr, sizeof(Elf_Ehdr), (off_t)0) != sizeof(Elf_Ehdr) ||
static int __elf_is_okay__(Elf_Ehdr *ehdr);
__elf_is_okay__(Elf_Ehdr *ehdr)
Elf_Ehdr eh;
vaddr += roundup((sizeof(Elf_Ehdr) + sz), sizeof(Elf_Addr));
off = roundup((sizeof(Elf_Ehdr) + sz), sizeof(Elf_Addr));
elf.e_shoff = h2elfoff(sizeof(Elf_Ehdr));
off = roundup((sizeof(Elf_Ehdr) + sz), sizeof(Elf_Addr));
Elf_Ehdr ehdr, elf;
Elf_Ehdr ehdr;