Lines Matching refs:ehdr
223 Elf32_Ehdr *ehdr; /* ELF header of ld.so */ local
382 ehdr = (Elf32_Ehdr *)mmap(0, sb.st_size, PROT_READ | PROT_EXEC,
384 if (ehdr == (Elf32_Ehdr *)-1)
392 if (ehdr->e_ident[EI_MAG0] != ELFMAG0 ||
393 ehdr->e_ident[EI_MAG1] != ELFMAG1 ||
394 ehdr->e_ident[EI_MAG2] != ELFMAG2 ||
395 ehdr->e_ident[EI_MAG3] != ELFMAG3)
397 if (ehdr->e_ident[EI_CLASS] != ELFCLASS32 ||
398 ehdr->e_ident[EI_DATA] != ELFDATA2MSB)
400 if (ehdr->e_type != ET_DYN)
402 if ((ehdr->e_machine != EM_SPARC) &&
403 (ehdr->e_machine != EM_SPARC32PLUS))
405 ldso, ehdr->e_machine);
406 if (ehdr->e_version > EV_CURRENT)
407 panic("%s has bad ELF version of %d", ldso, ehdr->e_version);
412 phdr = (Elf32_Phdr *)((caddr_t)ehdr + ehdr->e_phoff);
413 for (p = 0, pptr = phdr; p < (int)ehdr->e_phnum; p++,
414 pptr = (Elf32_Phdr *)((caddr_t)pptr + ehdr->e_phentsize))
468 for (pptr = phdr; (pptr - phdr) < (int)ehdr->e_phnum; pptr++) {
565 (*((void (*)())(ehdr->e_entry + faddr + sizeof (long))))(eb);