diff options
author | Anton Blanchard <anton@samba.org> | 2013-12-06 09:12:36 +1100 |
---|---|---|
committer | Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> | 2013-12-06 16:30:34 +0530 |
commit | 7d0c28432892bcd44478b1c72c4d4cb9ae42077a (patch) | |
tree | c309f5a16065b0a0c95d0a7d0182192a35f98e05 /include | |
parent | dad7598b1b53a3c9cd8a3c20300270d0d621a5f3 (diff) | |
download | SLOF-7d0c28432892bcd44478b1c72c4d4cb9ae42077a.zip SLOF-7d0c28432892bcd44478b1c72c4d4cb9ae42077a.tar.gz SLOF-7d0c28432892bcd44478b1c72c4d4cb9ae42077a.tar.bz2 |
Add support for loading little endian ELF binaries.
We byte swap the entire header in place in elf_check_file.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libelf.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/libelf.h b/include/libelf.h index 9446fcf..495d697 100644 --- a/include/libelf.h +++ b/include/libelf.h @@ -26,6 +26,10 @@ #define ET_DYN 3 /* Shared object file */ #define ET_CORE 4 /* Core file */ +/* ELF object endian */ +#define ELFDATA2LSB 1 /* 2's complement, little endian */ +#define ELFDATA2MSB 2 /* 2's complement, big endian */ + /* Generic ELF header */ struct ehdr { uint32_t ei_ident; @@ -72,6 +76,9 @@ int elf_load_file_to_addr(void *file_addr, void *addr, unsigned long *entry, int (*pre_load)(void*, long), void (*post_load)(void*, long)); +void elf_byteswap_header32(void *file_addr); +void elf_byteswap_header64(void *file_addr); + unsigned int elf_load_segments32(void *file_addr, signed long offset, int (*pre_load)(void*, long), void (*post_load)(void*, long)); |