I'm building a compiler and a virtual machine for executing my byte code. The language allows to bind external C functions, which may be defined in some external shared object, as well as the main compiler/VM binary (some essential language built-ins).
I know I can dynamically bind symbols within the main executable with dlopen(NULL, ...), however NOT after I run strip on the binary. I have the following questions then:
- Is there a way to do this on a strip'ed binary?
- How portable is this feature across UNIX systems in general?
- Is it possible to do the same trick on Windows somehow?
- Any alternatives ways of binding dynamically within the main executable?