@@ -22,6 +22,8 @@ pub type __s16 = ::c_short;
2222pub type __u32 = :: c_uint ;
2323pub type __s32 = :: c_int ;
2424
25+ // elf.h
26+
2527pub type Elf32_Half = u16 ;
2628pub type Elf32_Word = u32 ;
2729pub type Elf32_Off = u32 ;
@@ -1638,7 +1640,8 @@ pub const PF_R: u32 = 1 << 2;
16381640pub const PF_MASKOS : u32 = 0x0ff00000 ;
16391641pub const PF_MASKPROC : u32 = 0xf0000000 ;
16401642
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
16421645pub const AT_NULL : :: c_ulong = 0 ;
16431646pub const AT_IGNORE : :: c_ulong = 1 ;
16441647pub const AT_EXECFD : :: c_ulong = 2 ;
@@ -1666,9 +1669,13 @@ pub const AT_HWCAP2: ::c_ulong = 26;
16661669pub const AT_EXECFN : :: c_ulong = 31 ;
16671670
16681671// 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
16701673pub const AT_SYSINFO_EHDR : :: c_ulong = 33 ;
16711674
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+
16721679pub const GLOB_ERR : :: c_int = 1 << 0 ;
16731680pub const GLOB_MARK : :: c_int = 1 << 1 ;
16741681pub const GLOB_NOSORT : :: c_int = 1 << 2 ;
0 commit comments