1#include <dlfcn.h>
2#include <stdio.h>
3
4int
5xyzzy (void)
6{
7 printf (format: "%s:%s\n", __FILE__, __func__);
8 return 21;
9}
10
11int
12back (void)
13{
14 printf (format: "%s:%s\n", __FILE__, __func__);
15 return 1;
16}
17
18extern int foo (void);
19
20static int
21do_test (void)
22{
23 void *p = dlopen (file: "$ORIGIN/tst-deep1mod2.so", RTLD_LAZY|RTLD_DEEPBIND);
24
25 int (*f) (void) = dlsym (handle: p, name: "bar");
26 if (f == NULL)
27 {
28 puts (s: dlerror ());
29 return 1;
30 }
31
32 return foo () + f ();
33}
34
35#include <support/test-driver.c>
36

source code of glibc/elf/tst-deep1.c