Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/linux
File: elf.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
[0] Fix | Delete
#ifndef _LINUX_ELF_H
[1] Fix | Delete
#define _LINUX_ELF_H
[2] Fix | Delete
[3] Fix | Delete
#include <linux/types.h>
[4] Fix | Delete
#include <linux/elf-em.h>
[5] Fix | Delete
[6] Fix | Delete
/* 32-bit ELF base types. */
[7] Fix | Delete
typedef __u32 Elf32_Addr;
[8] Fix | Delete
typedef __u16 Elf32_Half;
[9] Fix | Delete
typedef __u32 Elf32_Off;
[10] Fix | Delete
typedef __s32 Elf32_Sword;
[11] Fix | Delete
typedef __u32 Elf32_Word;
[12] Fix | Delete
[13] Fix | Delete
/* 64-bit ELF base types. */
[14] Fix | Delete
typedef __u64 Elf64_Addr;
[15] Fix | Delete
typedef __u16 Elf64_Half;
[16] Fix | Delete
typedef __s16 Elf64_SHalf;
[17] Fix | Delete
typedef __u64 Elf64_Off;
[18] Fix | Delete
typedef __s32 Elf64_Sword;
[19] Fix | Delete
typedef __u32 Elf64_Word;
[20] Fix | Delete
typedef __u64 Elf64_Xword;
[21] Fix | Delete
typedef __s64 Elf64_Sxword;
[22] Fix | Delete
[23] Fix | Delete
/* These constants are for the segment types stored in the image headers */
[24] Fix | Delete
#define PT_NULL 0
[25] Fix | Delete
#define PT_LOAD 1
[26] Fix | Delete
#define PT_DYNAMIC 2
[27] Fix | Delete
#define PT_INTERP 3
[28] Fix | Delete
#define PT_NOTE 4
[29] Fix | Delete
#define PT_SHLIB 5
[30] Fix | Delete
#define PT_PHDR 6
[31] Fix | Delete
#define PT_TLS 7 /* Thread local storage segment */
[32] Fix | Delete
#define PT_LOOS 0x60000000 /* OS-specific */
[33] Fix | Delete
#define PT_HIOS 0x6fffffff /* OS-specific */
[34] Fix | Delete
#define PT_LOPROC 0x70000000
[35] Fix | Delete
#define PT_HIPROC 0x7fffffff
[36] Fix | Delete
#define PT_GNU_EH_FRAME 0x6474e550
[37] Fix | Delete
[38] Fix | Delete
#define PT_GNU_STACK (PT_LOOS + 0x474e551)
[39] Fix | Delete
[40] Fix | Delete
/*
[41] Fix | Delete
* Extended Numbering
[42] Fix | Delete
*
[43] Fix | Delete
* If the real number of program header table entries is larger than
[44] Fix | Delete
* or equal to PN_XNUM(0xffff), it is set to sh_info field of the
[45] Fix | Delete
* section header at index 0, and PN_XNUM is set to e_phnum
[46] Fix | Delete
* field. Otherwise, the section header at index 0 is zero
[47] Fix | Delete
* initialized, if it exists.
[48] Fix | Delete
*
[49] Fix | Delete
* Specifications are available in:
[50] Fix | Delete
*
[51] Fix | Delete
* - Oracle: Linker and Libraries.
[52] Fix | Delete
* Part No: 817–1984–19, August 2011.
[53] Fix | Delete
* http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf
[54] Fix | Delete
*
[55] Fix | Delete
* - System V ABI AMD64 Architecture Processor Supplement
[56] Fix | Delete
* Draft Version 0.99.4,
[57] Fix | Delete
* January 13, 2010.
[58] Fix | Delete
* http://www.cs.washington.edu/education/courses/cse351/12wi/supp-docs/abi.pdf
[59] Fix | Delete
*/
[60] Fix | Delete
#define PN_XNUM 0xffff
[61] Fix | Delete
[62] Fix | Delete
/* These constants define the different elf file types */
[63] Fix | Delete
#define ET_NONE 0
[64] Fix | Delete
#define ET_REL 1
[65] Fix | Delete
#define ET_EXEC 2
[66] Fix | Delete
#define ET_DYN 3
[67] Fix | Delete
#define ET_CORE 4
[68] Fix | Delete
#define ET_LOPROC 0xff00
[69] Fix | Delete
#define ET_HIPROC 0xffff
[70] Fix | Delete
[71] Fix | Delete
/* This is the info that is needed to parse the dynamic section of the file */
[72] Fix | Delete
#define DT_NULL 0
[73] Fix | Delete
#define DT_NEEDED 1
[74] Fix | Delete
#define DT_PLTRELSZ 2
[75] Fix | Delete
#define DT_PLTGOT 3
[76] Fix | Delete
#define DT_HASH 4
[77] Fix | Delete
#define DT_STRTAB 5
[78] Fix | Delete
#define DT_SYMTAB 6
[79] Fix | Delete
#define DT_RELA 7
[80] Fix | Delete
#define DT_RELASZ 8
[81] Fix | Delete
#define DT_RELAENT 9
[82] Fix | Delete
#define DT_STRSZ 10
[83] Fix | Delete
#define DT_SYMENT 11
[84] Fix | Delete
#define DT_INIT 12
[85] Fix | Delete
#define DT_FINI 13
[86] Fix | Delete
#define DT_SONAME 14
[87] Fix | Delete
#define DT_RPATH 15
[88] Fix | Delete
#define DT_SYMBOLIC 16
[89] Fix | Delete
#define DT_REL 17
[90] Fix | Delete
#define DT_RELSZ 18
[91] Fix | Delete
#define DT_RELENT 19
[92] Fix | Delete
#define DT_PLTREL 20
[93] Fix | Delete
#define DT_DEBUG 21
[94] Fix | Delete
#define DT_TEXTREL 22
[95] Fix | Delete
#define DT_JMPREL 23
[96] Fix | Delete
#define DT_ENCODING 32
[97] Fix | Delete
#define OLD_DT_LOOS 0x60000000
[98] Fix | Delete
#define DT_LOOS 0x6000000d
[99] Fix | Delete
#define DT_HIOS 0x6ffff000
[100] Fix | Delete
#define DT_VALRNGLO 0x6ffffd00
[101] Fix | Delete
#define DT_VALRNGHI 0x6ffffdff
[102] Fix | Delete
#define DT_ADDRRNGLO 0x6ffffe00
[103] Fix | Delete
#define DT_ADDRRNGHI 0x6ffffeff
[104] Fix | Delete
#define DT_VERSYM 0x6ffffff0
[105] Fix | Delete
#define DT_RELACOUNT 0x6ffffff9
[106] Fix | Delete
#define DT_RELCOUNT 0x6ffffffa
[107] Fix | Delete
#define DT_FLAGS_1 0x6ffffffb
[108] Fix | Delete
#define DT_VERDEF 0x6ffffffc
[109] Fix | Delete
#define DT_VERDEFNUM 0x6ffffffd
[110] Fix | Delete
#define DT_VERNEED 0x6ffffffe
[111] Fix | Delete
#define DT_VERNEEDNUM 0x6fffffff
[112] Fix | Delete
#define OLD_DT_HIOS 0x6fffffff
[113] Fix | Delete
#define DT_LOPROC 0x70000000
[114] Fix | Delete
#define DT_HIPROC 0x7fffffff
[115] Fix | Delete
[116] Fix | Delete
/* This info is needed when parsing the symbol table */
[117] Fix | Delete
#define STB_LOCAL 0
[118] Fix | Delete
#define STB_GLOBAL 1
[119] Fix | Delete
#define STB_WEAK 2
[120] Fix | Delete
[121] Fix | Delete
#define STT_NOTYPE 0
[122] Fix | Delete
#define STT_OBJECT 1
[123] Fix | Delete
#define STT_FUNC 2
[124] Fix | Delete
#define STT_SECTION 3
[125] Fix | Delete
#define STT_FILE 4
[126] Fix | Delete
#define STT_COMMON 5
[127] Fix | Delete
#define STT_TLS 6
[128] Fix | Delete
[129] Fix | Delete
#define ELF_ST_BIND(x) ((x) >> 4)
[130] Fix | Delete
#define ELF_ST_TYPE(x) (((unsigned int) x) & 0xf)
[131] Fix | Delete
#define ELF32_ST_BIND(x) ELF_ST_BIND(x)
[132] Fix | Delete
#define ELF32_ST_TYPE(x) ELF_ST_TYPE(x)
[133] Fix | Delete
#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
[134] Fix | Delete
#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
[135] Fix | Delete
[136] Fix | Delete
typedef struct dynamic{
[137] Fix | Delete
Elf32_Sword d_tag;
[138] Fix | Delete
union{
[139] Fix | Delete
Elf32_Sword d_val;
[140] Fix | Delete
Elf32_Addr d_ptr;
[141] Fix | Delete
} d_un;
[142] Fix | Delete
} Elf32_Dyn;
[143] Fix | Delete
[144] Fix | Delete
typedef struct {
[145] Fix | Delete
Elf64_Sxword d_tag; /* entry tag value */
[146] Fix | Delete
union {
[147] Fix | Delete
Elf64_Xword d_val;
[148] Fix | Delete
Elf64_Addr d_ptr;
[149] Fix | Delete
} d_un;
[150] Fix | Delete
} Elf64_Dyn;
[151] Fix | Delete
[152] Fix | Delete
/* The following are used with relocations */
[153] Fix | Delete
#define ELF32_R_SYM(x) ((x) >> 8)
[154] Fix | Delete
#define ELF32_R_TYPE(x) ((x) & 0xff)
[155] Fix | Delete
[156] Fix | Delete
#define ELF64_R_SYM(i) ((i) >> 32)
[157] Fix | Delete
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
[158] Fix | Delete
[159] Fix | Delete
typedef struct elf32_rel {
[160] Fix | Delete
Elf32_Addr r_offset;
[161] Fix | Delete
Elf32_Word r_info;
[162] Fix | Delete
} Elf32_Rel;
[163] Fix | Delete
[164] Fix | Delete
typedef struct elf64_rel {
[165] Fix | Delete
Elf64_Addr r_offset; /* Location at which to apply the action */
[166] Fix | Delete
Elf64_Xword r_info; /* index and type of relocation */
[167] Fix | Delete
} Elf64_Rel;
[168] Fix | Delete
[169] Fix | Delete
typedef struct elf32_rela{
[170] Fix | Delete
Elf32_Addr r_offset;
[171] Fix | Delete
Elf32_Word r_info;
[172] Fix | Delete
Elf32_Sword r_addend;
[173] Fix | Delete
} Elf32_Rela;
[174] Fix | Delete
[175] Fix | Delete
typedef struct elf64_rela {
[176] Fix | Delete
Elf64_Addr r_offset; /* Location at which to apply the action */
[177] Fix | Delete
Elf64_Xword r_info; /* index and type of relocation */
[178] Fix | Delete
Elf64_Sxword r_addend; /* Constant addend used to compute value */
[179] Fix | Delete
} Elf64_Rela;
[180] Fix | Delete
[181] Fix | Delete
typedef struct elf32_sym{
[182] Fix | Delete
Elf32_Word st_name;
[183] Fix | Delete
Elf32_Addr st_value;
[184] Fix | Delete
Elf32_Word st_size;
[185] Fix | Delete
unsigned char st_info;
[186] Fix | Delete
unsigned char st_other;
[187] Fix | Delete
Elf32_Half st_shndx;
[188] Fix | Delete
} Elf32_Sym;
[189] Fix | Delete
[190] Fix | Delete
typedef struct elf64_sym {
[191] Fix | Delete
Elf64_Word st_name; /* Symbol name, index in string tbl */
[192] Fix | Delete
unsigned char st_info; /* Type and binding attributes */
[193] Fix | Delete
unsigned char st_other; /* No defined meaning, 0 */
[194] Fix | Delete
Elf64_Half st_shndx; /* Associated section index */
[195] Fix | Delete
Elf64_Addr st_value; /* Value of the symbol */
[196] Fix | Delete
Elf64_Xword st_size; /* Associated symbol size */
[197] Fix | Delete
} Elf64_Sym;
[198] Fix | Delete
[199] Fix | Delete
[200] Fix | Delete
#define EI_NIDENT 16
[201] Fix | Delete
[202] Fix | Delete
typedef struct elf32_hdr{
[203] Fix | Delete
unsigned char e_ident[EI_NIDENT];
[204] Fix | Delete
Elf32_Half e_type;
[205] Fix | Delete
Elf32_Half e_machine;
[206] Fix | Delete
Elf32_Word e_version;
[207] Fix | Delete
Elf32_Addr e_entry; /* Entry point */
[208] Fix | Delete
Elf32_Off e_phoff;
[209] Fix | Delete
Elf32_Off e_shoff;
[210] Fix | Delete
Elf32_Word e_flags;
[211] Fix | Delete
Elf32_Half e_ehsize;
[212] Fix | Delete
Elf32_Half e_phentsize;
[213] Fix | Delete
Elf32_Half e_phnum;
[214] Fix | Delete
Elf32_Half e_shentsize;
[215] Fix | Delete
Elf32_Half e_shnum;
[216] Fix | Delete
Elf32_Half e_shstrndx;
[217] Fix | Delete
} Elf32_Ehdr;
[218] Fix | Delete
[219] Fix | Delete
typedef struct elf64_hdr {
[220] Fix | Delete
unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */
[221] Fix | Delete
Elf64_Half e_type;
[222] Fix | Delete
Elf64_Half e_machine;
[223] Fix | Delete
Elf64_Word e_version;
[224] Fix | Delete
Elf64_Addr e_entry; /* Entry point virtual address */
[225] Fix | Delete
Elf64_Off e_phoff; /* Program header table file offset */
[226] Fix | Delete
Elf64_Off e_shoff; /* Section header table file offset */
[227] Fix | Delete
Elf64_Word e_flags;
[228] Fix | Delete
Elf64_Half e_ehsize;
[229] Fix | Delete
Elf64_Half e_phentsize;
[230] Fix | Delete
Elf64_Half e_phnum;
[231] Fix | Delete
Elf64_Half e_shentsize;
[232] Fix | Delete
Elf64_Half e_shnum;
[233] Fix | Delete
Elf64_Half e_shstrndx;
[234] Fix | Delete
} Elf64_Ehdr;
[235] Fix | Delete
[236] Fix | Delete
/* These constants define the permissions on sections in the program
[237] Fix | Delete
header, p_flags. */
[238] Fix | Delete
#define PF_R 0x4
[239] Fix | Delete
#define PF_W 0x2
[240] Fix | Delete
#define PF_X 0x1
[241] Fix | Delete
[242] Fix | Delete
typedef struct elf32_phdr{
[243] Fix | Delete
Elf32_Word p_type;
[244] Fix | Delete
Elf32_Off p_offset;
[245] Fix | Delete
Elf32_Addr p_vaddr;
[246] Fix | Delete
Elf32_Addr p_paddr;
[247] Fix | Delete
Elf32_Word p_filesz;
[248] Fix | Delete
Elf32_Word p_memsz;
[249] Fix | Delete
Elf32_Word p_flags;
[250] Fix | Delete
Elf32_Word p_align;
[251] Fix | Delete
} Elf32_Phdr;
[252] Fix | Delete
[253] Fix | Delete
typedef struct elf64_phdr {
[254] Fix | Delete
Elf64_Word p_type;
[255] Fix | Delete
Elf64_Word p_flags;
[256] Fix | Delete
Elf64_Off p_offset; /* Segment file offset */
[257] Fix | Delete
Elf64_Addr p_vaddr; /* Segment virtual address */
[258] Fix | Delete
Elf64_Addr p_paddr; /* Segment physical address */
[259] Fix | Delete
Elf64_Xword p_filesz; /* Segment size in file */
[260] Fix | Delete
Elf64_Xword p_memsz; /* Segment size in memory */
[261] Fix | Delete
Elf64_Xword p_align; /* Segment alignment, file & memory */
[262] Fix | Delete
} Elf64_Phdr;
[263] Fix | Delete
[264] Fix | Delete
/* sh_type */
[265] Fix | Delete
#define SHT_NULL 0
[266] Fix | Delete
#define SHT_PROGBITS 1
[267] Fix | Delete
#define SHT_SYMTAB 2
[268] Fix | Delete
#define SHT_STRTAB 3
[269] Fix | Delete
#define SHT_RELA 4
[270] Fix | Delete
#define SHT_HASH 5
[271] Fix | Delete
#define SHT_DYNAMIC 6
[272] Fix | Delete
#define SHT_NOTE 7
[273] Fix | Delete
#define SHT_NOBITS 8
[274] Fix | Delete
#define SHT_REL 9
[275] Fix | Delete
#define SHT_SHLIB 10
[276] Fix | Delete
#define SHT_DYNSYM 11
[277] Fix | Delete
#define SHT_NUM 12
[278] Fix | Delete
#define SHT_LOPROC 0x70000000
[279] Fix | Delete
#define SHT_HIPROC 0x7fffffff
[280] Fix | Delete
#define SHT_LOUSER 0x80000000
[281] Fix | Delete
#define SHT_HIUSER 0xffffffff
[282] Fix | Delete
[283] Fix | Delete
/* sh_flags */
[284] Fix | Delete
#define SHF_WRITE 0x1
[285] Fix | Delete
#define SHF_ALLOC 0x2
[286] Fix | Delete
#define SHF_EXECINSTR 0x4
[287] Fix | Delete
#define SHF_RELA_LIVEPATCH 0x00100000
[288] Fix | Delete
#define SHF_RO_AFTER_INIT 0x00200000
[289] Fix | Delete
#define SHF_MASKPROC 0xf0000000
[290] Fix | Delete
[291] Fix | Delete
/* special section indexes */
[292] Fix | Delete
#define SHN_UNDEF 0
[293] Fix | Delete
#define SHN_LORESERVE 0xff00
[294] Fix | Delete
#define SHN_LOPROC 0xff00
[295] Fix | Delete
#define SHN_HIPROC 0xff1f
[296] Fix | Delete
#define SHN_LIVEPATCH 0xff20
[297] Fix | Delete
#define SHN_ABS 0xfff1
[298] Fix | Delete
#define SHN_COMMON 0xfff2
[299] Fix | Delete
#define SHN_HIRESERVE 0xffff
[300] Fix | Delete
[301] Fix | Delete
typedef struct elf32_shdr {
[302] Fix | Delete
Elf32_Word sh_name;
[303] Fix | Delete
Elf32_Word sh_type;
[304] Fix | Delete
Elf32_Word sh_flags;
[305] Fix | Delete
Elf32_Addr sh_addr;
[306] Fix | Delete
Elf32_Off sh_offset;
[307] Fix | Delete
Elf32_Word sh_size;
[308] Fix | Delete
Elf32_Word sh_link;
[309] Fix | Delete
Elf32_Word sh_info;
[310] Fix | Delete
Elf32_Word sh_addralign;
[311] Fix | Delete
Elf32_Word sh_entsize;
[312] Fix | Delete
} Elf32_Shdr;
[313] Fix | Delete
[314] Fix | Delete
typedef struct elf64_shdr {
[315] Fix | Delete
Elf64_Word sh_name; /* Section name, index in string tbl */
[316] Fix | Delete
Elf64_Word sh_type; /* Type of section */
[317] Fix | Delete
Elf64_Xword sh_flags; /* Miscellaneous section attributes */
[318] Fix | Delete
Elf64_Addr sh_addr; /* Section virtual addr at execution */
[319] Fix | Delete
Elf64_Off sh_offset; /* Section file offset */
[320] Fix | Delete
Elf64_Xword sh_size; /* Size of section in bytes */
[321] Fix | Delete
Elf64_Word sh_link; /* Index of another section */
[322] Fix | Delete
Elf64_Word sh_info; /* Additional section information */
[323] Fix | Delete
Elf64_Xword sh_addralign; /* Section alignment */
[324] Fix | Delete
Elf64_Xword sh_entsize; /* Entry size if section holds table */
[325] Fix | Delete
} Elf64_Shdr;
[326] Fix | Delete
[327] Fix | Delete
#define EI_MAG0 0 /* e_ident[] indexes */
[328] Fix | Delete
#define EI_MAG1 1
[329] Fix | Delete
#define EI_MAG2 2
[330] Fix | Delete
#define EI_MAG3 3
[331] Fix | Delete
#define EI_CLASS 4
[332] Fix | Delete
#define EI_DATA 5
[333] Fix | Delete
#define EI_VERSION 6
[334] Fix | Delete
#define EI_OSABI 7
[335] Fix | Delete
#define EI_PAD 8
[336] Fix | Delete
[337] Fix | Delete
#define ELFMAG0 0x7f /* EI_MAG */
[338] Fix | Delete
#define ELFMAG1 'E'
[339] Fix | Delete
#define ELFMAG2 'L'
[340] Fix | Delete
#define ELFMAG3 'F'
[341] Fix | Delete
#define ELFMAG "\177ELF"
[342] Fix | Delete
#define SELFMAG 4
[343] Fix | Delete
[344] Fix | Delete
#define ELFCLASSNONE 0 /* EI_CLASS */
[345] Fix | Delete
#define ELFCLASS32 1
[346] Fix | Delete
#define ELFCLASS64 2
[347] Fix | Delete
#define ELFCLASSNUM 3
[348] Fix | Delete
[349] Fix | Delete
#define ELFDATANONE 0 /* e_ident[EI_DATA] */
[350] Fix | Delete
#define ELFDATA2LSB 1
[351] Fix | Delete
#define ELFDATA2MSB 2
[352] Fix | Delete
[353] Fix | Delete
#define EV_NONE 0 /* e_version, EI_VERSION */
[354] Fix | Delete
#define EV_CURRENT 1
[355] Fix | Delete
#define EV_NUM 2
[356] Fix | Delete
[357] Fix | Delete
#define ELFOSABI_NONE 0
[358] Fix | Delete
#define ELFOSABI_LINUX 3
[359] Fix | Delete
[360] Fix | Delete
#ifndef ELF_OSABI
[361] Fix | Delete
#define ELF_OSABI ELFOSABI_NONE
[362] Fix | Delete
#endif
[363] Fix | Delete
[364] Fix | Delete
/*
[365] Fix | Delete
* Notes used in ET_CORE. Architectures export some of the arch register sets
[366] Fix | Delete
* using the corresponding note types via the PTRACE_GETREGSET and
[367] Fix | Delete
* PTRACE_SETREGSET requests.
[368] Fix | Delete
*/
[369] Fix | Delete
#define NT_PRSTATUS 1
[370] Fix | Delete
#define NT_PRFPREG 2
[371] Fix | Delete
#define NT_PRPSINFO 3
[372] Fix | Delete
#define NT_TASKSTRUCT 4
[373] Fix | Delete
#define NT_AUXV 6
[374] Fix | Delete
/*
[375] Fix | Delete
* Note to userspace developers: size of NT_SIGINFO note may increase
[376] Fix | Delete
* in the future to accomodate more fields, don't assume it is fixed!
[377] Fix | Delete
*/
[378] Fix | Delete
#define NT_SIGINFO 0x53494749
[379] Fix | Delete
#define NT_FILE 0x46494c45
[380] Fix | Delete
#define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */
[381] Fix | Delete
#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */
[382] Fix | Delete
#define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */
[383] Fix | Delete
#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
[384] Fix | Delete
#define NT_PPC_TAR 0x103 /* Target Address Register */
[385] Fix | Delete
#define NT_PPC_PPR 0x104 /* Program Priority Register */
[386] Fix | Delete
#define NT_PPC_DSCR 0x105 /* Data Stream Control Register */
[387] Fix | Delete
#define NT_PPC_EBB 0x106 /* Event Based Branch Registers */
[388] Fix | Delete
#define NT_PPC_PMU 0x107 /* Performance Monitor Registers */
[389] Fix | Delete
#define NT_PPC_TM_CGPR 0x108 /* TM checkpointed GPR Registers */
[390] Fix | Delete
#define NT_PPC_TM_CFPR 0x109 /* TM checkpointed FPR Registers */
[391] Fix | Delete
#define NT_PPC_TM_CVMX 0x10a /* TM checkpointed VMX Registers */
[392] Fix | Delete
#define NT_PPC_TM_CVSX 0x10b /* TM checkpointed VSX Registers */
[393] Fix | Delete
#define NT_PPC_TM_SPR 0x10c /* TM Special Purpose Registers */
[394] Fix | Delete
#define NT_PPC_TM_CTAR 0x10d /* TM checkpointed Target Address Register */
[395] Fix | Delete
#define NT_PPC_TM_CPPR 0x10e /* TM checkpointed Program Priority Register */
[396] Fix | Delete
#define NT_PPC_TM_CDSCR 0x10f /* TM checkpointed Data Stream Control Register */
[397] Fix | Delete
#define NT_PPC_PKEY 0x110 /* Memory Protection Keys registers */
[398] Fix | Delete
#define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */
[399] Fix | Delete
#define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */
[400] Fix | Delete
#define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */
[401] Fix | Delete
#define NT_S390_HIGH_GPRS 0x300 /* s390 upper register halves */
[402] Fix | Delete
#define NT_S390_TIMER 0x301 /* s390 timer register */
[403] Fix | Delete
#define NT_S390_TODCMP 0x302 /* s390 TOD clock comparator register */
[404] Fix | Delete
#define NT_S390_TODPREG 0x303 /* s390 TOD programmable register */
[405] Fix | Delete
#define NT_S390_CTRS 0x304 /* s390 control registers */
[406] Fix | Delete
#define NT_S390_PREFIX 0x305 /* s390 prefix register */
[407] Fix | Delete
#define NT_S390_LAST_BREAK 0x306 /* s390 breaking event address */
[408] Fix | Delete
#define NT_S390_SYSTEM_CALL 0x307 /* s390 system call restart data */
[409] Fix | Delete
#define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */
[410] Fix | Delete
#define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 upper half */
[411] Fix | Delete
#define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */
[412] Fix | Delete
#define NT_S390_GS_CB 0x30b /* s390 guarded storage registers */
[413] Fix | Delete
#define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block */
[414] Fix | Delete
#define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation */
[415] Fix | Delete
#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */
[416] Fix | Delete
#define NT_ARM_TLS 0x401 /* ARM TLS register */
[417] Fix | Delete
#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */
[418] Fix | Delete
#define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */
[419] Fix | Delete
#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
[420] Fix | Delete
#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension registers */
[421] Fix | Delete
#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication code masks */
[422] Fix | Delete
#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address keys */
[423] Fix | Delete
#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic key */
[424] Fix | Delete
#define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */
[425] Fix | Delete
#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */
[426] Fix | Delete
[427] Fix | Delete
/* Note header in a PT_NOTE section */
[428] Fix | Delete
typedef struct elf32_note {
[429] Fix | Delete
Elf32_Word n_namesz; /* Name size */
[430] Fix | Delete
Elf32_Word n_descsz; /* Content size */
[431] Fix | Delete
Elf32_Word n_type; /* Content type */
[432] Fix | Delete
} Elf32_Nhdr;
[433] Fix | Delete
[434] Fix | Delete
/* Note header in a PT_NOTE section */
[435] Fix | Delete
typedef struct elf64_note {
[436] Fix | Delete
Elf64_Word n_namesz; /* Name size */
[437] Fix | Delete
Elf64_Word n_descsz; /* Content size */
[438] Fix | Delete
Elf64_Word n_type; /* Content type */
[439] Fix | Delete
} Elf64_Nhdr;
[440] Fix | Delete
[441] Fix | Delete
#endif /* _LINUX_ELF_H */
[442] Fix | Delete
[443] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function