Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __ASM_GENERIC_MODULE_H
0003 #define __ASM_GENERIC_MODULE_H
0004 
0005 /*
0006  * Many architectures just need a simple module
0007  * loader without arch specific data.
0008  */
0009 #ifndef CONFIG_HAVE_MOD_ARCH_SPECIFIC
0010 struct mod_arch_specific
0011 {
0012 };
0013 #endif
0014 
0015 #ifdef CONFIG_64BIT
0016 #define Elf_Shdr    Elf64_Shdr
0017 #define Elf_Phdr    Elf64_Phdr
0018 #define Elf_Sym     Elf64_Sym
0019 #define Elf_Dyn     Elf64_Dyn
0020 #define Elf_Ehdr    Elf64_Ehdr
0021 #define Elf_Addr    Elf64_Addr
0022 #ifdef CONFIG_MODULES_USE_ELF_REL
0023 #define Elf_Rel     Elf64_Rel
0024 #endif
0025 #ifdef CONFIG_MODULES_USE_ELF_RELA
0026 #define Elf_Rela    Elf64_Rela
0027 #endif
0028 #define ELF_R_TYPE(X)   ELF64_R_TYPE(X)
0029 #define ELF_R_SYM(X)    ELF64_R_SYM(X)
0030 
0031 #else /* CONFIG_64BIT */
0032 
0033 #define Elf_Shdr    Elf32_Shdr
0034 #define Elf_Phdr    Elf32_Phdr
0035 #define Elf_Sym     Elf32_Sym
0036 #define Elf_Dyn     Elf32_Dyn
0037 #define Elf_Ehdr    Elf32_Ehdr
0038 #define Elf_Addr    Elf32_Addr
0039 #ifdef CONFIG_MODULES_USE_ELF_REL
0040 #define Elf_Rel     Elf32_Rel
0041 #endif
0042 #ifdef CONFIG_MODULES_USE_ELF_RELA
0043 #define Elf_Rela    Elf32_Rela
0044 #endif
0045 #define ELF_R_TYPE(X)   ELF32_R_TYPE(X)
0046 #define ELF_R_SYM(X)    ELF32_R_SYM(X)
0047 #endif
0048 
0049 #endif /* __ASM_GENERIC_MODULE_H */