__shimcall__ const void *OsModuleSymGet(const PCHAR mod, const PCHAR sym) { const void *addr; //printk(KERN_DEBUG "%s(mod=%s, sym=%s)\n", __FUNCTION__, mod, sym); ASSERT(OsContextAllowsSleeping()); #ifdef HAVE_INTER_MODULE addr = inter_module_get_request(sym, mod); #else request_module(mod); addr = (const void *)get_module_symbol(mod, sym); #endif //printk(KERN_DEBUG "%s(%s, %s): addr=0x%p\n", __FUNCTION__, mod, sym, addr); return addr; }
static void so_loader(char* fname, dfsch_object_t* env, int as_toplevel){ dfsch_load_so(env, fname, get_module_symbol(fname), as_toplevel); }