forked from Minki/linux
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 */
|