mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
This commit is contained in:
		| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include "common/common.h" | ||||
| #include "common/common_types.h" | ||||
|  | ||||
| // ELF Header Constants | ||||
|  | ||||
| @@ -52,27 +52,8 @@ enum ElfMachine { | ||||
| #define ELFMAG2  'L' | ||||
| #define ELFMAG3  'F' | ||||
|  | ||||
| // File class | ||||
| #define ELFCLASSNONE 0 | ||||
| #define ELFCLASS32   1 | ||||
| #define ELFCLASS64   2 | ||||
|  | ||||
| // Encoding | ||||
| #define ELFDATANONE 0 | ||||
| #define ELFDATA2LSB 1 | ||||
| #define ELFDATA2MSB 2 | ||||
|  | ||||
| // Sections constants | ||||
|  | ||||
| // Section indexes | ||||
| #define SHN_UNDEF          0 | ||||
| #define SHN_LORESERVE 0xFF00 | ||||
| #define SHN_LOPROC    0xFF00 | ||||
| #define SHN_HIPROC    0xFF1F | ||||
| #define SHN_ABS       0xFFF1 | ||||
| #define SHN_COMMON    0xFFF2 | ||||
| #define SHN_HIRESERVE 0xFFFF | ||||
|  | ||||
| // Section types | ||||
| #define SHT_NULL            0 | ||||
| #define SHT_PROGBITS        1 | ||||
| @@ -91,9 +72,6 @@ enum ElfMachine { | ||||
| #define SHT_LOUSER 0x80000000 | ||||
| #define SHT_HIUSER 0xFFFFFFFF | ||||
|  | ||||
| // Custom section types | ||||
| #define SHT_PSPREL 0x700000a0 | ||||
|  | ||||
| // Section flags | ||||
| enum ElfSectionFlags | ||||
| { | ||||
| @@ -103,38 +81,6 @@ enum ElfSectionFlags | ||||
|     SHF_MASKPROC = 0xF0000000, | ||||
| }; | ||||
|  | ||||
| // Symbol binding | ||||
| #define STB_LOCAL   0 | ||||
| #define STB_GLOBAL  1 | ||||
| #define STB_WEAK    2 | ||||
| #define STB_LOPROC 13 | ||||
| #define STB_HIPROC 15 | ||||
|  | ||||
| // Symbol types | ||||
| #define STT_NOTYPE   0 | ||||
| #define STT_OBJECT   1 | ||||
| #define STT_FUNC     2 | ||||
| #define STT_SECTION  3 | ||||
| #define STT_FILE     4 | ||||
| #define STT_LOPROC  13 | ||||
| #define STT_HIPROC  15 | ||||
|  | ||||
| // Undefined name | ||||
| #define STN_UNDEF 0 | ||||
|  | ||||
| // Relocation types | ||||
| #define R_386_NONE      0 | ||||
| #define R_386_32        1 | ||||
| #define R_386_PC32      2 | ||||
| #define R_386_GOT32     3 | ||||
| #define R_386_PLT32     4 | ||||
| #define R_386_COPY      5 | ||||
| #define R_386_GLOB_DAT  6 | ||||
| #define R_386_JMP_SLOT  7 | ||||
| #define R_386_RELATIVE  8 | ||||
| #define R_386_GOTOFF    9 | ||||
| #define R_386_GOTPC    10 | ||||
|  | ||||
| // Segment types | ||||
| #define PT_NULL             0 | ||||
| #define PT_LOAD             1 | ||||
| @@ -146,39 +92,6 @@ enum ElfSectionFlags | ||||
| #define PT_LOPROC  0x70000000 | ||||
| #define PT_HIPROC  0x7FFFFFFF | ||||
|  | ||||
| // Segment flags | ||||
| #define PF_X 1 | ||||
| #define PF_W 2 | ||||
| #define PF_R 4 | ||||
|  | ||||
| // Dynamic Array Tags | ||||
| #define DT_NULL              0 | ||||
| #define DT_NEEDED            1 | ||||
| #define DT_PLTRELSZ          2 | ||||
| #define DT_PLTGOT            3 | ||||
| #define DT_HASH              4 | ||||
| #define DT_STRTAB            5 | ||||
| #define DT_SYMTAB            6 | ||||
| #define DT_RELA              7 | ||||
| #define DT_RELASZ            8 | ||||
| #define DT_RELAENT           9 | ||||
| #define DT_STRSZ            10 | ||||
| #define DT_SYMENT           11 | ||||
| #define DT_INIT             12 | ||||
| #define DT_FINI             13 | ||||
| #define DT_SONAME           14 | ||||
| #define DT_RPATH            15 | ||||
| #define DT_SYMBOLIC         16 | ||||
| #define DT_REL              17 | ||||
| #define DT_RELSZ            18 | ||||
| #define DT_RELENT           19 | ||||
| #define DT_PLTREL           20 | ||||
| #define DT_DEBUG            21 | ||||
| #define DT_TEXTREL          22 | ||||
| #define DT_JMPREL           23 | ||||
| #define DT_LOPROC   0x70000000 | ||||
| #define DT_HIPROC   0x7FFFFFFF | ||||
|  | ||||
| typedef unsigned int  Elf32_Addr; | ||||
| typedef unsigned short Elf32_Half; | ||||
| typedef unsigned int  Elf32_Off; | ||||
| @@ -239,41 +152,12 @@ struct Elf32_Sym { | ||||
|     Elf32_Half    st_shndx; | ||||
| }; | ||||
|  | ||||
| #define ELF32_ST_BIND(i)   ((i)>>4) | ||||
| #define ELF32_ST_TYPE(i)   ((i)&0xf) | ||||
| #define ELF32_ST_INFO(b,t) (((b)<<4)+((t)&0xf)) | ||||
|  | ||||
| // Relocation entries | ||||
| struct Elf32_Rel { | ||||
|     Elf32_Addr r_offset; | ||||
|     Elf32_Word r_info; | ||||
| }; | ||||
|  | ||||
| struct Elf32_Rela { | ||||
|     Elf32_Addr  r_offset; | ||||
|     Elf32_Word  r_info; | ||||
|     Elf32_Sword r_addend; | ||||
| }; | ||||
|  | ||||
| #define ELF32_R_SYM(i) ((i)>>8) | ||||
| #define ELF32_R_TYPE(i) ((unsigned char)(i)) | ||||
| #define ELF32_R_INFO(s,t) (((s)<<8 )+(unsigned char)(t)) | ||||
|  | ||||
| struct Elf32_Dyn { | ||||
|     Elf32_Sword d_tag; | ||||
|     union { | ||||
|         Elf32_Word d_val; | ||||
|         Elf32_Addr d_ptr; | ||||
|     } d_un; | ||||
| }; | ||||
|  | ||||
| enum KnownElfTypes { | ||||
|     KNOWNELF_PSP = 0, | ||||
|     KNOWNELF_DS = 1, | ||||
|     KNOWNELF_GBA = 2, | ||||
|     KNOWNELF_GC = 3, | ||||
| }; | ||||
|  | ||||
| typedef int SectionID; | ||||
|  | ||||
| class ElfReader { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei