1 #include <errno.h>
2 #include <error.h>
3 #include <stdio.h>
4 #include <fcntl.h>
5 #include <unistd.h>
6 #include <libelf.h>
7
8 int
main(int argc,char * argv[])9 main (int argc __attribute__ ((unused)), char *argv[])
10 {
11 int fd = open (argv[1], O_RDWR);
12 if (fd < 0)
13 error (2, errno, "open: %s", argv[1]);
14
15 if (elf_version (EV_CURRENT) == EV_NONE)
16 error (1, 0, "libelf version mismatch");
17
18 Elf *elf = elf_begin (fd, ELF_C_RDWR_MMAP, NULL);
19 if (elf == NULL)
20 error (1, 0, "elf_begin: %s", elf_errmsg (-1));
21
22 if (elf_update (elf, ELF_C_WRITE) < 0)
23 error (1, 0, "elf_update: %s", elf_errmsg (-1));
24
25 elf_end (elf);
26 close (fd);
27
28 return 0;
29 }
30