hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/include/uapi/linux/elf.h
....@@ -36,6 +36,7 @@
3636 #define PT_LOPROC 0x70000000
3737 #define PT_HIPROC 0x7fffffff
3838 #define PT_GNU_EH_FRAME 0x6474e550
39
+#define PT_GNU_PROPERTY 0x6474e553
3940
4041 #define PT_GNU_STACK (PT_LOOS + 0x474e551)
4142
....@@ -52,7 +53,7 @@
5253 *
5354 * - Oracle: Linker and Libraries.
5455 * 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
5657 *
5758 * - System V ABI AMD64 Architecture Processor Supplement
5859 * Draft Version 0.99.4,
....@@ -367,6 +368,7 @@
367368 * Notes used in ET_CORE. Architectures export some of the arch register sets
368369 * using the corresponding note types via the PTRACE_GETREGSET and
369370 * PTRACE_SETREGSET requests.
371
+ * The note name for all these is "LINUX".
370372 */
371373 #define NT_PRSTATUS 1
372374 #define NT_PRFPREG 2
....@@ -420,10 +422,19 @@
420422 #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */
421423 #define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
422424 #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()) */
423430 #define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */
424431 #define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */
425432 #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */
426433 #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
427438
428439 /* Note header in a PT_NOTE section */
429440 typedef struct elf32_note {
....@@ -439,4 +450,10 @@
439450 Elf64_Word n_type; /* Content type */
440451 } Elf64_Nhdr;
441452
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
+
442459 #endif /* _UAPI_LINUX_ELF_H */