Lines Matching refs:ehdr

2123 static void bswap_ehdr(struct elfhdr *ehdr)  in bswap_ehdr()  argument
2125 bswap16s(&ehdr->e_type); /* Object file type */ in bswap_ehdr()
2126 bswap16s(&ehdr->e_machine); /* Architecture */ in bswap_ehdr()
2127 bswap32s(&ehdr->e_version); /* Object file version */ in bswap_ehdr()
2128 bswaptls(&ehdr->e_entry); /* Entry point virtual address */ in bswap_ehdr()
2129 bswaptls(&ehdr->e_phoff); /* Program header table file offset */ in bswap_ehdr()
2130 bswaptls(&ehdr->e_shoff); /* Section header table file offset */ in bswap_ehdr()
2131 bswap32s(&ehdr->e_flags); /* Processor-specific flags */ in bswap_ehdr()
2132 bswap16s(&ehdr->e_ehsize); /* ELF header size in bytes */ in bswap_ehdr()
2133 bswap16s(&ehdr->e_phentsize); /* Program header table entry size */ in bswap_ehdr()
2134 bswap16s(&ehdr->e_phnum); /* Program header table entry count */ in bswap_ehdr()
2135 bswap16s(&ehdr->e_shentsize); /* Section header table entry size */ in bswap_ehdr()
2136 bswap16s(&ehdr->e_shnum); /* Section header table entry count */ in bswap_ehdr()
2137 bswap16s(&ehdr->e_shstrndx); /* Section header string table index */ in bswap_ehdr()
2191 static inline void bswap_ehdr(struct elfhdr *ehdr) { } in bswap_ehdr() argument
2208 static bool elf_check_ident(struct elfhdr *ehdr) in elf_check_ident() argument
2210 return (ehdr->e_ident[EI_MAG0] == ELFMAG0 in elf_check_ident()
2211 && ehdr->e_ident[EI_MAG1] == ELFMAG1 in elf_check_ident()
2212 && ehdr->e_ident[EI_MAG2] == ELFMAG2 in elf_check_ident()
2213 && ehdr->e_ident[EI_MAG3] == ELFMAG3 in elf_check_ident()
2214 && ehdr->e_ident[EI_CLASS] == ELF_CLASS in elf_check_ident()
2215 && ehdr->e_ident[EI_DATA] == ELF_DATA in elf_check_ident()
2216 && ehdr->e_ident[EI_VERSION] == EV_CURRENT); in elf_check_ident()
2221 static bool elf_check_ehdr(struct elfhdr *ehdr) in elf_check_ehdr() argument
2223 return (elf_check_arch(ehdr->e_machine) in elf_check_ehdr()
2224 && elf_check_abi(ehdr->e_flags) in elf_check_ehdr()
2225 && ehdr->e_ehsize == sizeof(struct elfhdr) in elf_check_ehdr()
2226 && ehdr->e_phentsize == sizeof(struct elf_phdr) in elf_check_ehdr()
2227 && (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN)); in elf_check_ehdr()
3195 struct image_info *info, struct elfhdr *ehdr, in load_elf_image() argument
3209 if (!imgsrc_read(ehdr, 0, sizeof(*ehdr), src, &err)) { in load_elf_image()
3212 if (!elf_check_ident(ehdr)) { in load_elf_image()
3216 bswap_ehdr(ehdr); in load_elf_image()
3217 if (!elf_check_ehdr(ehdr)) { in load_elf_image()
3222 phdr = imgsrc_read_alloc(ehdr->e_phoff, in load_elf_image()
3223 ehdr->e_phnum * sizeof(struct elf_phdr), in load_elf_image()
3228 bswap_phdr(phdr, ehdr->e_phnum); in load_elf_image()
3242 for (i = 0; i < ehdr->e_phnum; ++i) { in load_elf_image()
3287 if (ehdr->e_type == ET_EXEC) { in load_elf_image()
3338 if (ehdr->e_type != ET_EXEC && align > qemu_real_host_page_size()) { in load_elf_image()
3344 (ehdr->e_type == ET_EXEC ? MAP_FIXED_NOREPLACE : 0), in load_elf_image()
3366 if (elf_is_fdpic(ehdr)) { in load_elf_image()
3370 for (i = 0; i < ehdr->e_phnum; ++i) { in load_elf_image()
3389 info->entry = ehdr->e_entry + load_bias; in load_elf_image()
3396 info->elf_flags = ehdr->e_flags; in load_elf_image()
3418 for (i = 0; i < ehdr->e_phnum; i++) { in load_elf_image()
3497 load_symbols(ehdr, src, load_bias); in load_elf_image()
3518 struct elfhdr ehdr; in load_elf_interp() local
3541 load_elf_image(filename, &src, info, &ehdr, NULL); in load_elf_interp()
3556 struct elfhdr ehdr; in load_elf_vdso() local
3563 load_elf_image("<internal-vdso>", &src, info, &ehdr, NULL); in load_elf_vdso()
3755 struct elfhdr ehdr; in get_elf_eflags() local
3764 ret = read(fd, &ehdr, sizeof(ehdr)); in get_elf_eflags()
3765 if (ret < sizeof(ehdr)) { in get_elf_eflags()
3774 if (!elf_check_ident(&ehdr)) { in get_elf_eflags()
3779 bswap_ehdr(&ehdr); in get_elf_eflags()
3780 if (!elf_check_ehdr(&ehdr)) { in get_elf_eflags()
3785 return ehdr.e_flags; in get_elf_eflags()
3796 struct elfhdr ehdr; in load_elf_binary() local
3806 load_elf_image(bprm->filename, &bprm->src, info, &ehdr, &elf_interpreter); in load_elf_binary()
3898 bprm->p = create_elf_tables(bprm->p, bprm->argc, bprm->envc, &ehdr, info, in load_elf_binary()