gdb: support rseq auxvs
[binutils-gdb.git] / include / elf / common.h
index bb93123d14a6d3e78a2fcd58a91935c015ad0f49..244b13361e5e135058e582df06d339fb3b69ab82 100644 (file)
 #define PT_GNU_STACK   (PT_LOOS + 0x474e551) /* Stack flags */
 #define PT_GNU_RELRO   (PT_LOOS + 0x474e552) /* Read-only after relocation */
 #define PT_GNU_PROPERTY        (PT_LOOS + 0x474e553) /* GNU property */
-#define PT_GNU_SFRAME  (PT_LOOS + 0x474e554) /* SFrame unwind information */
+#define PT_GNU_SFRAME  (PT_LOOS + 0x474e554) /* SFrame stack trace information */
 
 /* OpenBSD segment types.  */
+#define PT_OPENBSD_MUTABLE   (PT_LOOS + 0x5a3dbe5)  /* Like bss, but not immutable.  */
 #define PT_OPENBSD_RANDOMIZE (PT_LOOS + 0x5a3dbe6)  /* Fill with random data.  */
 #define PT_OPENBSD_WXNEEDED  (PT_LOOS + 0x5a3dbe7)  /* Program does W^X violations.  */
+#define PT_OPENBSD_NOBTCFI   (PT_LOOS + 0x5a3dbe8)  /* No branch target CFI.  */
 #define PT_OPENBSD_BOOTDATA  (PT_LOOS + 0x5a41be6)  /* Section for boot arguments.  */
 
 /* Mbind segments */
                                        /*   Note: name must be "LINUX".  */
 #define NT_ARM_ZA       0x40c           /* AArch64 SME ZA register.  */
                                        /*   Note: name must be "LINUX".  */
+#define NT_ARM_ZT       0x40d           /* AArch64 SME2 ZT registers.  */
+                                       /*   Note: name must be "LINUX".  */
 #define NT_ARC_V2      0x600           /* ARC HS accumulator/extra registers.  */
                                        /*   note name must be "LINUX".  */
 #define NT_LARCH_CPUCFG 0xa00          /* LoongArch CPU config registers */
 #define NT_OPENBSD_XFPREGS     22
 #define NT_OPENBSD_WCOOKIE     23
 
+/* Note segments for core files on QNX systems.  Note name
+   must start with "QNX".  */
+#define QNT_DEBUG_FULLPATH 1
+#define QNT_DEBUG_RELOC    2
+#define QNT_STACK          3
+#define QNT_GENERATOR      4
+#define QNT_DEFAULT_LIB    5
+#define QNT_CORE_SYSINFO   6
+#define QNT_CORE_INFO      7
+#define QNT_CORE_STATUS    8
+#define QNT_CORE_GREG      9
+#define QNT_CORE_FPREG     10
+#define QNT_LINK_MAP       11
 
 /* Note segments for core files on Solaris systems.  Note name
    must start with "CORE".  */
 #define DT_FINI_ARRAYSZ 28
 #define DT_RUNPATH     29
 #define DT_FLAGS       30
+
+/* Values in the range [DT_ENCODING, DT_LOOS) use d_un.d_ptr if the
+   value is even, d_un.d_val if odd.  */
+#define DT_ENCODING    32
 #define DT_PREINIT_ARRAY   32
 #define DT_PREINIT_ARRAYSZ 33
 #define DT_SYMTAB_SHNDX    34
 #define DT_RELRSZ      35
 #define DT_RELR                36
 #define DT_RELRENT     37
-#define DT_ENCODING    38
 
 /* Note, the Oct 4, 1999 draft of the ELF ABI changed the values
    for DT_LOOS and DT_HIOS.  Some implementations however, use
                                           may differ from AT_PLATFORM.  */
 #define AT_RANDOM      25              /* Address of 16 random bytes.  */
 #define AT_HWCAP2      26              /* Extension of AT_HWCAP.  */
+#define AT_RSEQ_FEATURE_SIZE   27      /* rseq supported feature size */
+#define AT_RSEQ_ALIGN  28              /* rseq allocation alignment */
 #define AT_EXECFN      31              /* Filename of executable.  */
 /* Pointer to the global system page used for system calls and other
    nice things.  */