Merged
Conversation
Contributor
Author
|
Note: This PR updates the the fiber-c submodule to wasmfx/fiber-c#3, this needs to be updated before this PR can land |
Contributor
Author
|
I've now updated the PR to use the flag added to the C API in wasmfx/wasmfxtime#173, so that we no longer need to remove the |
dhil
approved these changes
May 15, 2024
frank-emrich
added a commit
to wasmfx/wasmfxtime
that referenced
this pull request
May 15, 2024
The C API for using the wasmtime linker currently only gives access to the `allow_shadowing` setting of the linker, but not to the `allow_unknown_exports` setting. However, the latter setting needs to be enabled in order to allow exporting the global `__stack_pointer`. This is what's causing the issue described in wasmfx/waeio#2. (Alternatively, we may add `__stack_pointer` to the list of blessed globals in the `command` function in crates/wasmtime/src/runtime/linker.rs, but the comments there suggest that new items shouldn't be added to that list. Therefore, just making this setting accessible in the C API seems less controversial.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This draft PR demonstrates how to integrate the shadow stack support into the waeio httpserver example.
One caveat is that the way we currently instantiate the module using the wasmtime C API causes a failure when the
__exported_shadow_stack_pointerexport is present in the finalwasmfile.As a temporary workaround, this PR adds more textual manipulation hackery to remove the export from the final wasm file. However, this only works for the
httpserver_host_wasmfx.wasmtarget: In thehttpserver_wasio_host_wasmfx.wasmtarget, the reference interpreter fails during the wat <-> wasm conversion, which I need to investigate further.