-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing function signature when using EM_ASYNC_JS and ASYNCIFY=2 #17890
Comments
I think I ran into this for wasm64 too. Do we have enough information to generate those signatures? I'm guessing not... we do have the C signature but its hard to go from that to a |
Ah yes, here is the same issue but for wasm64: #16975 |
Yeah, if we do it only in the preprocessor that would be brittle. I was thinking we could do something like embind and build an array of the mapped types at compile time and extract them in binaryen. However, when I started looking into that I think I found a better way. We already have the signature of the import defined in Wasm, so we could modify the code that extracts the JS functions and have it also extract the signature of the import. |
Though I guess those signatures won't match up to the C signatures, but they'd be enough for what I need them for in asyncify. |
Error message:
Aborted(Assertion failed: Missing __sig for __asyncjs__promise42)
Building with:
emcc -sASSERTIONS -sENVIRONMENT=web -g3 -sASYNCIFY=2 -sEXIT_RUNTIME=1 main.cpp -o a.out.html
main.cpp
I need to look into why the signatures aren't being generated for EM_ASYNC_JS functions.
The text was updated successfully, but these errors were encountered: