1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ASM_GENERIC_MODULE_H 3#define __ASM_GENERIC_MODULE_H 4 5/* 6 * Many architectures just need a simple module 7 * loader without arch specific data. 8 */ 9#ifndef CONFIG_HAVE_MOD_ARCH_SPECIFIC 10struct mod_arch_specific 11{ 12}; 13#endif 14 15#ifdef CONFIG_64BIT 16#define Elf_Shdr Elf64_Shdr 17#define Elf_Phdr Elf64_Phdr 18#define Elf_Sym Elf64_Sym 19#define Elf_Dyn Elf64_Dyn 20#define Elf_Ehdr Elf64_Ehdr 21#define Elf_Addr Elf64_Addr 22#ifdef CONFIG_MODULES_USE_ELF_REL 23#define Elf_Rel Elf64_Rel 24#endif 25#ifdef CONFIG_MODULES_USE_ELF_RELA 26#define Elf_Rela Elf64_Rela 27#endif 28#define ELF_R_TYPE(X) ELF64_R_TYPE(X) 29#define ELF_R_SYM(X) ELF64_R_SYM(X) 30 31#else /* CONFIG_64BIT */ 32 33#define Elf_Shdr Elf32_Shdr 34#define Elf_Phdr Elf32_Phdr 35#define Elf_Sym Elf32_Sym 36#define Elf_Dyn Elf32_Dyn 37#define Elf_Ehdr Elf32_Ehdr 38#define Elf_Addr Elf32_Addr 39#ifdef CONFIG_MODULES_USE_ELF_REL 40#define Elf_Rel Elf32_Rel 41#endif 42#ifdef CONFIG_MODULES_USE_ELF_RELA 43#define Elf_Rela Elf32_Rela 44#endif 45#define ELF_R_TYPE(X) ELF32_R_TYPE(X) 46#define ELF_R_SYM(X) ELF32_R_SYM(X) 47#endif 48 49#endif /* __ASM_GENERIC_MODULE_H */ 50