view src/elf.h @ 51:ccd59cd9ee45

fix
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Mon, 17 Dec 2018 19:48:57 +0900
parents 83c23a36980d
children
line wrap: on
line source

// Format of an ELF executable file

#define ELF_MAGIC 0x464C457FU  // "\x7FELF" in little endian

// File header
struct elfhdr {
    uint    magic;  // must equal ELF_MAGIC
    uchar   elf[12];
    ushort  type;
    ushort  machine;
    uint    version;
    uint    entry;
    uint    phoff;
    uint    shoff;
    uint    flags;
    ushort  ehsize;
    ushort  phentsize;
    ushort  phnum;
    ushort  shentsize;
    ushort  shnum;
    ushort  shstrndx;
};

// Program section header
struct proghdr {
    uint    type;
    uint    off;
    uint    vaddr;
    uint    paddr;
    uint    filesz;
    uint    memsz;
    uint    flags;
    uint    align;
};

// Values for Proghdr type
#define ELF_PROG_LOAD           1

// Flag bits for Proghdr flags
#define ELF_PROG_FLAG_EXEC      1
#define ELF_PROG_FLAG_WRITE     2
#define ELF_PROG_FLAG_READ      4