Lines Matching refs:ehdr
174 mapexec_brand(vnode_t *vp, uarg_t *args, Ehdr *ehdr, Addr *uphdr_vaddr, in mapexec_brand() argument
200 if ((error = getelfhead(vp, CRED(), ehdr, &nshdrs, &shstrndx, in mapexec_brand()
202 (error = getelfphdr(vp, CRED(), ehdr, nphdrs, &phdrbase, in mapexec_brand()
208 if ((len = elfsize(ehdr, nphdrs, phdrbase, &lddata)) == 0) { in mapexec_brand()
216 if (error = mapelfexec(vp, ehdr, nphdrs, phdrbase, &uphdr, &dynphdr, in mapexec_brand()
234 if (ehdr->e_type == ET_EXEC && *interp == 0) in mapexec_brand()
285 Ehdr ehdr; in elfexec() member
302 ehdrp = &bigwad->ehdr; in elfexec()
997 getelfhead(vnode_t *vp, cred_t *credp, Ehdr *ehdr, int *nshdrs, int *shstrndx, in getelfhead() argument
1007 if ((error = vn_rdwr(UIO_READ, vp, (caddr_t)ehdr, in getelfhead()
1018 ehdr->e_ident[EI_MAG2] != ELFMAG2 || in getelfhead()
1019 ehdr->e_ident[EI_MAG3] != ELFMAG3) in getelfhead()
1022 if ((ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN) || in getelfhead()
1024 ehdr->e_ident[EI_CLASS] != ELFCLASS32 || in getelfhead()
1026 ehdr->e_ident[EI_CLASS] != ELFCLASS64 || in getelfhead()
1028 !elfheadcheck(ehdr->e_ident[EI_DATA], ehdr->e_machine, in getelfhead()
1029 ehdr->e_flags)) in getelfhead()
1032 *nshdrs = ehdr->e_shnum; in getelfhead()
1033 *shstrndx = ehdr->e_shstrndx; in getelfhead()
1034 *nphdrs = ehdr->e_phnum; in getelfhead()
1041 if ((*nshdrs == 0 && ehdr->e_shoff != 0) || in getelfhead()
1045 if (ehdr->e_shoff == 0) in getelfhead()
1049 sizeof (shdr), (offset_t)ehdr->e_shoff, UIO_SYSSPACE, 0, in getelfhead()
1071 getelfphdr(vnode_t *vp, cred_t *credp, const Ehdr *ehdr, int nphdrs, in getelfphdr() argument
1090 if (ehdr->e_phentsize < minsize || (ehdr->e_phentsize & 3)) in getelfphdr()
1093 *phsizep = nphdrs * ehdr->e_phentsize; in getelfphdr()
1103 (offset_t)ehdr->e_phoff, UIO_SYSSPACE, 0, (rlim64_t)0, in getelfphdr()
1123 getelfshdr(vnode_t *vp, cred_t *credp, const Ehdr *ehdr, in getelfshdr() argument
1140 if (ehdr->e_shentsize < minsize || (ehdr->e_shentsize & 3) || in getelfshdr()
1144 *shsizep = nshdrs * ehdr->e_shentsize; in getelfshdr()
1154 (offset_t)ehdr->e_shoff, UIO_SYSSPACE, 0, (rlim64_t)0, in getelfshdr()
1164 shdr = (Shdr *)(*shbasep + shstrndx * ehdr->e_shentsize); in getelfshdr()
1200 Ehdr *ehdr, in mapelfexec() argument
1223 int hsize = ehdr->e_phentsize; in mapelfexec()
1227 if (ehdr->e_type == ET_DYN) { in mapelfexec()
1495 Ehdr ehdr; in process_scns() local
1534 if (getelfhead(mvp, credp, &ehdr, &nshdrs, &shstrndx, in process_scns()
1536 getelfshdr(mvp, credp, &ehdr, nshdrs, shstrndx, in process_scns()
1540 off = ehdr.e_shentsize; in process_scns()
1541 for (j = 1; j < nshdrs; j++, off += ehdr.e_shentsize) { in process_scns()
1559 shdr->sh_link * ehdr.e_shentsize); in process_scns()
1625 symtab->sh_link * ehdr.e_shentsize); in process_scns()
1657 if (ehdr.e_type == ET_DYN || in process_scns()
1678 if (ehdr.e_type == ET_DYN || in process_scns()
1764 Ehdr ehdr; in elfcore() member
1770 Ehdr *ehdr; in elfcore() local
1816 ehdr = &bigwad->ehdr; in elfcore()
1817 bzero(ehdr, sizeof (*ehdr)); in elfcore()
1819 ehdr->e_ident[EI_MAG0] = ELFMAG0; in elfcore()
1820 ehdr->e_ident[EI_MAG1] = ELFMAG1; in elfcore()
1821 ehdr->e_ident[EI_MAG2] = ELFMAG2; in elfcore()
1822 ehdr->e_ident[EI_MAG3] = ELFMAG3; in elfcore()
1823 ehdr->e_ident[EI_CLASS] = ELFCLASS; in elfcore()
1824 ehdr->e_type = ET_CORE; in elfcore()
1829 ehdr->e_ident[EI_DATA] = ELFDATA2MSB; in elfcore()
1830 ehdr->e_machine = EM_SPARC; in elfcore()
1832 ehdr->e_ident[EI_DATA] = ELFDATA2LSB; in elfcore()
1833 ehdr->e_machine = EM_386; in elfcore()
1841 ehdr->e_ident[EI_DATA] = ELFDATA2MSB; in elfcore()
1842 ehdr->e_machine = EM_SPARCV9; in elfcore()
1844 ehdr->e_ident[EI_DATA] = ELFDATA2LSB; in elfcore()
1845 ehdr->e_machine = EM_AMD64; in elfcore()
1859 ehdr->e_version = EV_CURRENT; in elfcore()
1860 ehdr->e_ehsize = sizeof (Ehdr); in elfcore()
1863 ehdr->e_phnum = PN_XNUM; in elfcore()
1865 ehdr->e_phnum = (unsigned short)nphdrs; in elfcore()
1867 ehdr->e_phoff = sizeof (Ehdr); in elfcore()
1868 ehdr->e_phentsize = sizeof (Phdr); in elfcore()
1872 ehdr->e_shnum = 0; in elfcore()
1874 ehdr->e_shnum = (unsigned short)nshdrs; in elfcore()
1877 ehdr->e_shstrndx = SHN_XINDEX; in elfcore()
1879 ehdr->e_shstrndx = (unsigned short)(nshdrs - 1); in elfcore()
1881 ehdr->e_shoff = ehdr->e_phoff + ehdr->e_phentsize * nphdrs; in elfcore()
1882 ehdr->e_shentsize = sizeof (Shdr); in elfcore()
1885 if (error = core_write(vp, UIO_SYSSPACE, (offset_t)0, ehdr, in elfcore()