1*7d62b00eSchristos #include <dlfcn.h> 2*7d62b00eSchristos #include <stdio.h> 3*7d62b00eSchristos main(int argc,char * argv[])4*7d62b00eSchristosint main (int argc, char *argv[]) 5*7d62b00eSchristos { 6*7d62b00eSchristos /* jit_libname is updated by jit-so.exp */ 7*7d62b00eSchristos const char *jit_libname = "jit-dlmain-so.so"; 8*7d62b00eSchristos void *h; 9*7d62b00eSchristos int (*p_main) (int, char **); 10*7d62b00eSchristos 11*7d62b00eSchristos h = NULL; /* break here before-dlopen */ 12*7d62b00eSchristos h = dlopen (jit_libname, RTLD_LAZY); 13*7d62b00eSchristos if (h == NULL) return 1; 14*7d62b00eSchristos 15*7d62b00eSchristos p_main = dlsym (h, "jit_dl_main"); 16*7d62b00eSchristos if (p_main == NULL) return 2; 17*7d62b00eSchristos 18*7d62b00eSchristos h = h; /* break here after-dlopen */ 19*7d62b00eSchristos return (*p_main) (argc, argv); 20*7d62b00eSchristos } 21