diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-12-20 12:00:17 +0100 |
---|---|---|
committer | Thorsten Behrens <thorsten.behrens@allotropia.de> | 2021-05-05 21:31:34 +0200 |
commit | 77886666512f2387d3ed4910e3f062a891e2a52b (patch) | |
tree | 743dd54e6b3de001f7a34c1911dd077b3466d17d | |
parent | a95c033b500f7fed918ddb9c142246afd5ea746c (diff) |
Drop cairo debugging stuff and update README.wasm
Change-Id: Ica8e115ee19c7777f520fe2c41a88efa07de8b13
-rw-r--r-- | README.wasm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/README.wasm b/README.wasm index a09d4d61762c..525a9baf1864 100644 --- a/README.wasm +++ b/README.wasm @@ -191,6 +191,36 @@ but I found it a god summary of problems to expect: https://iandouglasscott.com/2019/07/18/experimenting-with-webassembly-dynamic-linking-with-clang/ += Ideas for an UNO bridge implementation = + +My post to Discord #emscripten: "I'm looking for a way to do an abstract call +from one WASM C++ object to an other WASM C++ object, so like FFI / WebIDL, +just within WASM. All my code is C++ and normally I have bridge code, with +assembler to implement the function call /RTTI and exception semantics of the +specified platform. Code is at +https://cgit.freedesktop.org/libreoffice/core/tree/bridges/source/cpp_uno. +I've read a bit about call_indirect and stuff, but I don't have yet a good +idea, how I could implement this (and there is an initial feature/wasm branch +for the interested). I probably need some fixed lookup table, like on iOS, +because AFAIK you can't dynamically generate code in WASM. So any pointers or +ideas for an implementation? I can disassemble some minimalistic WASM example +and read clang code for WASM_EmscriptenInvoke, but if there were some +standalone code or documentation I'm missing, that would be nice to know." + +We basically would go the same way then the other backends. Write the bridge in +C++, which is probably largely boilerplate code, but the function call in WAT +(https://github.com/WebAssembly/wabt) based on the LLVM WASM calling +conventions in WASM_EmscriptenInvoke. I didn't get a reply to that question for +hours. Maybe I'll open an Emscripten issue, if we really have to implement +this. + + += Tools for problem diagnosis = + +* nm -s should list the symbols in the archive, based on the index generated by ranlib. + If you get linking errors that archive has no index. + + = Mixed information, links, problems, TODO = More info on Qt WASM emscripten pthreads: https://wiki.qt.io/Qt_for_WebAssembly#Multithreading_Support |