Skip to content

Commit d31fad4

Browse files
Add auxvec.h to all Androids
These values are universal across architectures, as they are defined primarily by the Linux UAPI. Thus adding them to only 64-bit was in error.
1 parent 7319e5a commit d31fad4

File tree

3 files changed

+34
-25
lines changed

3 files changed

+34
-25
lines changed

libc-test/semver/android.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ ATF_PUBL
137137
ATF_USETRAILERS
138138
AT_EMPTY_PATH
139139
AT_FDCWD
140+
AT_MINSIGSTKSZ
140141
AT_NO_AUTOMOUNT
141142
AT_RECURSIVE
142143
AT_REMOVEDIR

src/unix/linux_like/android/b64/mod.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -264,31 +264,6 @@ pub const RTLD_GLOBAL: ::c_int = 0x00100;
264264
pub const RTLD_NOW: ::c_int = 2;
265265
pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void;
266266

267-
// From NDK's linux/auxvec.h
268-
pub const AT_NULL: ::c_ulong = 0;
269-
pub const AT_IGNORE: ::c_ulong = 1;
270-
pub const AT_EXECFD: ::c_ulong = 2;
271-
pub const AT_PHDR: ::c_ulong = 3;
272-
pub const AT_PHENT: ::c_ulong = 4;
273-
pub const AT_PHNUM: ::c_ulong = 5;
274-
pub const AT_PAGESZ: ::c_ulong = 6;
275-
pub const AT_BASE: ::c_ulong = 7;
276-
pub const AT_FLAGS: ::c_ulong = 8;
277-
pub const AT_ENTRY: ::c_ulong = 9;
278-
pub const AT_NOTELF: ::c_ulong = 10;
279-
pub const AT_UID: ::c_ulong = 11;
280-
pub const AT_EUID: ::c_ulong = 12;
281-
pub const AT_GID: ::c_ulong = 13;
282-
pub const AT_EGID: ::c_ulong = 14;
283-
pub const AT_PLATFORM: ::c_ulong = 15;
284-
pub const AT_HWCAP: ::c_ulong = 16;
285-
pub const AT_CLKTCK: ::c_ulong = 17;
286-
pub const AT_SECURE: ::c_ulong = 23;
287-
pub const AT_BASE_PLATFORM: ::c_ulong = 24;
288-
pub const AT_RANDOM: ::c_ulong = 25;
289-
pub const AT_HWCAP2: ::c_ulong = 26;
290-
pub const AT_EXECFN: ::c_ulong = 31;
291-
292267
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
293268
value: 0,
294269
__reserved: [0; 36],

src/unix/linux_like/android/mod.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,39 @@ pub type Elf64_Off = u64;
4646
pub type Elf64_Word = u32;
4747
pub type Elf64_Xword = u64;
4848

49+
// keys to the values in the ELF auxiliary vector, usable with getauxval
50+
// found at uapi/linux/auxvec.h in the kernel
51+
pub const AT_NULL: ::c_ulong = 0;
52+
pub const AT_IGNORE: ::c_ulong = 1;
53+
pub const AT_EXECFD: ::c_ulong = 2;
54+
pub const AT_PHDR: ::c_ulong = 3;
55+
pub const AT_PHENT: ::c_ulong = 4;
56+
pub const AT_PHNUM: ::c_ulong = 5;
57+
pub const AT_PAGESZ: ::c_ulong = 6;
58+
pub const AT_BASE: ::c_ulong = 7;
59+
pub const AT_FLAGS: ::c_ulong = 8;
60+
pub const AT_ENTRY: ::c_ulong = 9;
61+
pub const AT_NOTELF: ::c_ulong = 10;
62+
pub const AT_UID: ::c_ulong = 11;
63+
pub const AT_EUID: ::c_ulong = 12;
64+
pub const AT_GID: ::c_ulong = 13;
65+
pub const AT_EGID: ::c_ulong = 14;
66+
pub const AT_PLATFORM: ::c_ulong = 15;
67+
pub const AT_HWCAP: ::c_ulong = 16;
68+
pub const AT_CLKTCK: ::c_ulong = 17;
69+
70+
pub const AT_SECURE: ::c_ulong = 23;
71+
pub const AT_BASE_PLATFORM: ::c_ulong = 24;
72+
pub const AT_RANDOM: ::c_ulong = 25;
73+
pub const AT_HWCAP2: ::c_ulong = 26;
74+
75+
pub const AT_EXECFN: ::c_ulong = 31;
76+
77+
pub const AT_MINSIGSTKSZ: ::c_ulong = 51;
78+
// getauxval AT_* values should be current for all "architecture-neutral" ones as of
79+
// Linux headers: include/uapi/linux/auxvec.h kernel 6.1
80+
// Android NDK: libc/kernel/uapi/linux/auxvec.h NDK 25 (updated ~5.14)
81+
4982
s! {
5083
pub struct stack_t {
5184
pub ss_sp: *mut ::c_void,

0 commit comments

Comments
 (0)