LiveSplit / livesplit-core

livesplit-core is a library that provides a lot of functionality for creating a speedrun timer.

Home Page:https://livesplit.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[ASR] Dynamic Linking

apple1417 opened this issue · comments

Currently, if you link against libc (or any other standard library), everything needs to be statically included in the same executable. It would be nice to dynamically link instead, so that this code isn't unnecessarily duplicated in every single autosplitter.

wasmtime seems to have a concept for that: https://docs.wasmtime.dev/examples-rust-linking.html

So it seems somewhat doable. I don't know how you would do this from a C compiler perspective. If you figure out some way to do that splitting, then we can look into making it work with wasmtime.

there's the potential for different implementations of libc to have a different ABI despite being otherwise standards compliant (big example is the incompatabilities between musl and glibc)
i also hold the opinion that an auto splitter should come with everything it needs to run barring the runtime itself