Skip to content

Winch support for AArch64 tough to integrate with tests/wast.rs #9566

@alexcrichton

Description

@alexcrichton

I've done some recent refactoring over the past month or so of the tests/wast.rs test suite. The general idea is that it should not only assert that passing tests pass but it should additionally assert that failing tests fail. This ensures that we keep an accurate picture of where tests are at and we know to enable spec tests once support is implemented.

This is problematic on Winch for AArch64, however. The problem is that when a test is supposed to fail it's run anyway and it's expected to return an error through Result. Failures such as panics and segfaults are not currently recoverable. Currently, though, tests on the AArch64 backend for Winch often panic (e.g. todo!() items) or segfault (likely because something isn't finished yet).

The way that tests/wast.rs works for now is that it pretends that all tests require the reference-types feature for wasm which is hardcoded as "doesn't work on aarch64 winch". This causes all tests to fail early in Config::validate before the backend is used. This isn't great though because some tests do indeed pass on Winch right now and it might be reasonable to start ratcheting support to ensure it doesn't regress.

cc @saulecabrera and @vulc41n as y'all may be interested in this. I'll clarify that this is not an urgent issue by any means -- I don't intend to put pressure on either of y'all. Instead I wanted to make y'all aware of this if you're looking for future aarch64 work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    winchWinch issues or pull requests

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions