OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.24/] [disk/] [tools/] [fs-NetBSD/] [loader/] [elf.h] - Diff between revs 17 and 211

Only display areas with differences | Details | Blame | View Log

Rev 17 Rev 211
/*
/*
 * elf.h -- structure of ELF files
 * elf.h -- structure of ELF files
 */
 */
 
 
 
 
#ifndef _ELF_H_
#ifndef _ELF_H_
#define _ELF_H_
#define _ELF_H_
 
 
 
 
typedef unsigned int Elf32_Addr;
typedef unsigned int Elf32_Addr;
typedef unsigned short Elf32_Half;
typedef unsigned short Elf32_Half;
typedef unsigned int Elf32_Off;
typedef unsigned int Elf32_Off;
typedef signed int Elf32_Sword;
typedef signed int Elf32_Sword;
typedef unsigned int Elf32_Word;
typedef unsigned int Elf32_Word;
 
 
 
 
#define EI_MAG0         0
#define EI_MAG0         0
#define EI_MAG1         1
#define EI_MAG1         1
#define EI_MAG2         2
#define EI_MAG2         2
#define EI_MAG3         3
#define EI_MAG3         3
#define EI_CLASS        4
#define EI_CLASS        4
#define EI_DATA         5
#define EI_DATA         5
#define EI_VERSION      6
#define EI_VERSION      6
#define EI_PAD          7
#define EI_PAD          7
#define EI_NIDENT       16
#define EI_NIDENT       16
 
 
#define ELFMAG0         0x7F
#define ELFMAG0         0x7F
#define ELFMAG1         'E'
#define ELFMAG1         'E'
#define ELFMAG2         'L'
#define ELFMAG2         'L'
#define ELFMAG3         'F'
#define ELFMAG3         'F'
 
 
#define ELFCLASSNONE    0
#define ELFCLASSNONE    0
#define ELFCLASS32      1
#define ELFCLASS32      1
#define ELFCLASS64      2
#define ELFCLASS64      2
 
 
#define ELFDATANONE     0
#define ELFDATANONE     0
#define ELFDATA2LSB     1
#define ELFDATA2LSB     1
#define ELFDATA2MSB     2
#define ELFDATA2MSB     2
 
 
#define ET_NONE         0
#define ET_NONE         0
#define ET_REL          1
#define ET_REL          1
#define ET_EXEC         2
#define ET_EXEC         2
#define ET_DYN          3
#define ET_DYN          3
#define ET_CORE         4
#define ET_CORE         4
 
 
#define EM_NONE         0
#define EM_NONE         0
#define EM_M32          1
#define EM_M32          1
#define EM_SPARC        2
#define EM_SPARC        2
#define EM_386          3
#define EM_386          3
#define EM_68K          4
#define EM_68K          4
#define EM_88K          5
#define EM_88K          5
#define EM_860          7
#define EM_860          7
#define EM_MIPS         8
#define EM_MIPS         8
#define EM_ECO32        0xEC05
#define EM_ECO32        0xEC05
 
 
typedef struct {
typedef struct {
  unsigned char e_ident[EI_NIDENT];
  unsigned char e_ident[EI_NIDENT];
  Elf32_Half    e_type;
  Elf32_Half    e_type;
  Elf32_Half    e_machine;
  Elf32_Half    e_machine;
  Elf32_Word    e_version;
  Elf32_Word    e_version;
  Elf32_Addr    e_entry;
  Elf32_Addr    e_entry;
  Elf32_Off     e_phoff;
  Elf32_Off     e_phoff;
  Elf32_Off     e_shoff;
  Elf32_Off     e_shoff;
  Elf32_Word    e_flags;
  Elf32_Word    e_flags;
  Elf32_Half    e_ehsize;
  Elf32_Half    e_ehsize;
  Elf32_Half    e_phentsize;
  Elf32_Half    e_phentsize;
  Elf32_Half    e_phnum;
  Elf32_Half    e_phnum;
  Elf32_Half    e_shentsize;
  Elf32_Half    e_shentsize;
  Elf32_Half    e_shnum;
  Elf32_Half    e_shnum;
  Elf32_Half    e_shstrndx;
  Elf32_Half    e_shstrndx;
} Elf32_Ehdr;
} Elf32_Ehdr;
 
 
 
 
#define SHT_NULL        0
#define SHT_NULL        0
#define SHT_PROGBITS    1
#define SHT_PROGBITS    1
#define SHT_SYMTAB      2
#define SHT_SYMTAB      2
#define SHT_STRTAB      3
#define SHT_STRTAB      3
#define SHT_RELA        4
#define SHT_RELA        4
#define SHT_HASH        5
#define SHT_HASH        5
#define SHT_DYNAMIC     6
#define SHT_DYNAMIC     6
#define SHT_NOTE        7
#define SHT_NOTE        7
#define SHT_NOBITS      8
#define SHT_NOBITS      8
#define SHT_REL         9
#define SHT_REL         9
#define SHT_SHLIB       10
#define SHT_SHLIB       10
#define SHT_DYNSYM      11
#define SHT_DYNSYM      11
#define SHT_LOPROC      0x70000000
#define SHT_LOPROC      0x70000000
#define SHT_HIPROC      0x7FFFFFFF
#define SHT_HIPROC      0x7FFFFFFF
#define SHT_LOUSER      0x80000000
#define SHT_LOUSER      0x80000000
#define SHT_HIUSER      0xFFFFFFFF
#define SHT_HIUSER      0xFFFFFFFF
 
 
#define SHF_WRITE       0x00000001
#define SHF_WRITE       0x00000001
#define SHF_ALLOC       0x00000002
#define SHF_ALLOC       0x00000002
#define SHF_EXECINSTR   0x00000004
#define SHF_EXECINSTR   0x00000004
#define SHF_MASKPROC    0xF0000000
#define SHF_MASKPROC    0xF0000000
 
 
typedef struct {
typedef struct {
  Elf32_Word    sh_name;
  Elf32_Word    sh_name;
  Elf32_Word    sh_type;
  Elf32_Word    sh_type;
  Elf32_Word    sh_flags;
  Elf32_Word    sh_flags;
  Elf32_Addr    sh_addr;
  Elf32_Addr    sh_addr;
  Elf32_Off     sh_offset;
  Elf32_Off     sh_offset;
  Elf32_Word    sh_size;
  Elf32_Word    sh_size;
  Elf32_Word    sh_link;
  Elf32_Word    sh_link;
  Elf32_Word    sh_info;
  Elf32_Word    sh_info;
  Elf32_Word    sh_addralign;
  Elf32_Word    sh_addralign;
  Elf32_Word    sh_entsize;
  Elf32_Word    sh_entsize;
} Elf32_Shdr;
} Elf32_Shdr;
 
 
 
 
#define PT_NULL         0
#define PT_NULL         0
#define PT_LOAD         1
#define PT_LOAD         1
#define PT_DYNAMIC      2
#define PT_DYNAMIC      2
#define PT_INTERP       3
#define PT_INTERP       3
#define PT_NOTE         4
#define PT_NOTE         4
#define PT_SHLIB        5
#define PT_SHLIB        5
#define PT_PHDR         6
#define PT_PHDR         6
#define PT_TLS          7
#define PT_TLS          7
 
 
typedef struct {
typedef struct {
  Elf32_Word    p_type;
  Elf32_Word    p_type;
  Elf32_Off     p_offset;
  Elf32_Off     p_offset;
  Elf32_Addr    p_vaddr;
  Elf32_Addr    p_vaddr;
  Elf32_Addr    p_paddr;
  Elf32_Addr    p_paddr;
  Elf32_Word    p_filesz;
  Elf32_Word    p_filesz;
  Elf32_Word    p_memsz;
  Elf32_Word    p_memsz;
  Elf32_Word    p_flags;
  Elf32_Word    p_flags;
  Elf32_Word    p_align;
  Elf32_Word    p_align;
} Elf32_Phdr;
} Elf32_Phdr;
 
 
 
 
#endif /* _ELF_H_ */
#endif /* _ELF_H_ */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.