1 #include <dlfcn.h>
2 #include <mcheck.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5 
6 
7 static int
do_test(void)8 do_test (void)
9 {
10   void *h;
11   int (*fp) (int);
12   int result;
13 
14   mtrace ();
15 
16   h = dlopen ("renamed.so", RTLD_LAZY);
17   if (h == NULL)
18     {
19       printf ("failed to load \"%s\": %s\n", "renamed.so", dlerror ());
20       exit (1);
21     }
22 
23   fp = dlsym (h, "in_renamed");
24   if (fp == NULL)
25     {
26       printf ("lookup of \"%s\" failed: %s\n", "in_renamed", dlerror ());
27       exit (1);
28     }
29 
30   result = fp (10);
31 
32   if (dlclose (h) != 0)
33     {
34       printf ("failed to close \"%s\": %s\n", "renamed.so", dlerror ());
35       exit (1);
36     }
37 
38   return result;
39 }
40 
41 #include <support/test-driver.c>
42