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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions