Commits

Roman Levenstein committed 8f5e525d2df
Add function to generate an llvm wrapper for performing a runtime function call. The generated wrapper simply invokes a corresponding entry point by means of an indirect call via a global the symbol, which is a function pointer referring to the implementation of a runtime function. Using such wrappers allows for invocations of runtime functions from dynamic libraries without the usual indirections via dynamic linker stubs. If the calling convention and the current target require a wrapper, it will be generated. Each wrapper gets a hidden linkage and is marked as ODR, so that a linker can merge all wrappers with the same name.