elfhdr
i = xread(fd, (char *)&elfhdr, sizeof (Elf64_Ehdr));
if (*(int *)&elfhdr.e_ident == *(int *)(ELFMAG)) {
int is64 = (elfhdr.e_ident[EI_CLASS] ==
*(int *)&elfhdr.e_ident[0],
*(int *)&elfhdr.e_ident[4],
*(int *)&elfhdr.e_ident[8],
*(int *)&elfhdr.e_ident[12]);
dprintf("e_machine\t0x%x\n", elfhdr.e_machine);
(u_longlong_t)elfhdr.e_entry));
(u_longlong_t)elfhdr.e_shoff));
elfhdr64.e_shentsize : elfhdr.e_shentsize));
elfhdr64.e_shnum : elfhdr.e_shnum));
elfhdr64.e_shstrndx : elfhdr.e_shstrndx));
elfhdr.e_ident[EI_CLASS], ELFCLASS32, ELFCLASS64);
if (elfhdr.e_ident[EI_CLASS] == ELFCLASS64) {
(Elf64_Ehdr *)&elfhdr);
return (read_elf32(fd, print, &elfhdr));
eh = elfhdr;
htole32(sizeof(elfhdr.shstrtab)), /* sh_size */
const struct elfh elfhdr = {
htole16(sizeof(elfhdr.e)), /* e_ehsize */
htole16(sizeof(elfhdr.p[0])), /* e_phentsize */
htole16(sizeof(elfhdr.p) / sizeof(elfhdr.p[0])), /* e_phnum */
htole16(sizeof(elfhdr.sh[0])), /* e_shentsize */
htole16(sizeof(elfhdr.sh) / sizeof(elfhdr.sh[0])), /* e_shnum */
htole32(sizeof(elfhdr)), /* p_offset */
extern const struct elfh elfhdr; /* ELF header template */