#include "config.h" #include #include #include #include #include #include #include int main (int argc, const char **argv) { int fd; Elf *elf; size_t phnum; if (argc != 2) { fprintf (stderr, "usage: %s FILE\n", argv[0]); return EXIT_FAILURE; } fd = open (argv[1], O_RDONLY); if (fd == -1) { perror ("open"); return EXIT_FAILURE; } elf_version (EV_CURRENT); elf = elf_begin (fd, ELF_C_READ, NULL); if (!elf) { fprintf (stderr, "elf_begin: %s\n", elf_errmsg (-1)); return EXIT_FAILURE; } if (elf_getphdrnum (elf, &phnum)) { fprintf(stderr, "elf_getphdrnum: %s\n", elf_errmsg (-1)); return EXIT_FAILURE; } printf("%zu\n", phnum); elf_end (elf); close (fd); return EXIT_SUCCESS; }