+++ /dev/null
-#include <stdio.h>
-
-#include <libelf.h>
-#include <gelf.h>
-
-#include <libelfu/libelfu.h>
-
-
-void elfu_copyEhdr(Elf *eo, Elf *ei)
-{
- int elfclass;
- GElf_Ehdr ehdr, ehdrOut;
-
- elfclass = gelf_getclass(ei);
- if (elfclass == ELFCLASSNONE) {
- fprintf(stderr, "getclass() failed: %s\n", elf_errmsg(-1));
- }
-
- if (!gelf_getehdr(ei, &ehdr)) {
- fprintf(stderr, "gelf_getehdr() failed: %s\n", elf_errmsg(-1));
- return;
- }
-
- if (!gelf_newehdr(eo, elfclass)) {
- fprintf(stderr, "gelf_newehdr() failed: %s\n", elf_errmsg(-1));
- }
-
- if (!gelf_getehdr(ei, &ehdrOut)) {
- fprintf(stderr, "gelf_getehdr() failed: %s\n", elf_errmsg(-1));
- return;
- }
-
- ehdrOut.e_ident[EI_DATA] = ehdr.e_ident[EI_DATA];
- ehdrOut.e_type = ehdr.e_type;
- ehdrOut.e_machine = ehdr.e_machine;
- ehdrOut.e_version = ehdr.e_version;
- ehdrOut.e_entry = ehdr.e_entry; // FIXME
- /* e_phoff */
- /* e_shoff */
- ehdrOut.e_flags = ehdr.e_flags;
- /* e_ehsize */
- /* e_phentsize */
- /* e_phnum */
- /* e_shentsize */
- /* s_shnum */
- ehdrOut.e_shstrndx = ehdr.e_shstrndx; // FIXME
-
-
- if (!gelf_update_ehdr(eo, &ehdrOut)) {
- fprintf(stderr, "gelf_update_ehdr() failed: %s\n", elf_errmsg(-1));
- }
-}