1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2020, Huawei Technologies Co., Ltd 4 */ 5 #ifndef _ELF_H_ 6 #define _ELF_H_ 7 8 #if defined(ARM32) 9 10 #include <elf32.h> 11 12 typedef Elf32_Addr Elf_Addr; 13 typedef Elf32_Half Elf_Half; 14 typedef Elf32_Off Elf_Off; 15 typedef Elf32_Sword Elf_Sword; 16 typedef Elf32_Word Elf_Word; 17 typedef Elf32_Lword Elf_Lword; 18 typedef Elf32_Hashelt Elf_Hashelt; 19 typedef Elf32_Size Elf_Size; 20 typedef Elf32_Ssize Elf_Ssize; 21 typedef Elf32_Ehdr Elf_Ehdr; 22 typedef Elf32_Shdr Elf_Shdr; 23 typedef Elf32_Phdr Elf_Phdr; 24 typedef Elf32_Dyn Elf_Dyn; 25 typedef Elf32_Rel Elf_Rel; 26 typedef Elf32_Rela Elf_Rela; 27 typedef Elf32_Move Elf_Move; 28 typedef Elf32_Cap Elf_Cap; 29 typedef Elf32_Sym Elf_Sym; 30 typedef Elf32_Verdef Elf_Verdef; 31 typedef Elf32_Verdaux Elf_Verdaux; 32 typedef Elf32_Verneed Elf_Verneed; 33 typedef Elf32_Vernaux Elf_Vernaux; 34 typedef Elf32_Syminfo Elf_Syminfo; 35 36 #elif defined(ARM64) 37 38 #include <elf64.h> 39 40 typedef Elf64_Addr Elf_Addr; 41 typedef Elf64_Half Elf_Half; 42 typedef Elf64_Off Elf_Off; 43 typedef Elf64_Sword Elf_Sword; 44 typedef Elf64_Sxword Elf_Sxword; 45 typedef Elf64_Word Elf_Word; 46 typedef Elf64_Lword Elf_Lword; 47 typedef Elf64_Xword Elf_Xword; 48 typedef Elf64_Hashelt Elf_Hashelt; 49 typedef Elf64_Size Elf_Size; 50 typedef Elf64_Ssize Elf_Ssize; 51 typedef Elf64_Ehdr Elf_Ehdr; 52 typedef Elf64_Shdr Elf_Shdr; 53 typedef Elf64_Phdr Elf_Phdr; 54 typedef Elf64_Dyn Elf_Dyn; 55 typedef Elf64_Rel Elf_Rel; 56 typedef Elf64_Rela Elf_Rela; 57 typedef Elf64_Move Elf_Move; 58 typedef Elf64_Cap Elf_Cap; 59 typedef Elf64_Sym Elf_Sym; 60 typedef Elf64_Verdef Elf_Verdef; 61 typedef Elf64_Verdaux Elf_Verdaux; 62 typedef Elf64_Verneed Elf_Verneed; 63 typedef Elf64_Vernaux Elf_Vernaux; 64 typedef Elf64_Syminfo Elf_Syminfo; 65 66 #else 67 #error Unknown architecture 68 #endif 69 70 #endif /* _ELF_H_ */ 71