You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit removes the pointer authentication instructions from our
fiber implementation. There's more rationale in bytecodealliance#12778 for this but the
basic problems are:
* Android uses the "A" key to sign return addresses, but the "A" key
differs between threads. This causes resuming fibers across threads to
crash.
* Rust does not provide the ability to know when pointer authentication
is enabled, nor does it have a way of enabling pointer authentication
for generated code on stable.
* We can't currently find reference documentation for which key should
be used ABI-wise for each target, nor why the Android "A" key is
changing across threads in the same process.
Overall it seems like we're a bit too far out on a limb trying to enable
this. In the future if all Rust code, except this inline assembly, uses
pointer authentication we'll be in a good spot to reevaluate this
perhaps. Until that day though it seems premature to enable this.
Closesbytecodealliance#12778
0 commit comments