1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_ELF_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_ELF_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/elf-em.h> 11*8d67ca89SAndroid Build Coastguard Worker typedef __u32 Elf32_Addr; 12*8d67ca89SAndroid Build Coastguard Worker typedef __u16 Elf32_Half; 13*8d67ca89SAndroid Build Coastguard Worker typedef __u32 Elf32_Off; 14*8d67ca89SAndroid Build Coastguard Worker typedef __s32 Elf32_Sword; 15*8d67ca89SAndroid Build Coastguard Worker typedef __u32 Elf32_Word; 16*8d67ca89SAndroid Build Coastguard Worker typedef __u64 Elf64_Addr; 17*8d67ca89SAndroid Build Coastguard Worker typedef __u16 Elf64_Half; 18*8d67ca89SAndroid Build Coastguard Worker typedef __s16 Elf64_SHalf; 19*8d67ca89SAndroid Build Coastguard Worker typedef __u64 Elf64_Off; 20*8d67ca89SAndroid Build Coastguard Worker typedef __s32 Elf64_Sword; 21*8d67ca89SAndroid Build Coastguard Worker typedef __u32 Elf64_Word; 22*8d67ca89SAndroid Build Coastguard Worker typedef __u64 Elf64_Xword; 23*8d67ca89SAndroid Build Coastguard Worker typedef __s64 Elf64_Sxword; 24*8d67ca89SAndroid Build Coastguard Worker #define PT_NULL 0 25*8d67ca89SAndroid Build Coastguard Worker #define PT_LOAD 1 26*8d67ca89SAndroid Build Coastguard Worker #define PT_DYNAMIC 2 27*8d67ca89SAndroid Build Coastguard Worker #define PT_INTERP 3 28*8d67ca89SAndroid Build Coastguard Worker #define PT_NOTE 4 29*8d67ca89SAndroid Build Coastguard Worker #define PT_SHLIB 5 30*8d67ca89SAndroid Build Coastguard Worker #define PT_PHDR 6 31*8d67ca89SAndroid Build Coastguard Worker #define PT_TLS 7 32*8d67ca89SAndroid Build Coastguard Worker #define PT_LOOS 0x60000000 33*8d67ca89SAndroid Build Coastguard Worker #define PT_HIOS 0x6fffffff 34*8d67ca89SAndroid Build Coastguard Worker #define PT_LOPROC 0x70000000 35*8d67ca89SAndroid Build Coastguard Worker #define PT_HIPROC 0x7fffffff 36*8d67ca89SAndroid Build Coastguard Worker #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) 37*8d67ca89SAndroid Build Coastguard Worker #define PT_GNU_STACK (PT_LOOS + 0x474e551) 38*8d67ca89SAndroid Build Coastguard Worker #define PT_GNU_RELRO (PT_LOOS + 0x474e552) 39*8d67ca89SAndroid Build Coastguard Worker #define PT_GNU_PROPERTY (PT_LOOS + 0x474e553) 40*8d67ca89SAndroid Build Coastguard Worker #define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 0x2) 41*8d67ca89SAndroid Build Coastguard Worker #define PN_XNUM 0xffff 42*8d67ca89SAndroid Build Coastguard Worker #define ET_NONE 0 43*8d67ca89SAndroid Build Coastguard Worker #define ET_REL 1 44*8d67ca89SAndroid Build Coastguard Worker #define ET_EXEC 2 45*8d67ca89SAndroid Build Coastguard Worker #define ET_DYN 3 46*8d67ca89SAndroid Build Coastguard Worker #define ET_CORE 4 47*8d67ca89SAndroid Build Coastguard Worker #define ET_LOPROC 0xff00 48*8d67ca89SAndroid Build Coastguard Worker #define ET_HIPROC 0xffff 49*8d67ca89SAndroid Build Coastguard Worker #define DT_NULL 0 50*8d67ca89SAndroid Build Coastguard Worker #define DT_NEEDED 1 51*8d67ca89SAndroid Build Coastguard Worker #define DT_PLTRELSZ 2 52*8d67ca89SAndroid Build Coastguard Worker #define DT_PLTGOT 3 53*8d67ca89SAndroid Build Coastguard Worker #define DT_HASH 4 54*8d67ca89SAndroid Build Coastguard Worker #define DT_STRTAB 5 55*8d67ca89SAndroid Build Coastguard Worker #define DT_SYMTAB 6 56*8d67ca89SAndroid Build Coastguard Worker #define DT_RELA 7 57*8d67ca89SAndroid Build Coastguard Worker #define DT_RELASZ 8 58*8d67ca89SAndroid Build Coastguard Worker #define DT_RELAENT 9 59*8d67ca89SAndroid Build Coastguard Worker #define DT_STRSZ 10 60*8d67ca89SAndroid Build Coastguard Worker #define DT_SYMENT 11 61*8d67ca89SAndroid Build Coastguard Worker #define DT_INIT 12 62*8d67ca89SAndroid Build Coastguard Worker #define DT_FINI 13 63*8d67ca89SAndroid Build Coastguard Worker #define DT_SONAME 14 64*8d67ca89SAndroid Build Coastguard Worker #define DT_RPATH 15 65*8d67ca89SAndroid Build Coastguard Worker #define DT_SYMBOLIC 16 66*8d67ca89SAndroid Build Coastguard Worker #define DT_REL 17 67*8d67ca89SAndroid Build Coastguard Worker #define DT_RELSZ 18 68*8d67ca89SAndroid Build Coastguard Worker #define DT_RELENT 19 69*8d67ca89SAndroid Build Coastguard Worker #define DT_PLTREL 20 70*8d67ca89SAndroid Build Coastguard Worker #define DT_DEBUG 21 71*8d67ca89SAndroid Build Coastguard Worker #define DT_TEXTREL 22 72*8d67ca89SAndroid Build Coastguard Worker #define DT_JMPREL 23 73*8d67ca89SAndroid Build Coastguard Worker #define DT_ENCODING 32 74*8d67ca89SAndroid Build Coastguard Worker #define OLD_DT_LOOS 0x60000000 75*8d67ca89SAndroid Build Coastguard Worker #define DT_LOOS 0x6000000d 76*8d67ca89SAndroid Build Coastguard Worker #define DT_HIOS 0x6ffff000 77*8d67ca89SAndroid Build Coastguard Worker #define DT_VALRNGLO 0x6ffffd00 78*8d67ca89SAndroid Build Coastguard Worker #define DT_VALRNGHI 0x6ffffdff 79*8d67ca89SAndroid Build Coastguard Worker #define DT_ADDRRNGLO 0x6ffffe00 80*8d67ca89SAndroid Build Coastguard Worker #define DT_ADDRRNGHI 0x6ffffeff 81*8d67ca89SAndroid Build Coastguard Worker #define DT_VERSYM 0x6ffffff0 82*8d67ca89SAndroid Build Coastguard Worker #define DT_RELACOUNT 0x6ffffff9 83*8d67ca89SAndroid Build Coastguard Worker #define DT_RELCOUNT 0x6ffffffa 84*8d67ca89SAndroid Build Coastguard Worker #define DT_FLAGS_1 0x6ffffffb 85*8d67ca89SAndroid Build Coastguard Worker #define DT_VERDEF 0x6ffffffc 86*8d67ca89SAndroid Build Coastguard Worker #define DT_VERDEFNUM 0x6ffffffd 87*8d67ca89SAndroid Build Coastguard Worker #define DT_VERNEED 0x6ffffffe 88*8d67ca89SAndroid Build Coastguard Worker #define DT_VERNEEDNUM 0x6fffffff 89*8d67ca89SAndroid Build Coastguard Worker #define OLD_DT_HIOS 0x6fffffff 90*8d67ca89SAndroid Build Coastguard Worker #define DT_LOPROC 0x70000000 91*8d67ca89SAndroid Build Coastguard Worker #define DT_HIPROC 0x7fffffff 92*8d67ca89SAndroid Build Coastguard Worker #define STB_LOCAL 0 93*8d67ca89SAndroid Build Coastguard Worker #define STB_GLOBAL 1 94*8d67ca89SAndroid Build Coastguard Worker #define STB_WEAK 2 95*8d67ca89SAndroid Build Coastguard Worker #define STT_NOTYPE 0 96*8d67ca89SAndroid Build Coastguard Worker #define STT_OBJECT 1 97*8d67ca89SAndroid Build Coastguard Worker #define STT_FUNC 2 98*8d67ca89SAndroid Build Coastguard Worker #define STT_SECTION 3 99*8d67ca89SAndroid Build Coastguard Worker #define STT_FILE 4 100*8d67ca89SAndroid Build Coastguard Worker #define STT_COMMON 5 101*8d67ca89SAndroid Build Coastguard Worker #define STT_TLS 6 102*8d67ca89SAndroid Build Coastguard Worker #define ELF_ST_BIND(x) ((x) >> 4) 103*8d67ca89SAndroid Build Coastguard Worker #define ELF_ST_TYPE(x) ((x) & 0xf) 104*8d67ca89SAndroid Build Coastguard Worker #define ELF32_ST_BIND(x) ELF_ST_BIND(x) 105*8d67ca89SAndroid Build Coastguard Worker #define ELF32_ST_TYPE(x) ELF_ST_TYPE(x) 106*8d67ca89SAndroid Build Coastguard Worker #define ELF64_ST_BIND(x) ELF_ST_BIND(x) 107*8d67ca89SAndroid Build Coastguard Worker #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) 108*8d67ca89SAndroid Build Coastguard Worker typedef struct { 109*8d67ca89SAndroid Build Coastguard Worker Elf32_Sword d_tag; 110*8d67ca89SAndroid Build Coastguard Worker union { 111*8d67ca89SAndroid Build Coastguard Worker Elf32_Sword d_val; 112*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr d_ptr; 113*8d67ca89SAndroid Build Coastguard Worker } d_un; 114*8d67ca89SAndroid Build Coastguard Worker } Elf32_Dyn; 115*8d67ca89SAndroid Build Coastguard Worker typedef struct { 116*8d67ca89SAndroid Build Coastguard Worker Elf64_Sxword d_tag; 117*8d67ca89SAndroid Build Coastguard Worker union { 118*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword d_val; 119*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr d_ptr; 120*8d67ca89SAndroid Build Coastguard Worker } d_un; 121*8d67ca89SAndroid Build Coastguard Worker } Elf64_Dyn; 122*8d67ca89SAndroid Build Coastguard Worker #define ELF32_R_SYM(x) ((x) >> 8) 123*8d67ca89SAndroid Build Coastguard Worker #define ELF32_R_TYPE(x) ((x) & 0xff) 124*8d67ca89SAndroid Build Coastguard Worker #define ELF64_R_SYM(i) ((i) >> 32) 125*8d67ca89SAndroid Build Coastguard Worker #define ELF64_R_TYPE(i) ((i) & 0xffffffff) 126*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_rel { 127*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr r_offset; 128*8d67ca89SAndroid Build Coastguard Worker Elf32_Word r_info; 129*8d67ca89SAndroid Build Coastguard Worker } Elf32_Rel; 130*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_rel { 131*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr r_offset; 132*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword r_info; 133*8d67ca89SAndroid Build Coastguard Worker } Elf64_Rel; 134*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_rela { 135*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr r_offset; 136*8d67ca89SAndroid Build Coastguard Worker Elf32_Word r_info; 137*8d67ca89SAndroid Build Coastguard Worker Elf32_Sword r_addend; 138*8d67ca89SAndroid Build Coastguard Worker } Elf32_Rela; 139*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_rela { 140*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr r_offset; 141*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword r_info; 142*8d67ca89SAndroid Build Coastguard Worker Elf64_Sxword r_addend; 143*8d67ca89SAndroid Build Coastguard Worker } Elf64_Rela; 144*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_sym { 145*8d67ca89SAndroid Build Coastguard Worker Elf32_Word st_name; 146*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr st_value; 147*8d67ca89SAndroid Build Coastguard Worker Elf32_Word st_size; 148*8d67ca89SAndroid Build Coastguard Worker unsigned char st_info; 149*8d67ca89SAndroid Build Coastguard Worker unsigned char st_other; 150*8d67ca89SAndroid Build Coastguard Worker Elf32_Half st_shndx; 151*8d67ca89SAndroid Build Coastguard Worker } Elf32_Sym; 152*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_sym { 153*8d67ca89SAndroid Build Coastguard Worker Elf64_Word st_name; 154*8d67ca89SAndroid Build Coastguard Worker unsigned char st_info; 155*8d67ca89SAndroid Build Coastguard Worker unsigned char st_other; 156*8d67ca89SAndroid Build Coastguard Worker Elf64_Half st_shndx; 157*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr st_value; 158*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword st_size; 159*8d67ca89SAndroid Build Coastguard Worker } Elf64_Sym; 160*8d67ca89SAndroid Build Coastguard Worker #define EI_NIDENT 16 161*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_hdr { 162*8d67ca89SAndroid Build Coastguard Worker unsigned char e_ident[EI_NIDENT]; 163*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_type; 164*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_machine; 165*8d67ca89SAndroid Build Coastguard Worker Elf32_Word e_version; 166*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr e_entry; 167*8d67ca89SAndroid Build Coastguard Worker Elf32_Off e_phoff; 168*8d67ca89SAndroid Build Coastguard Worker Elf32_Off e_shoff; 169*8d67ca89SAndroid Build Coastguard Worker Elf32_Word e_flags; 170*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_ehsize; 171*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_phentsize; 172*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_phnum; 173*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_shentsize; 174*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_shnum; 175*8d67ca89SAndroid Build Coastguard Worker Elf32_Half e_shstrndx; 176*8d67ca89SAndroid Build Coastguard Worker } Elf32_Ehdr; 177*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_hdr { 178*8d67ca89SAndroid Build Coastguard Worker unsigned char e_ident[EI_NIDENT]; 179*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_type; 180*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_machine; 181*8d67ca89SAndroid Build Coastguard Worker Elf64_Word e_version; 182*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr e_entry; 183*8d67ca89SAndroid Build Coastguard Worker Elf64_Off e_phoff; 184*8d67ca89SAndroid Build Coastguard Worker Elf64_Off e_shoff; 185*8d67ca89SAndroid Build Coastguard Worker Elf64_Word e_flags; 186*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_ehsize; 187*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_phentsize; 188*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_phnum; 189*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_shentsize; 190*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_shnum; 191*8d67ca89SAndroid Build Coastguard Worker Elf64_Half e_shstrndx; 192*8d67ca89SAndroid Build Coastguard Worker } Elf64_Ehdr; 193*8d67ca89SAndroid Build Coastguard Worker #define PF_R 0x4 194*8d67ca89SAndroid Build Coastguard Worker #define PF_W 0x2 195*8d67ca89SAndroid Build Coastguard Worker #define PF_X 0x1 196*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_phdr { 197*8d67ca89SAndroid Build Coastguard Worker Elf32_Word p_type; 198*8d67ca89SAndroid Build Coastguard Worker Elf32_Off p_offset; 199*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr p_vaddr; 200*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr p_paddr; 201*8d67ca89SAndroid Build Coastguard Worker Elf32_Word p_filesz; 202*8d67ca89SAndroid Build Coastguard Worker Elf32_Word p_memsz; 203*8d67ca89SAndroid Build Coastguard Worker Elf32_Word p_flags; 204*8d67ca89SAndroid Build Coastguard Worker Elf32_Word p_align; 205*8d67ca89SAndroid Build Coastguard Worker } Elf32_Phdr; 206*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_phdr { 207*8d67ca89SAndroid Build Coastguard Worker Elf64_Word p_type; 208*8d67ca89SAndroid Build Coastguard Worker Elf64_Word p_flags; 209*8d67ca89SAndroid Build Coastguard Worker Elf64_Off p_offset; 210*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr p_vaddr; 211*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr p_paddr; 212*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword p_filesz; 213*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword p_memsz; 214*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword p_align; 215*8d67ca89SAndroid Build Coastguard Worker } Elf64_Phdr; 216*8d67ca89SAndroid Build Coastguard Worker #define SHT_NULL 0 217*8d67ca89SAndroid Build Coastguard Worker #define SHT_PROGBITS 1 218*8d67ca89SAndroid Build Coastguard Worker #define SHT_SYMTAB 2 219*8d67ca89SAndroid Build Coastguard Worker #define SHT_STRTAB 3 220*8d67ca89SAndroid Build Coastguard Worker #define SHT_RELA 4 221*8d67ca89SAndroid Build Coastguard Worker #define SHT_HASH 5 222*8d67ca89SAndroid Build Coastguard Worker #define SHT_DYNAMIC 6 223*8d67ca89SAndroid Build Coastguard Worker #define SHT_NOTE 7 224*8d67ca89SAndroid Build Coastguard Worker #define SHT_NOBITS 8 225*8d67ca89SAndroid Build Coastguard Worker #define SHT_REL 9 226*8d67ca89SAndroid Build Coastguard Worker #define SHT_SHLIB 10 227*8d67ca89SAndroid Build Coastguard Worker #define SHT_DYNSYM 11 228*8d67ca89SAndroid Build Coastguard Worker #define SHT_NUM 12 229*8d67ca89SAndroid Build Coastguard Worker #define SHT_LOPROC 0x70000000 230*8d67ca89SAndroid Build Coastguard Worker #define SHT_HIPROC 0x7fffffff 231*8d67ca89SAndroid Build Coastguard Worker #define SHT_LOUSER 0x80000000 232*8d67ca89SAndroid Build Coastguard Worker #define SHT_HIUSER 0xffffffff 233*8d67ca89SAndroid Build Coastguard Worker #define SHF_WRITE 0x1 234*8d67ca89SAndroid Build Coastguard Worker #define SHF_ALLOC 0x2 235*8d67ca89SAndroid Build Coastguard Worker #define SHF_EXECINSTR 0x4 236*8d67ca89SAndroid Build Coastguard Worker #define SHF_RELA_LIVEPATCH 0x00100000 237*8d67ca89SAndroid Build Coastguard Worker #define SHF_RO_AFTER_INIT 0x00200000 238*8d67ca89SAndroid Build Coastguard Worker #define SHF_MASKPROC 0xf0000000 239*8d67ca89SAndroid Build Coastguard Worker #define SHN_UNDEF 0 240*8d67ca89SAndroid Build Coastguard Worker #define SHN_LORESERVE 0xff00 241*8d67ca89SAndroid Build Coastguard Worker #define SHN_LOPROC 0xff00 242*8d67ca89SAndroid Build Coastguard Worker #define SHN_HIPROC 0xff1f 243*8d67ca89SAndroid Build Coastguard Worker #define SHN_LIVEPATCH 0xff20 244*8d67ca89SAndroid Build Coastguard Worker #define SHN_ABS 0xfff1 245*8d67ca89SAndroid Build Coastguard Worker #define SHN_COMMON 0xfff2 246*8d67ca89SAndroid Build Coastguard Worker #define SHN_HIRESERVE 0xffff 247*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_shdr { 248*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_name; 249*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_type; 250*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_flags; 251*8d67ca89SAndroid Build Coastguard Worker Elf32_Addr sh_addr; 252*8d67ca89SAndroid Build Coastguard Worker Elf32_Off sh_offset; 253*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_size; 254*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_link; 255*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_info; 256*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_addralign; 257*8d67ca89SAndroid Build Coastguard Worker Elf32_Word sh_entsize; 258*8d67ca89SAndroid Build Coastguard Worker } Elf32_Shdr; 259*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_shdr { 260*8d67ca89SAndroid Build Coastguard Worker Elf64_Word sh_name; 261*8d67ca89SAndroid Build Coastguard Worker Elf64_Word sh_type; 262*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword sh_flags; 263*8d67ca89SAndroid Build Coastguard Worker Elf64_Addr sh_addr; 264*8d67ca89SAndroid Build Coastguard Worker Elf64_Off sh_offset; 265*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword sh_size; 266*8d67ca89SAndroid Build Coastguard Worker Elf64_Word sh_link; 267*8d67ca89SAndroid Build Coastguard Worker Elf64_Word sh_info; 268*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword sh_addralign; 269*8d67ca89SAndroid Build Coastguard Worker Elf64_Xword sh_entsize; 270*8d67ca89SAndroid Build Coastguard Worker } Elf64_Shdr; 271*8d67ca89SAndroid Build Coastguard Worker #define EI_MAG0 0 272*8d67ca89SAndroid Build Coastguard Worker #define EI_MAG1 1 273*8d67ca89SAndroid Build Coastguard Worker #define EI_MAG2 2 274*8d67ca89SAndroid Build Coastguard Worker #define EI_MAG3 3 275*8d67ca89SAndroid Build Coastguard Worker #define EI_CLASS 4 276*8d67ca89SAndroid Build Coastguard Worker #define EI_DATA 5 277*8d67ca89SAndroid Build Coastguard Worker #define EI_VERSION 6 278*8d67ca89SAndroid Build Coastguard Worker #define EI_OSABI 7 279*8d67ca89SAndroid Build Coastguard Worker #define EI_PAD 8 280*8d67ca89SAndroid Build Coastguard Worker #define ELFMAG0 0x7f 281*8d67ca89SAndroid Build Coastguard Worker #define ELFMAG1 'E' 282*8d67ca89SAndroid Build Coastguard Worker #define ELFMAG2 'L' 283*8d67ca89SAndroid Build Coastguard Worker #define ELFMAG3 'F' 284*8d67ca89SAndroid Build Coastguard Worker #define ELFMAG "\177ELF" 285*8d67ca89SAndroid Build Coastguard Worker #define SELFMAG 4 286*8d67ca89SAndroid Build Coastguard Worker #define ELFCLASSNONE 0 287*8d67ca89SAndroid Build Coastguard Worker #define ELFCLASS32 1 288*8d67ca89SAndroid Build Coastguard Worker #define ELFCLASS64 2 289*8d67ca89SAndroid Build Coastguard Worker #define ELFCLASSNUM 3 290*8d67ca89SAndroid Build Coastguard Worker #define ELFDATANONE 0 291*8d67ca89SAndroid Build Coastguard Worker #define ELFDATA2LSB 1 292*8d67ca89SAndroid Build Coastguard Worker #define ELFDATA2MSB 2 293*8d67ca89SAndroid Build Coastguard Worker #define EV_NONE 0 294*8d67ca89SAndroid Build Coastguard Worker #define EV_CURRENT 1 295*8d67ca89SAndroid Build Coastguard Worker #define EV_NUM 2 296*8d67ca89SAndroid Build Coastguard Worker #define ELFOSABI_NONE 0 297*8d67ca89SAndroid Build Coastguard Worker #define ELFOSABI_LINUX 3 298*8d67ca89SAndroid Build Coastguard Worker #ifndef ELF_OSABI 299*8d67ca89SAndroid Build Coastguard Worker #define ELF_OSABI ELFOSABI_NONE 300*8d67ca89SAndroid Build Coastguard Worker #endif 301*8d67ca89SAndroid Build Coastguard Worker #define NT_PRSTATUS 1 302*8d67ca89SAndroid Build Coastguard Worker #define NT_PRFPREG 2 303*8d67ca89SAndroid Build Coastguard Worker #define NT_PRPSINFO 3 304*8d67ca89SAndroid Build Coastguard Worker #define NT_TASKSTRUCT 4 305*8d67ca89SAndroid Build Coastguard Worker #define NT_AUXV 6 306*8d67ca89SAndroid Build Coastguard Worker #define NT_SIGINFO 0x53494749 307*8d67ca89SAndroid Build Coastguard Worker #define NT_FILE 0x46494c45 308*8d67ca89SAndroid Build Coastguard Worker #define NT_PRXFPREG 0x46e62b7f 309*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_VMX 0x100 310*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_SPE 0x101 311*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_VSX 0x102 312*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TAR 0x103 313*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_PPR 0x104 314*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_DSCR 0x105 315*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_EBB 0x106 316*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_PMU 0x107 317*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CGPR 0x108 318*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CFPR 0x109 319*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CVMX 0x10a 320*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CVSX 0x10b 321*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_SPR 0x10c 322*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CTAR 0x10d 323*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CPPR 0x10e 324*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_TM_CDSCR 0x10f 325*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_PKEY 0x110 326*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_DEXCR 0x111 327*8d67ca89SAndroid Build Coastguard Worker #define NT_PPC_HASHKEYR 0x112 328*8d67ca89SAndroid Build Coastguard Worker #define NT_386_TLS 0x200 329*8d67ca89SAndroid Build Coastguard Worker #define NT_386_IOPERM 0x201 330*8d67ca89SAndroid Build Coastguard Worker #define NT_X86_XSTATE 0x202 331*8d67ca89SAndroid Build Coastguard Worker #define NT_X86_SHSTK 0x204 332*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_HIGH_GPRS 0x300 333*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_TIMER 0x301 334*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_TODCMP 0x302 335*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_TODPREG 0x303 336*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_CTRS 0x304 337*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_PREFIX 0x305 338*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_LAST_BREAK 0x306 339*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_SYSTEM_CALL 0x307 340*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_TDB 0x308 341*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_VXRS_LOW 0x309 342*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_VXRS_HIGH 0x30a 343*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_GS_CB 0x30b 344*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_GS_BC 0x30c 345*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_RI_CB 0x30d 346*8d67ca89SAndroid Build Coastguard Worker #define NT_S390_PV_CPU_DATA 0x30e 347*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_VFP 0x400 348*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_TLS 0x401 349*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_HW_BREAK 0x402 350*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_HW_WATCH 0x403 351*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_SYSTEM_CALL 0x404 352*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_SVE 0x405 353*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_PAC_MASK 0x406 354*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_PACA_KEYS 0x407 355*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_PACG_KEYS 0x408 356*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_TAGGED_ADDR_CTRL 0x409 357*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_PAC_ENABLED_KEYS 0x40a 358*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_SSVE 0x40b 359*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_ZA 0x40c 360*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_ZT 0x40d 361*8d67ca89SAndroid Build Coastguard Worker #define NT_ARM_FPMR 0x40e 362*8d67ca89SAndroid Build Coastguard Worker #define NT_ARC_V2 0x600 363*8d67ca89SAndroid Build Coastguard Worker #define NT_VMCOREDD 0x700 364*8d67ca89SAndroid Build Coastguard Worker #define NT_MIPS_DSP 0x800 365*8d67ca89SAndroid Build Coastguard Worker #define NT_MIPS_FP_MODE 0x801 366*8d67ca89SAndroid Build Coastguard Worker #define NT_MIPS_MSA 0x802 367*8d67ca89SAndroid Build Coastguard Worker #define NT_RISCV_CSR 0x900 368*8d67ca89SAndroid Build Coastguard Worker #define NT_RISCV_VECTOR 0x901 369*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_CPUCFG 0xa00 370*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_CSR 0xa01 371*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_LSX 0xa02 372*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_LASX 0xa03 373*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_LBT 0xa04 374*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_HW_BREAK 0xa05 375*8d67ca89SAndroid Build Coastguard Worker #define NT_LOONGARCH_HW_WATCH 0xa06 376*8d67ca89SAndroid Build Coastguard Worker #define NT_GNU_PROPERTY_TYPE_0 5 377*8d67ca89SAndroid Build Coastguard Worker typedef struct elf32_note { 378*8d67ca89SAndroid Build Coastguard Worker Elf32_Word n_namesz; 379*8d67ca89SAndroid Build Coastguard Worker Elf32_Word n_descsz; 380*8d67ca89SAndroid Build Coastguard Worker Elf32_Word n_type; 381*8d67ca89SAndroid Build Coastguard Worker } Elf32_Nhdr; 382*8d67ca89SAndroid Build Coastguard Worker typedef struct elf64_note { 383*8d67ca89SAndroid Build Coastguard Worker Elf64_Word n_namesz; 384*8d67ca89SAndroid Build Coastguard Worker Elf64_Word n_descsz; 385*8d67ca89SAndroid Build Coastguard Worker Elf64_Word n_type; 386*8d67ca89SAndroid Build Coastguard Worker } Elf64_Nhdr; 387*8d67ca89SAndroid Build Coastguard Worker #define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 388*8d67ca89SAndroid Build Coastguard Worker #define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) 389*8d67ca89SAndroid Build Coastguard Worker #endif 390