feat: add Android arm64 Bionic support#62
Draft
besmpl wants to merge 3 commits into
Draft
Conversation
Author
|
Consumer integration preview: gogpu/wgpu#268 at exact head The WGPU module commits no |
3d665de to
2524e33
Compare
2524e33 to
8ccaae7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Android arm64/API 29+ is carried as a reviewable preview candidate rooted at canonical goffi
v0.6.0(895a3fa). The candidate keeps the public module path and the required runtime work while separating the review surface into dependency-ordered commits:23ffa02a034ef7eca98776ee586dd51c70bee0e0— Bionic platform loader and__errno/errno routing for cgo=0 and cgo=1.b1503fc4ed4e6c0f92ae4f7707a70ddc0284d8a0— Android arm64 fakecgo startup, four-argument_cgo_init, API/TLS guard, Bionic layouts/imports, and explicit callback rejection.8ccaae72d877a7af0af4b628bf86e92536e27d88— generated-source, NDK ABI, cross-build/ELF probes, CI matrix, and preview documentation.The exact branch head is
8ccaae72d877a7af0af4b628bf86e92536e27d88. The previously published one-commit head is preserved atbesmpl/archive/android-arm64-bionic-3d665de,3d665de6d43af35dd6dae005ef09231c15b0d456.Android loader mappings remain process-lifetime mappings (
RTLD_NODELETE);FreeLibraryis retained for API symmetry. Android callbacks fail with a stable panic until foreign-thread startup has physical-device evidence.Validation
The Android check passed on both audited toolchains with NDK r29 (
29.0.14206865):Each run covers
CGO_ENABLED=0andCGO_ENABLED=1, generated fakecgo freshness, Bionic LP64 header/layout assertions, AArch64 ELF dependencies, callback/glibc symbol rejection, startup/TLS disassembly, and same-call loader-error capture. Focused hostgo test ./ffi ./typespasses in both cgo modes; root module verification, formatting, shell syntax, and diff checks are clean.Evidence boundary
This is intentionally still a draft. Cross-build, ABI, and ELF evidence does not prove process startup, adapter use, rendering, or presentation on a physical API 29 or API 30+ arm64 device. No released Android support claim is made, and Android callback support remains explicitly unavailable.
Downstream crosslink
The corresponding WGPU Android implementation preview is gogpu/wgpu#268; it should consume this exact goffi head
8ccaae72d877a7af0af4b628bf86e92536e27d88while both pull requests remain drafts.