summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2020-12-20 12:00:17 +0100
committerThorsten Behrens <thorsten.behrens@allotropia.de>2021-05-05 21:31:34 +0200
commit77886666512f2387d3ed4910e3f062a891e2a52b (patch)
tree743dd54e6b3de001f7a34c1911dd077b3466d17d
parenta95c033b500f7fed918ddb9c142246afd5ea746c (diff)
Drop cairo debugging stuff and update README.wasm
Change-Id: Ica8e115ee19c7777f520fe2c41a88efa07de8b13
-rw-r--r--README.wasm30
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