From d1a6dbabb3e88495b034444763da04d6d9866276 Mon Sep 17 00:00:00 2001 From: StackOverflowExcept1on <109800286+StackOverflowExcept1on@users.noreply.github.com> Date: Sun, 21 Jun 2026 13:48:44 +0300 Subject: [PATCH] fix(android/aarch64): use `libc::ucontext_t` from Android NDK --- src/unix/linux_like/android/b32/arm.rs | 2 +- src/unix/linux_like/android/b64/aarch64/mod.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/unix/linux_like/android/b32/arm.rs b/src/unix/linux_like/android/b32/arm.rs index 66375876e7760..fb88cd10af1bb 100644 --- a/src/unix/linux_like/android/b32/arm.rs +++ b/src/unix/linux_like/android/b32/arm.rs @@ -31,7 +31,7 @@ s! { pub struct __c_anonymous_uc_sigmask_with_padding { pub uc_sigmask: crate::sigset_t, - /* Android has a wrong (smaller) sigset_t on x86. */ + /* Android has a wrong (smaller) sigset_t on ARM. */ __padding_rt_sigset: Padding, } diff --git a/src/unix/linux_like/android/b64/aarch64/mod.rs b/src/unix/linux_like/android/b64/aarch64/mod.rs index c8c48e5d90894..b33d2ef36fc76 100644 --- a/src/unix/linux_like/android/b64/aarch64/mod.rs +++ b/src/unix/linux_like/android/b64/aarch64/mod.rs @@ -62,6 +62,9 @@ s! { pub uc_link: *mut ucontext_t, pub uc_stack: crate::stack_t, pub uc_sigmask: crate::sigset_t, + /* The kernel adds extra padding after uc_sigmask to match + * glibc sigset_t on ARM64. */ + __padding: Padding<[c_char; 128 - size_of::()]>, pub uc_mcontext: mcontext_t, }