@@ -22,6 +22,8 @@ pub type __s16 = ::c_short;
22
22
pub type __u32 = :: c_uint ;
23
23
pub type __s32 = :: c_int ;
24
24
25
+ // elf.h
26
+
25
27
pub type Elf32_Half = u16 ;
26
28
pub type Elf32_Word = u32 ;
27
29
pub type Elf32_Off = u32 ;
@@ -1638,7 +1640,8 @@ pub const PF_R: u32 = 1 << 2;
1638
1640
pub const PF_MASKOS : u32 = 0x0ff00000 ;
1639
1641
pub const PF_MASKPROC : u32 = 0xf0000000 ;
1640
1642
1641
- // elf.h - Legal values for a_type (entry type).
1643
+ // keys to the values in the ELF auxiliary vector, usable with getauxval
1644
+ // found at uapi/linux/auxvec.h in the kernel and elf/elf.h in musl and glibc
1642
1645
pub const AT_NULL : :: c_ulong = 0 ;
1643
1646
pub const AT_IGNORE : :: c_ulong = 1 ;
1644
1647
pub const AT_EXECFD : :: c_ulong = 2 ;
@@ -1666,9 +1669,13 @@ pub const AT_HWCAP2: ::c_ulong = 26;
1666
1669
pub const AT_EXECFN : :: c_ulong = 31 ;
1667
1670
1668
1671
// defined in arch/<arch>/include/uapi/asm/auxvec.h but has the same value
1669
- // wherever it is defined.
1672
+ // wherever it is defined, and explicitly stated by glibc and musl
1670
1673
pub const AT_SYSINFO_EHDR : :: c_ulong = 33 ;
1671
1674
1675
+ pub const AT_MINSIGSTKSZ : :: c_ulong = 51 ;
1676
+ // getauxval AT_* values should be current for all "architecture-neutral" ones as of
1677
+ // Linux headers: include/uapi/linux/auxvec.h kernel 6.1
1678
+
1672
1679
pub const GLOB_ERR : :: c_int = 1 << 0 ;
1673
1680
pub const GLOB_MARK : :: c_int = 1 << 1 ;
1674
1681
pub const GLOB_NOSORT : :: c_int = 1 << 2 ;
0 commit comments