Skip to content

how does wasmtime implement abi for wasm64-wasi? #7864

@trcrsired

Description

@trcrsired

Thanks for filing a feature request! Please fill out the TODOs below.

Feature

I am proposing to duplicate all existing APIs for 64 bit wasi interface to be with a _wasm64 suffix.

Benefit

TODO: I have a working wasm64 libc and a correct implementation with 64 bit wasi interface WAVM. This prevents plugins to break

Implementation

TODO: Duplicate all existing 32 bit apis with a _wasm64 suffix. The pointer and size type being i64 with 64 bit apis.
https://github.com/trcrsired/WAVM/blob/fb912a528cb64291034fbdfa2367c727f6ea9eb7/Lib/WASI/WASIFile.cpp#L238

it also prevents breaking exist tools that assume address being 32 bit and prevent breaking of function validations or other changes.

Alternatives

Using existing APIs without a different name creates headache.

https://github.com/trcrsired/wasi-libc
https://github.com/trcrsired/wasi-libc/blob/main/libc-bottom-half/headers/public/wasi/api.h
https://github.com/trcrsired/wasi-libc/blob/b40e9997393fad87a98554230b50417aae62ec5b/libc-bottom-half/sources/__wasilibc_real.c#L16

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions