aboutsummaryrefslogtreecommitdiffstats
path: root/source/elf_format.hpp
diff options
context:
space:
mode:
authorClyne Sullivan <clyne@clyne-lp.lan>2021-07-31 10:47:00 -0400
committerClyne Sullivan <clyne@clyne-lp.lan>2021-07-31 10:47:00 -0400
commit123cc4c756cc8a22f66351ab65595c5a20e53e27 (patch)
treed12ee8cb3d91e08c422e5bd4b5cb01d7dd622b19 /source/elf_format.hpp
parentd24ed15843c328983f9ed20283f89624e8574b9f (diff)
reorganized source, wip
Diffstat (limited to 'source/elf_format.hpp')
-rw-r--r--source/elf_format.hpp100
1 files changed, 0 insertions, 100 deletions
diff --git a/source/elf_format.hpp b/source/elf_format.hpp
deleted file mode 100644
index d4feb99..0000000
--- a/source/elf_format.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * @file elf_format.cpp
- * @brief Defines ELF binary format info.
- *
- * Free to use, written by Clyne Sullivan.
- */
-
-#ifndef STMDSP_ELF_FORMAT_HPP_
-#define STMDSP_ELF_FORMAT_HPP_
-
-#include <cstdint>
-
-#define EI_NIDENT 16
-
-#define PT_NULL 0
-#define PT_LOAD 1
-#define PT_DYNAMIC 2
-#define PT_INTERP 3
-#define PT_NOTE 4
-#define PT_SHLIB 5
-#define PT_PHDR 6
-#define PT_RESERVED 0x70000000
-
-#define ELF32_ST_BIND(i) ((i) >> 4)
-#define ELF32_ST_TYPE(i) ((i) & 0xF)
-#define ELF32_ST_INFO(b, t) (((b) << 4) + ((t) & 0xF))
-
-#define ELF32_R_SYM(i) ((i) >> 8)
-#define ELF32_R_TYPE(i) ((i) & 0xFF)
-#define ELF32_R_INFO(s, t) (((s) << 8) + ((t) & 0xFF))
-
-typedef uint32_t Elf32_Addr;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Off;
-typedef uint32_t Elf32_Sword;
-typedef uint32_t Elf32_Word;
-
-typedef struct {
- unsigned char e_ident[EI_NIDENT];
- Elf32_Half e_type;
- Elf32_Half e_machine;
- Elf32_Word e_version;
- Elf32_Addr e_entry;
- Elf32_Off e_phoff;
- Elf32_Off e_shoff;
- Elf32_Word e_flags;
- Elf32_Half e_ehsize;
- Elf32_Half e_phentsize;
- Elf32_Half e_phnum;
- Elf32_Half e_shentsize;
- Elf32_Half e_shnum;
- Elf32_Half e_shstrndx;
-} __attribute__((packed)) Elf32_Ehdr;
-
-typedef struct {
- Elf32_Word sh_name;
- Elf32_Word sh_type;
- Elf32_Word sh_flags;
- Elf32_Addr sh_addr;
- Elf32_Off sh_offset;
- Elf32_Word sh_size;
- Elf32_Word sh_link;
- Elf32_Word sh_info;
- Elf32_Word sh_addralign;
- Elf32_Word sh_entsize;
-} __attribute__((packed)) Elf32_Shdr;
-
-typedef struct {
- Elf32_Word st_name;
- Elf32_Addr st_value;
- Elf32_Word st_size;
- unsigned char st_info;
- unsigned char st_other;
- Elf32_Half st_shndx;
-} __attribute__((packed)) Elf32_Sym;
-
-typedef struct {
- Elf32_Addr r_offset;
- Elf32_Word r_info;
-} __attribute__((packed)) Elf32_Rel;
-
-typedef struct {
- Elf32_Addr r_offset;
- Elf32_Word r_info;
- Elf32_Sword r_addend;
-} __attribute__((packed)) Elf32_Rela;
-
-typedef struct {
- Elf32_Word p_type;
- Elf32_Off p_offset;
- Elf32_Addr p_vaddr;
- Elf32_Addr p_paddr;
- Elf32_Word p_filesz;
- Elf32_Word p_memsz;
- Elf32_Word p_flags;
- Elf32_Word p_align;
-} __attribute__((packed)) Elf32_Phdr;
-
-#endif // STMDSP_ELF_FORMAT_HPP_
-