| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _ASM_S390_MODULE_H | 
 | 2 | #define _ASM_S390_MODULE_H | 
 | 3 | /* | 
 | 4 |  * This file contains the s390 architecture specific module code. | 
 | 5 |  */ | 
 | 6 |  | 
 | 7 | struct mod_arch_syminfo | 
 | 8 | { | 
 | 9 | 	unsigned long got_offset; | 
 | 10 | 	unsigned long plt_offset; | 
 | 11 | 	int got_initialized; | 
 | 12 | 	int plt_initialized; | 
 | 13 | }; | 
 | 14 |  | 
 | 15 | struct mod_arch_specific | 
 | 16 | { | 
 | 17 | 	/* Starting offset of got in the module core memory. */ | 
 | 18 | 	unsigned long got_offset; | 
 | 19 | 	/* Starting offset of plt in the module core memory. */ | 
 | 20 | 	unsigned long plt_offset; | 
 | 21 | 	/* Size of the got. */ | 
 | 22 | 	unsigned long got_size; | 
 | 23 | 	/* Size of the plt. */ | 
 | 24 | 	unsigned long plt_size; | 
 | 25 | 	/* Number of symbols in syminfo. */ | 
 | 26 | 	int nsyms; | 
 | 27 | 	/* Additional symbol information (got and plt offsets). */ | 
 | 28 | 	struct mod_arch_syminfo *syminfo; | 
 | 29 | }; | 
 | 30 |  | 
 | 31 | #ifdef __s390x__ | 
 | 32 | #define ElfW(x) Elf64_ ## x | 
 | 33 | #define ELFW(x) ELF64_ ## x | 
 | 34 | #else | 
 | 35 | #define ElfW(x) Elf32_ ## x | 
 | 36 | #define ELFW(x) ELF32_ ## x | 
 | 37 | #endif | 
 | 38 |  | 
 | 39 | #define Elf_Addr ElfW(Addr) | 
 | 40 | #define Elf_Rela ElfW(Rela) | 
 | 41 | #define Elf_Shdr ElfW(Shdr) | 
 | 42 | #define Elf_Sym ElfW(Sym) | 
 | 43 | #define Elf_Ehdr ElfW(Ehdr) | 
 | 44 | #define ELF_R_SYM ELFW(R_SYM) | 
 | 45 | #define ELF_R_TYPE ELFW(R_TYPE) | 
 | 46 | #endif /* _ASM_S390_MODULE_H */ |