.. | .. |
---|
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 */ |
---|