mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
This commit is contained in:
		
							parent
							
								
									13bdaa6c60
								
							
						
					
					
						commit
						c144ed5058
					
				
					 1 changed files with 1 additions and 117 deletions
				
			
		|  | @ -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 { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue