Skip to content

Wasmtime doesn't work on Linux AArch64 with PAC enabled #3183

@alexcrichton

Description

@alexcrichton

As of #3180 Wasmtime will stop workong on AArch64 Linux with PAC enabled. Debugging this issue at https://bytecodealliance.zulipchat.com/#narrow/stream/217126-wasmtime/topic/arm64.2C.20pointer.20auth.2C.20unwinding seems to indicate that this is a libgcc bug which only accidentally worked before because the DW_OP_lit0 we specify for register 34, the pointer auth enabling register, just happened to show up at an even address in memory. After #3180 the encoding of the FDE is changing just enough that some expressions show up at odd addresses, which tricks libgcc to thinking that pointer authentication is enabled, when it actually isn't.

This commit is tracking improving this by either figuring out a workaround for gcc, implementing pointer authentication, or something similar.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIncorrect behavior in the current implementation that needs fixingwasmtimeIssues about wasmtime that don't fall into another label

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions