1 #include <dlfcn.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 
5 extern int call_me (void);
6 
7 int
call_me(void)8 call_me (void)
9 {
10   int (*fp) (void);
11 
12   fp = dlsym (RTLD_DEFAULT, "foo");
13   if (fp == NULL)
14     {
15       printf ("cannot get address of foo in global scope: %s\n", dlerror ());
16       exit (1);
17     }
18 
19   return fp () - 42;
20 }
21