diff --git a/ndk/platforms/android-20/arch-arm/lib/libc.a b/ndk/platforms/android-20/arch-arm/lib/libc.a index 0cf75d6be..2700ead1b 100644 Binary files a/ndk/platforms/android-20/arch-arm/lib/libc.a and b/ndk/platforms/android-20/arch-arm/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-arm/lib/libm.a b/ndk/platforms/android-20/arch-arm/lib/libm.a index bdeef8d71..13a88f521 100644 Binary files a/ndk/platforms/android-20/arch-arm/lib/libm.a and b/ndk/platforms/android-20/arch-arm/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt index 6360fb23a..e1b84839d 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt @@ -748,7 +748,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/arch-arm64/lib/libc.a b/ndk/platforms/android-20/arch-arm64/lib/libc.a index e4e90cea6..297a6bb7c 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libc.a and b/ndk/platforms/android-20/arch-arm64/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libm.a b/ndk/platforms/android-20/arch-arm64/lib/libm.a index 69f5a00b0..fc0bf4458 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libm.a and b/ndk/platforms/android-20/arch-arm64/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libz.a b/ndk/platforms/android-20/arch-arm64/lib/libz.a index d8cc6a447..5ee579218 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libz.a and b/ndk/platforms/android-20/arch-arm64/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt index 705590d28..e6c452bdd 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt @@ -581,7 +581,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/arch-mips/lib/libc.a b/ndk/platforms/android-20/arch-mips/lib/libc.a index 1719ecd9e..a4ffc8ebb 100644 Binary files a/ndk/platforms/android-20/arch-mips/lib/libc.a and b/ndk/platforms/android-20/arch-mips/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-mips/lib/libm.a b/ndk/platforms/android-20/arch-mips/lib/libm.a index cb1e71711..1a1782fe2 100644 Binary files a/ndk/platforms/android-20/arch-mips/lib/libm.a and b/ndk/platforms/android-20/arch-mips/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-mips/lib/libz.a b/ndk/platforms/android-20/arch-mips/lib/libz.a index 293d8969b..35ee3e287 100644 Binary files a/ndk/platforms/android-20/arch-mips/lib/libz.a and b/ndk/platforms/android-20/arch-mips/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt index b89f15b9d..c7f4debdd 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt @@ -638,7 +638,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/arch-mips64/lib/libc.a b/ndk/platforms/android-20/arch-mips64/lib/libc.a index e0d989136..12d5f11fa 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libc.a and b/ndk/platforms/android-20/arch-mips64/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libm.a b/ndk/platforms/android-20/arch-mips64/lib/libm.a index c8e877ca8..21c390bdb 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libm.a and b/ndk/platforms/android-20/arch-mips64/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a index aff84b9b1..33d8bd939 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a and b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libz.a b/ndk/platforms/android-20/arch-mips64/lib/libz.a index d4a16dd4b..f9ca4866f 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libz.a and b/ndk/platforms/android-20/arch-mips64/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt index 66b80a9bb..a8cec1d0e 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt @@ -585,7 +585,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/arch-x86/lib/libc.a b/ndk/platforms/android-20/arch-x86/lib/libc.a index ba9c1e82f..b6fe8e11a 100644 Binary files a/ndk/platforms/android-20/arch-x86/lib/libc.a and b/ndk/platforms/android-20/arch-x86/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-x86/lib/libm.a b/ndk/platforms/android-20/arch-x86/lib/libm.a index 4fc0cfb67..370a4efd6 100644 Binary files a/ndk/platforms/android-20/arch-x86/lib/libm.a and b/ndk/platforms/android-20/arch-x86/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-x86/lib/libz.a b/ndk/platforms/android-20/arch-x86/lib/libz.a index 824da0216..09166823f 100644 Binary files a/ndk/platforms/android-20/arch-x86/lib/libz.a and b/ndk/platforms/android-20/arch-x86/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt index 7faaa45e1..735729ba9 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt @@ -634,7 +634,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a index 82ee862aa..90e031d27 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a index c039f4521..571eb3e57 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a index 591951239..536a06aa9 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt index 705590d28..e6c452bdd 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt @@ -581,7 +581,6 @@ isnormalf isnormall isprint ispunct -issetugid isspace isupper iswalnum diff --git a/ndk/platforms/android-20/include/stdint.h b/ndk/platforms/android-20/include/stdint.h index f34843c09..9f588f737 100644 --- a/ndk/platforms/android-20/include/stdint.h +++ b/ndk/platforms/android-20/include/stdint.h @@ -180,6 +180,7 @@ typedef int64_t intmax_t; #define INT_FAST32_MAX INT32_MAX #define UINT32_MAX (4294967295U) +#define UINT32_MIN (0) #define UINT_LEAST32_MAX UINT32_MAX #define UINT_FAST32_MAX UINT32_MAX diff --git a/ndk/platforms/android-20/include/sys/ucontext.h b/ndk/platforms/android-20/include/sys/ucontext.h index d6c6b4317..f62380d8a 100644 --- a/ndk/platforms/android-20/include/sys/ucontext.h +++ b/ndk/platforms/android-20/include/sys/ucontext.h @@ -68,8 +68,13 @@ typedef struct ucontext { struct ucontext* uc_link; stack_t uc_stack; mcontext_t uc_mcontext; - sigset_t uc_sigmask; - char __padding[128 - sizeof(sigset_t)]; + // Android has a wrong (smaller) sigset_t on ARM. + union { + sigset_t bionic; + uint32_t kernel[2]; + } uc_sigmask; + // The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM. + char __padding[120]; unsigned long uc_regspace[128] __attribute__((__aligned__(8))); } ucontext_t; @@ -83,6 +88,7 @@ typedef struct ucontext { struct ucontext *uc_link; stack_t uc_stack; sigset_t uc_sigmask; + // The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM64. char __padding[128 - sizeof(sigset_t)]; mcontext_t uc_mcontext; } ucontext_t; @@ -146,8 +152,11 @@ typedef struct ucontext { struct ucontext* uc_link; stack_t uc_stack; mcontext_t uc_mcontext; - sigset_t uc_sigmask; - char __padding[128 - sizeof(sigset_t)]; + // Android has a wrong (smaller) sigset_t on x86. + union { + sigset_t bionic; + uint32_t kernel[2]; + } uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; @@ -198,7 +207,6 @@ typedef struct ucontext { stack_t uc_stack; mcontext_t uc_mcontext; sigset_t uc_sigmask; - char __padding[128 - sizeof(sigset_t)]; } ucontext_t; #elif defined(__mips64__) @@ -275,7 +283,6 @@ typedef struct ucontext { stack_t uc_stack; mcontext_t uc_mcontext; sigset_t uc_sigmask; - char __padding[128 - sizeof(sigset_t)]; struct _libc_fpstate __fpregs_mem; } ucontext_t; diff --git a/ndk/platforms/android-20/include/unistd.h b/ndk/platforms/android-20/include/unistd.h index 08a82e6ee..b4982cb0d 100644 --- a/ndk/platforms/android-20/include/unistd.h +++ b/ndk/platforms/android-20/include/unistd.h @@ -92,7 +92,6 @@ extern int setresuid(uid_t, uid_t, uid_t); extern int setresgid(gid_t, gid_t, gid_t); extern int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); extern int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); -extern int issetugid(void); extern char* getlogin(void); extern char* getusershell(void); extern void setusershell(void);