[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