Stream: git-wasmtime

Topic: wasmtime / PR #11553 Disallow loading code on `x86_64-unk...


view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:42):

alexcrichton opened PR #11553 from alexcrichton:float-abis-are-weird to bytecodealliance:main:

... And then also add an escape hatch to allow loading code. This commit is the culmination of discussion on #11506 with a proposed resolution for Wasmtime. The resolution being:

The basic tl;dr; is that we can't detect in stable Rust what float ABI is being used so therefore we pessimistically assume that x86_64-unknown-none is using a soft-float ABI. This is incompatible with libcalls unless they aren't actually called which is only possible when sufficiently many target features are enabled.

The goal of this commit is to be a relatively low-effort way to place a roadblock in the way of "ok ABIs are weird" but at the same time enable getting around the roadblock easily. Additionally the roadblock points to documentation about itself to learn more about what's going on here.

Closes #11506

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:42):

alexcrichton requested dicej for a review on PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:42):

alexcrichton requested wasmtime-core-reviewers for a review on PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:42):

alexcrichton requested wasmtime-default-reviewers for a review on PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:43):

alexcrichton commented on PR #11553:

For posterity @fitzgen I tried to get min-platform working on aarch64-unknown-none but there's relocation errors about compiling libembedding.a (Rust code for aarch64-unknown-none) into a Linux shared library. I don't know how to resolve the errors without first going off and memorizing a bunch of relocation/shared-object things about aarch64...

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 19:44):

alexcrichton updated PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 20:14):

alexcrichton updated PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 21:03):

cfallin submitted PR review:

Thanks for following up from our Cranelift meeting discussion! A minor documentation thought below in the example but otherwise this looks workable for us at least...

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 21:03):

cfallin created PR review comment:

s/affect/effect/

It does likely have an affect, namely that it's mildly sad that it has to exist...

(with apologies for the spelling pedantry!)

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 21:03):

cfallin created PR review comment:

Looking this up to verify -- this has existed since 2013 (Haswell) on Intel chips and 2012 (Piledriver) on AMD chips so it's probably fine for anyone wanting to actually run the example on a semi-modern dev machine or server. Perhaps we want to put a comment here ("Note: these features should be present on Intel Haswell (2013) / AMD Piledriver (2012) or later; make sure to run this example on such a platform.") next to the config?

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 21:26):

jsturtevant submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 21:26):

jsturtevant created PR review comment:

All of these features are required to bypass the libcalls or just a subset?

view this post on Zulip Wasmtime GitHub notifications bot (Aug 27 2025 at 23:45):

github-actions[bot] commented on PR #11553:

Label Messager: wasmtime:config

It looks like you are changing Wasmtime's configuration options. Make sure to
complete this check list:

[fuzzing-config]: https://github.com/bytecodealliance/wasmtime/blob/ca0e8d0a1d8cefc0496dba2f77a670571d8fdcab/crates/fuzzing/src/generators.rs#L182-L194
[fuzzing-docs]: https://docs.wasmtime.dev/contributing-fuzzing.html


<details>

To modify this label's message, edit the <code>.github/label-messager/wasmtime-config.md</code> file.

To add new label messages or remove existing label messages, edit the
<code>.github/label-messager.json</code> configuration file.

Learn more.

</details>

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 15:59):

alexcrichton updated PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 16:00):

alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 16:00):

alexcrichton created PR review comment:

SE4.1 is sufficient if you're not using relaxed-simd, but with relaxed-simd you'll also need FMA.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 16:00):

alexcrichton has enabled auto merge for PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 19:00):

alexcrichton updated PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 19:01):

alexcrichton has enabled auto merge for PR #11553.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 28 2025 at 19:54):

alexcrichton merged PR #11553.


Last updated: Dec 06 2025 at 06:05 UTC