Skip to content

Commit 8583c71

Browse files
authored
Merge pull request #3779 from yujincheng08/main
Add missing constants for Android
2 parents bc3c8cb + 1610dd3 commit 8583c71

File tree

14 files changed

+181
-27
lines changed

14 files changed

+181
-27
lines changed

ci/android-install-ndk.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -ex
44

5-
NDK=android-ndk-r26b
5+
NDK=android-ndk-r27
66
wget --tries=20 -q https://dl.google.com/android/repository/${NDK}-linux.zip
77
unzip -q ${NDK}-linux.zip
88

libc-test/semver/android-aarch64.txt

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
AT_SYSINFO_EHDR
2+
AT_VECTOR_SIZE_ARCH
13
HWCAP2_DCPODP
24
HWCAP2_FLAGM2
35
HWCAP2_FRINT

libc-test/semver/android-arm.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
AT_SYSINFO_EHDR
12
NGREG
23
PTRACE_GETFPREGS
34
PTRACE_GETREGS

libc-test/semver/android-i686.txt

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
AT_SYSINFO
2+
AT_SYSINFO_EHDR
3+
AT_VECTOR_SIZE_ARCH
14
SYS_memfd_secret
25
__c_anonymous_uc_sigmask
36
__c_anonymous_uc_sigmask_with_padding

libc-test/semver/android-riscv64.txt

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
AT_SYSINFO_EHDR
2+
AT_VECTOR_SIZE_ARCH
3+
HWCAP2_AFP
4+
HWCAP2_BF16
5+
HWCAP2_BTI
6+
HWCAP2_DCPODP
7+
HWCAP2_DGH
8+
HWCAP2_EBF16
9+
HWCAP2_ECV
10+
HWCAP2_FLAGM2
11+
HWCAP2_FRINT
12+
HWCAP2_I8MM
13+
HWCAP2_MTE
14+
HWCAP2_MTE3
15+
HWCAP2_RNG
16+
HWCAP2_RPRES
17+
HWCAP2_SME
18+
HWCAP2_SME_B16F32
19+
HWCAP2_SME_F16F32
20+
HWCAP2_SME_F32F32
21+
HWCAP2_SME_F64F64
22+
HWCAP2_SME_FA64
23+
HWCAP2_SME_I16I64
24+
HWCAP2_SME_I8I32
25+
HWCAP2_SVE2
26+
HWCAP2_SVEAES
27+
HWCAP2_SVEBF16
28+
HWCAP2_SVEBITPERM
29+
HWCAP2_SVEF32MM
30+
HWCAP2_SVEF64MM
31+
HWCAP2_SVEI8MM
32+
HWCAP2_SVEPMULL
33+
HWCAP2_SVESHA3
34+
HWCAP2_SVESM4
35+
HWCAP2_SVE_EBF16
36+
HWCAP2_WFXT
37+
HWCAP_AES
38+
HWCAP_ASIMD
39+
HWCAP_ASIMDDP
40+
HWCAP_ASIMDFHM
41+
HWCAP_ASIMDHP
42+
HWCAP_ASIMDRDM
43+
HWCAP_ATOMICS
44+
HWCAP_CPUID
45+
HWCAP_CRC32
46+
HWCAP_DCPOP
47+
HWCAP_DIT
48+
HWCAP_EVTSTRM
49+
HWCAP_FCMA
50+
HWCAP_FLAGM
51+
HWCAP_FP
52+
HWCAP_FPHP
53+
HWCAP_ILRCPC
54+
HWCAP_JSCVT
55+
HWCAP_LRCPC
56+
HWCAP_PACA
57+
HWCAP_PACG
58+
HWCAP_PMULL
59+
HWCAP_SB
60+
HWCAP_SHA1
61+
HWCAP_SHA2
62+
HWCAP_SHA3
63+
HWCAP_SHA512
64+
HWCAP_SM3
65+
HWCAP_SM4
66+
HWCAP_SSBS
67+
HWCAP_SVE
68+
HWCAP_USCAT
69+
PROT_BTI
70+
PROT_MTE
71+
SYS_accept
72+
SYS_arch_specific_syscall
73+
SYS_fcntl
74+
SYS_getrlimit
75+
SYS_memfd_secret
76+
SYS_migrate_pages
77+
SYS_msgctl
78+
SYS_msgget
79+
SYS_msgrcv
80+
SYS_msgsnd
81+
SYS_semctl
82+
SYS_semget
83+
SYS_semop
84+
SYS_semtimedop
85+
SYS_shmat
86+
SYS_shmctl
87+
SYS_shmdt
88+
SYS_shmget
89+
SYS_sync_file_range
90+
SYS_syscalls

