6 #include <libelfu/libelfu.h>
9 void elfu_copyEhdr(Elf *eo, Elf *ei);
10 void elfu_copySections(Elf *eo, Elf *ei);
11 void elfu_copySegments1(Elf *eo, Elf *ei);
12 void elfu_copySegments2(Elf *eo, Elf *ei);
15 void elfu_copyElf(Elf *eo, Elf *ei)
17 elfu_copyEhdr(eo, ei);
18 elfu_copySections(eo, ei);
19 elfu_copySegments1(eo, ei);
21 /* Calculate file structure so we have section offsets */
22 if (elf_update(eo, ELF_C_NULL) < 0) {
23 fprintf(stderr, "elf_update(NULL) failed: %s\n", elf_errmsg(-1));
26 /* Update the segment offsets and lengths */
27 elfu_copySegments2(eo, ei);
29 elfu_fixupPhdrSelfRef(eo);