Title: [Bug] SIGILL / Illegal Instruction (rcpc feature missing) on Samsung Galaxy S10e
Environment
- Device: Samsung Galaxy S10e
- Architecture: aarch64 (ARMv8.2-A / Exynos 9820 or Snapdragon 855)
- OS: Android (Termux environment)
- Installation Method: Manual Patching Guide / Auto-installer wrapper
Describe the Bug
When attempting to run the patched or wrapped agy binary on a Samsung Galaxy S10e, the execution immediately crashes with a SIGILL (Signal 4 / Illegal Instruction) triggered by Go's fast-fail mechanism. The Go runtime detects that the official upstream binary was compiled requiring the rcpc (Release Consistent Processor Consistent) extension, which is not supported by this device's processor.
Terminal Output
~ $ agy --version
FATAL ERROR: This binary was compiled with rcpc enabled, but this feature is not available on this processor (go/sigill-fail-fast).
proot info: vpid 1: terminated with signal 4
Cause Analysis
The core issue stems from the upstream official Linux ARM64 binary (antigravity.google/cli). Google appears to have compiled recent releases with higher baseline ARMv8 hardware requirements (specifically FEAT_LRCPC).
While your patch_agy_va39.py script successfully fixes the TCMalloc 39-bit virtual address layout and the faccessat2 seccomp blocks, it cannot strip out embedded hardware instructions like rcpc if the underlying Go binary explicitly compiled them in.
Suggested Workarounds / Solutions for the Project
Since this is a compilation flag issue from upstream, a few ways to handle or document this in the repository could be:
- Upstream Documentation: Add a note in the README/Gist caveats stating that devices lacking
rcpc support (like Snapdragon 855 / Exynos 9820 generations and older) will hit a hard SIGILL limit.
- Alternative Flag Check: If anyone discovers a byte-patch to trick Go's hardware capability check (though unlikely to prevent an actual crash if the instruction is executed), or if there's an alternative upstream build variant without extensions.
Title:
[Bug] SIGILL / Illegal Instruction (rcpc feature missing) on Samsung Galaxy S10eEnvironment
Describe the Bug
When attempting to run the patched or wrapped
agybinary on a Samsung Galaxy S10e, the execution immediately crashes with aSIGILL(Signal 4 / Illegal Instruction) triggered by Go's fast-fail mechanism. The Go runtime detects that the official upstream binary was compiled requiring thercpc(Release Consistent Processor Consistent) extension, which is not supported by this device's processor.Terminal Output
Cause Analysis
The core issue stems from the upstream official Linux ARM64 binary (
antigravity.google/cli). Google appears to have compiled recent releases with higher baseline ARMv8 hardware requirements (specificallyFEAT_LRCPC).While your
patch_agy_va39.pyscript successfully fixes the TCMalloc 39-bit virtual address layout and thefaccessat2seccomp blocks, it cannot strip out embedded hardware instructions likercpcif the underlying Go binary explicitly compiled them in.Suggested Workarounds / Solutions for the Project
Since this is a compilation flag issue from upstream, a few ways to handle or document this in the repository could be:
rcpcsupport (like Snapdragon 855 / Exynos 9820 generations and older) will hit a hardSIGILLlimit.