module.h 1.1 KB
Newer Older
1 2 3 4 5 6 7
#ifndef __ASM_GENERIC_MODULE_H
#define __ASM_GENERIC_MODULE_H

/*
 * Many architectures just need a simple module
 * loader without arch specific data.
 */
8
#ifndef CONFIG_HAVE_MOD_ARCH_SPECIFIC
9 10 11
struct mod_arch_specific
{
};
12
#endif
13 14

#ifdef CONFIG_64BIT
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#define Elf_Shdr	Elf64_Shdr
#define Elf_Phdr	Elf64_Phdr
#define Elf_Sym		Elf64_Sym
#define Elf_Dyn		Elf64_Dyn
#define Elf_Ehdr	Elf64_Ehdr
#define Elf_Addr	Elf64_Addr
#ifdef CONFIG_MODULES_USE_ELF_REL
#define Elf_Rel		Elf64_Rel
#endif
#ifdef CONFIG_MODULES_USE_ELF_RELA
#define Elf_Rela	Elf64_Rela
#endif
#define ELF_R_TYPE(X)	ELF64_R_TYPE(X)
#define ELF_R_SYM(X)	ELF64_R_SYM(X)

#else /* CONFIG_64BIT */

#define Elf_Shdr	Elf32_Shdr
#define Elf_Phdr	Elf32_Phdr
#define Elf_Sym		Elf32_Sym
#define Elf_Dyn		Elf32_Dyn
#define Elf_Ehdr	Elf32_Ehdr
#define Elf_Addr	Elf32_Addr
#ifdef CONFIG_MODULES_USE_ELF_REL
#define Elf_Rel		Elf32_Rel
#endif
#ifdef CONFIG_MODULES_USE_ELF_RELA
#define Elf_Rela	Elf32_Rela
#endif
#define ELF_R_TYPE(X)	ELF32_R_TYPE(X)
#define ELF_R_SYM(X)	ELF32_R_SYM(X)
46 47 48
#endif

#endif /* __ASM_GENERIC_MODULE_H */