aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/jit-elf-dlmain.c
blob: 03b8d3cc284a570941b4651b4d4acd48d680cee1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <dlfcn.h>
#include <stdio.h>

int main (int argc, char *argv[])
{
  /* jit_libname is updated by jit-so.exp  */
  const char *jit_libname = "jit-dlmain-so.so";
  void *h;
  int (*p_main) (int, char **);

  h = NULL;  /* break here before-dlopen  */
  h = dlopen (jit_libname, RTLD_LAZY);
  if (h == NULL) return 1;

  p_main = dlsym (h, "jit_dl_main");
  if (p_main == NULL) return 2;

  h = h;  /* break here after-dlopen */
  return (*p_main) (argc, argv);
}