mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:22:45 +00:00 
			
		
		
		
	LibELF: Add ELFDynamicObject to dynamically load libaries
This patch also adds some missing relocation defines to exec_elf.h, and a few helper classes/methods to ELFImage so that we can use it for our dynamically loaded libs and not just main program images from the kernel :)
This commit is contained in:
		
							parent
							
								
									b6590b7f83
								
							
						
					
					
						commit
						a18b37880e
					
				
					 5 changed files with 941 additions and 5 deletions
				
			
		|  | @ -775,7 +775,17 @@ struct elf_args { | |||
| 
 | ||||
| #define ELF_TARG_VER 1 /* The ver for which this code is intended */ | ||||
| 
 | ||||
| #define R_386_32 1 | ||||
| #define R_386_PC32 2 | ||||
| /* Relocation types */ | ||||
| #define R_386_NONE 0 | ||||
| #define R_386_32 1       /* Symbol + Addend */ | ||||
| #define R_386_PC32 2     /* Symbol + Addend - Section offset */ | ||||
| #define R_386_GOT32 3    /* Used by build-time linker to create GOT entry */ | ||||
| #define R_386_PLT32 4    /* Used by build-time linker to create PLT entry */ | ||||
| #define R_386_COPY 5     /* https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter4-10454.html#chapter4-84604 */ | ||||
| #define R_386_GLOB_DAT 6 /* Relation b/w GOT entry and symbol */ | ||||
| #define R_386_JMP_SLOT 7 /* Fixed up by dynamic loader */ | ||||
| #define R_386_RELATIVE 8 /* Base address + Addned */ | ||||
| #define R_386_TLS_TPOFF 14 /* Negative offset into the static TLS storage */ | ||||
| 
 | ||||
| 
 | ||||
| #endif /* _SYS_EXEC_ELF_H_ */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andrew Kaster
						Andrew Kaster