xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.base/jit-elf-dlmain.c (revision 7d62b00eb9ad855ffcd7da46b41e23feb5476fac)
1*7d62b00eSchristos #include <dlfcn.h>
2*7d62b00eSchristos #include <stdio.h>
3*7d62b00eSchristos 
main(int argc,char * argv[])4*7d62b00eSchristos int 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