1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #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 */
|