47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_S390_MODULE_H
 | |
| #define _ASM_S390_MODULE_H
 | |
| /*
 | |
|  * This file contains the s390 architecture specific module code.
 | |
|  */
 | |
| 
 | |
| struct mod_arch_syminfo
 | |
| {
 | |
| 	unsigned long got_offset;
 | |
| 	unsigned long plt_offset;
 | |
| 	int got_initialized;
 | |
| 	int plt_initialized;
 | |
| };
 | |
| 
 | |
| struct mod_arch_specific
 | |
| {
 | |
| 	/* Starting offset of got in the module core memory. */
 | |
| 	unsigned long got_offset;
 | |
| 	/* Starting offset of plt in the module core memory. */
 | |
| 	unsigned long plt_offset;
 | |
| 	/* Size of the got. */
 | |
| 	unsigned long got_size;
 | |
| 	/* Size of the plt. */
 | |
| 	unsigned long plt_size;
 | |
| 	/* Number of symbols in syminfo. */
 | |
| 	int nsyms;
 | |
| 	/* Additional symbol information (got and plt offsets). */
 | |
| 	struct mod_arch_syminfo *syminfo;
 | |
| };
 | |
| 
 | |
| #ifdef __s390x__
 | |
| #define ElfW(x) Elf64_ ## x
 | |
| #define ELFW(x) ELF64_ ## x
 | |
| #else
 | |
| #define ElfW(x) Elf32_ ## x
 | |
| #define ELFW(x) ELF32_ ## x
 | |
| #endif
 | |
| 
 | |
| #define Elf_Addr ElfW(Addr)
 | |
| #define Elf_Rela ElfW(Rela)
 | |
| #define Elf_Shdr ElfW(Shdr)
 | |
| #define Elf_Sym ElfW(Sym)
 | |
| #define Elf_Ehdr ElfW(Ehdr)
 | |
| #define ELF_R_SYM ELFW(R_SYM)
 | |
| #define ELF_R_TYPE ELFW(R_TYPE)
 | |
| #endif /* _ASM_S390_MODULE_H */
 |