text: #include <dlfcn.h>
  #include <stdio.h>
  #include <stdlib.h>
  
  extern int call_me (void);
  
  int
  call_me (void)
  {
    int (*fp) (void);
  
    fp = dlsym (RTLD_DEFAULT, "foo");
    if (fp == NULL)
      {
        printf ("cannot get address of foo in global scope: %s\n", dlerror ());
        exit (1);
      }
  
    return fp () - 42;
  }
  