static void go(void *addr, size_t len, FILE *outfile, const char *name) { Elf64_Ehdr *hdr = (Elf64_Ehdr *)addr; if (hdr->e_ident[EI_CLASS] == ELFCLASS64) { go64(addr, len, outfile, name); } else if (hdr->e_ident[EI_CLASS] == ELFCLASS32) { go32(addr, len, outfile, name); } else { fail("unknown ELF class\n"); } }
static void go(void *raw_addr, size_t raw_len, void *stripped_addr, size_t stripped_len, FILE *outfile, const char *name) { Elf64_Ehdr *hdr = (Elf64_Ehdr *)raw_addr; if (hdr->e_ident[EI_CLASS] == ELFCLASS64) { go64(raw_addr, raw_len, stripped_addr, stripped_len, outfile, name); } else if (hdr->e_ident[EI_CLASS] == ELFCLASS32) { go32(raw_addr, raw_len, stripped_addr, stripped_len, outfile, name); } else { fail("unknown ELF class\n"); } }