libc-test/semver/android-x86_64.txt

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
AT_SYSINFO_EHDR
2+
AT_VECTOR_SIZE_ARCH
13
EFLAGS
24
FS_BASE
35
GS_BASE

libc-test/semver/android.txt

+26
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,39 @@ ATF_NETMASK
136136
ATF_PERM
137137
ATF_PUBL
138138
ATF_USETRAILERS
139+
AT_BASE
140+
AT_BASE_PLATFORM
141+
AT_CLKTCK
142+
AT_EGID
139143
AT_EMPTY_PATH
144+
AT_ENTRY
145+
AT_EUID
146+
AT_EXECFD
147+
AT_EXECFN
140148
AT_FDCWD
149+
AT_FLAGS
150+
AT_GID
151+
AT_HWCAP
152+
AT_HWCAP2
153+
AT_IGNORE
154+
AT_MINSIGSTKSZ
155+
AT_NOTELF
141156
AT_NO_AUTOMOUNT
157+
AT_NULL
158+
AT_PAGESZ
159+
AT_PHDR
160+
AT_PHENT
161+
AT_PHNUM
162+
AT_PLATFORM
163+
AT_RANDOM
142164
AT_RECURSIVE
143165
AT_REMOVEDIR
166+
AT_RSEQ_ALIGN
167+
AT_RSEQ_FEATURE_SIZE
168+
AT_SECURE
144169
AT_SYMLINK_FOLLOW
145170
AT_SYMLINK_NOFOLLOW
171+
AT_UID
146172
B0
147173
B1000000
148174
B110

src/unix/linux_like/android/b32/arm.rs

+3
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,9 @@ pub const REG_R15: ::c_int = 15;
545545

546546
pub const NGREG: ::c_int = 18;
547547

