diff options
Diffstat (limited to 'qemu/roms/SLOF/include/libelf.h')
-rw-r--r-- | qemu/roms/SLOF/include/libelf.h | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/qemu/roms/SLOF/include/libelf.h b/qemu/roms/SLOF/include/libelf.h deleted file mode 100644 index 5fbf27927..000000000 --- a/qemu/roms/SLOF/include/libelf.h +++ /dev/null @@ -1,99 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2004, 2011 IBM Corporation - * All rights reserved. - * This program and the accompanying materials - * are made available under the terms of the BSD License - * which accompanies this distribution, and is available at - * http://www.opensource.org/licenses/bsd-license.php - * - * Contributors: - * IBM Corporation - initial implementation - *****************************************************************************/ - -/* - * ELF loader library - */ - -#ifndef __LIBELF_H -#define __LIBELF_H - -#include <stdint.h> - -/* ELF object file types */ -#define ET_NONE 0 /* No file type */ -#define ET_REL 1 /* Relocatable file */ -#define ET_EXEC 2 /* Executable file */ -#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; - uint8_t ei_class; - uint8_t ei_data; - uint8_t ei_version; - uint8_t ei_pad[9]; - uint16_t e_type; - uint16_t e_machine; - uint32_t e_version; -}; - -/* Section types (sh_type) */ -#define SHT_NULL 0 /* Unused section header */ -#define SHT_PROGBITS 1 /* Information defined by the program */ -#define SHT_SYMTAB 2 /* Linker symbol table */ -#define SHT_STRTAB 3 /* String table */ -#define SHT_RELA 4 /* "Rela" type relocation entries */ -#define SHT_HASH 5 /* Symbol hash table */ -#define SHT_DYNAMIC 6 /* Dynamic linking tables */ -#define SHT_NOTE 7 /* Note information */ -#define SHT_NOBITS 8 /* Uninitialized space */ -#define SHT_REL 9 /* "Rel" type relocation entries */ -#define SHT_SHLIB 10 /* Reserved */ -#define SHT_DYNSYM 11 /* Dynamic loader symbol table */ - -/* Section attributs (sh_flags) */ -#define SHF_WRITE 0x1 -#define SHF_ALLOC 0x2 -#define SHF_EXECINSTR 0x4 - -/* Segment types (p_type) */ -#define PT_NULL 0 /* Unused entry */ -#define PT_LOAD 1 /* Loadable segment */ -#define PT_DYNAMIC 2 /* Dynamic linking tables */ -#define PT_INTERP 3 /* Program interpreter path name */ -#define PT_NOTE 4 /* Note sections */ - - -int elf_load_file(void *file_addr, unsigned long *entry, - int (*pre_load)(void*, long), - void (*post_load)(void*, long)); -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)); -unsigned long elf_load_segments64(void *file_addr, signed long offset, - int (*pre_load)(void*, long), - void (*post_load)(void*, long)); - -long elf_get_base_addr(void *file_addr); -long elf_get_base_addr32(void *file_addr); -long elf_get_base_addr64(void *file_addr); -uint32_t elf_get_eflags_32(void *file_addr); -uint32_t elf_get_eflags_64(void *file_addr); - -void elf_relocate64(void *file_addr, signed long offset); - -int elf_forth_claim(void *addr, long size); - -#endif /* __LIBELF_H */ |