| .. | .. |
|---|
| 36 | 36 | #define PT_LOPROC 0x70000000 |
|---|
| 37 | 37 | #define PT_HIPROC 0x7fffffff |
|---|
| 38 | 38 | #define PT_GNU_EH_FRAME 0x6474e550 |
|---|
| 39 | +#define PT_GNU_PROPERTY 0x6474e553 |
|---|
| 39 | 40 | |
|---|
| 40 | 41 | #define PT_GNU_STACK (PT_LOOS + 0x474e551) |
|---|
| 41 | 42 | |
|---|
| .. | .. |
|---|
| 52 | 53 | * |
|---|
| 53 | 54 | * - Oracle: Linker and Libraries. |
|---|
| 54 | 55 | * Part No: 817–1984–19, August 2011. |
|---|
| 55 | | - * http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf |
|---|
| 56 | + * https://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf |
|---|
| 56 | 57 | * |
|---|
| 57 | 58 | * - System V ABI AMD64 Architecture Processor Supplement |
|---|
| 58 | 59 | * Draft Version 0.99.4, |
|---|
| .. | .. |
|---|
| 367 | 368 | * Notes used in ET_CORE. Architectures export some of the arch register sets |
|---|
| 368 | 369 | * using the corresponding note types via the PTRACE_GETREGSET and |
|---|
| 369 | 370 | * PTRACE_SETREGSET requests. |
|---|
| 371 | + * The note name for all these is "LINUX". |
|---|
| 370 | 372 | */ |
|---|
| 371 | 373 | #define NT_PRSTATUS 1 |
|---|
| 372 | 374 | #define NT_PRFPREG 2 |
|---|
| .. | .. |
|---|
| 420 | 422 | #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ |
|---|
| 421 | 423 | #define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ |
|---|
| 422 | 424 | #define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension registers */ |
|---|
| 425 | +#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication code masks */ |
|---|
| 426 | +#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address keys */ |
|---|
| 427 | +#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic key */ |
|---|
| 428 | +#define NT_ARM_TAGGED_ADDR_CTRL 0x409 /* arm64 tagged address control (prctl()) */ |
|---|
| 429 | +#define NT_ARM_PAC_ENABLED_KEYS 0x40a /* arm64 ptr auth enabled keys (prctl()) */ |
|---|
| 423 | 430 | #define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */ |
|---|
| 424 | 431 | #define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */ |
|---|
| 425 | 432 | #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */ |
|---|
| 426 | 433 | #define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode */ |
|---|
| 434 | +#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers */ |
|---|
| 435 | + |
|---|
| 436 | +/* Note types with note name "GNU" */ |
|---|
| 437 | +#define NT_GNU_PROPERTY_TYPE_0 5 |
|---|
| 427 | 438 | |
|---|
| 428 | 439 | /* Note header in a PT_NOTE section */ |
|---|
| 429 | 440 | typedef struct elf32_note { |
|---|
| .. | .. |
|---|
| 439 | 450 | Elf64_Word n_type; /* Content type */ |
|---|
| 440 | 451 | } Elf64_Nhdr; |
|---|
| 441 | 452 | |
|---|
| 453 | +/* .note.gnu.property types for EM_AARCH64: */ |
|---|
| 454 | +#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 |
|---|
| 455 | + |
|---|
| 456 | +/* Bits for GNU_PROPERTY_AARCH64_FEATURE_1_BTI */ |
|---|
| 457 | +#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) |
|---|
| 458 | + |
|---|
| 442 | 459 | #endif /* _UAPI_LINUX_ELF_H */ |
|---|