548+
// From NDK's asm/auxvec.h
549+
pub const AT_SYSINFO_EHDR: ::c_ulong = 33;
550+
548551
f! {
549552
// Sadly, Android before 5.0 (API level 21), the accept4 syscall is not
550553
// exposed by the libc. As work-around, we implement it through `syscall`

src/unix/linux_like/android/b32/x86/mod.rs

+5
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,11 @@ pub const REG_EFL: ::c_int = 16;
598598
pub const REG_UESP: ::c_int = 17;
599599
pub const REG_SS: ::c_int = 18;
600600

601+
// From NDK's asm/auxvec.h
602+
pub const AT_SYSINFO: ::c_ulong = 32;
603+
pub const AT_SYSINFO_EHDR: ::c_ulong = 33;
604+
pub const AT_VECTOR_SIZE_ARCH: ::c_ulong = 3;
605+
601606
// socketcall values from linux/net.h (only the needed ones, and not public)
602607
const SYS_ACCEPT4: ::c_int = 18;
603608

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

+4
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,10 @@ pub const SYS_syscalls: ::c_long = 451;
433433
pub const PROT_BTI: ::c_int = 0x10;
434434
pub const PROT_MTE: ::c_int = 0x20;
435435

436+
// From NDK's asm/auxvec.h
437+
pub const AT_SYSINFO_EHDR: ::c_ulong = 33;
438+
pub const AT_VECTOR_SIZE_ARCH: ::c_ulong = 2;
439+
436440
mod align;
437441
pub use self::align::*;
438442

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

-26
Original file line numberDiff line numberDiff line change
@@ -264,32 +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-
pub const AT_MINSIGSTKSZ: ::c_ulong = 51;
292-
293267
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
294268
value: 0,
295269
__reserved: [0; 36],

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

+12
Original file line numberDiff line numberDiff line change
@@ -362,5 +362,17 @@ pub const SYS_process_mrelease: ::c_long = 448;
362362
pub const SYS_futex_waitv: ::c_long = 449;
363363
pub const SYS_set_mempolicy_home_node: ::c_long = 450;
364364

365+
// From NDK's asm/auxvec.h
366+
pub const AT_SYSINFO_EHDR: ::c_ulong = 33;
367+
pub const AT_L1I_CACHESIZE: ::c_ulong = 40;
368+
pub const AT_L1I_CACHEGEOMETRY: ::c_ulong = 41;
369+
pub const AT_L1D_CACHESIZE: ::c_ulong = 42;
370+
pub const AT_L1D_CACHEGEOMETRY: ::c_ulong = 43;
371+
pub const AT_L2_CACHESIZE: ::c_ulong = 44;
372+
pub const AT_L2_CACHEGEOMETRY: ::c_ulong = 45;
373+
pub const AT_L3_CACHESIZE: ::c_ulong = 46;
374+
pub const AT_L3_CACHEGEOMETRY: ::c_ulong = 47;
375+
pub const AT_VECTOR_SIZE_ARCH: ::c_ulong = 9;
376+
365377
mod align;
366378
pub use self::align::*;

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

+4
Original file line numberDiff line numberDiff line change
@@ -808,5 +808,9 @@ pub const REG_TRAPNO: ::c_int = 20;
808808
pub const REG_OLDMASK: ::c_int = 21;
809809
pub const REG_CR2: ::c_int = 22;
810810

811+
// From NDK's asm/auxvec.h
812+
pub const AT_SYSINFO_EHDR: ::c_ulong = 33;
813+
pub const AT_VECTOR_SIZE_ARCH: ::c_ulong = 3;
814+
811815
mod align;
812816
pub use self::align::*;

src/unix/linux_like/android/mod.rs

+28
Original file line numberDiff line numberDiff line change
@@ -3520,6 +3520,34 @@ pub const KLOG_CONSOLE_LEVEL: ::c_int = 8;
35203520
pub const KLOG_SIZE_UNREAD: ::c_int = 9;
35213521
pub const KLOG_SIZE_BUFFER: ::c_int = 10;
35223522

3523+
// From NDK's linux/auxvec.h
3524+
pub const AT_NULL: ::c_ulong = 0;
3525+
pub const AT_IGNORE: ::c_ulong = 1;
3526+
pub const AT_EXECFD: ::c_ulong = 2;
3527+
pub const AT_PHDR: ::c_ulong = 3;
3528+
pub const AT_PHENT: ::c_ulong = 4;
3529+
pub const AT_PHNUM: ::c_ulong = 5;
3530+
pub const AT_PAGESZ: ::c_ulong = 6;
3531+
pub const AT_BASE: ::c_ulong = 7;
3532+
pub const AT_FLAGS: ::c_ulong = 8;
3533+
pub const AT_ENTRY: ::c_ulong = 9;
3534+
pub const AT_NOTELF: ::c_ulong = 10;
3535+
pub const AT_UID: ::c_ulong = 11;
3536+
pub const AT_EUID: ::c_ulong = 12;
3537+
pub const AT_GID: ::c_ulong = 13;
3538+
pub const AT_EGID: ::c_ulong = 14;
3539+
pub const AT_PLATFORM: ::c_ulong = 15;
3540+
pub const AT_HWCAP: ::c_ulong = 16;
3541+
pub const AT_CLKTCK: ::c_ulong = 17;
3542+
pub const AT_SECURE: ::c_ulong = 23;
3543+
pub const AT_BASE_PLATFORM: ::c_ulong = 24;
3544+
pub const AT_RANDOM: ::c_ulong = 25;
3545+
pub const AT_HWCAP2: ::c_ulong = 26;
3546+
pub const AT_RSEQ_FEATURE_SIZE: ::c_ulong = 27;
3547+
pub const AT_RSEQ_ALIGN: ::c_ulong = 28;
3548+
pub const AT_EXECFN: ::c_ulong = 31;
3549+
pub const AT_MINSIGSTKSZ: ::c_ulong = 51;
3550+
35233551
// Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the
35243552
// following are only available on newer Linux versions than the versions
35253553
// currently used in CI in some configurations, so we define them here.

0 commit comments

Comments
 (0)