(root)/
glibc-2.38/
elf/
initfirst.c
       1  #include <dlfcn.h>
       2  #include <stdio.h>
       3  
       4  int
       5  main (void)
       6  {
       7    void *h = dlopen ("firstobj.so", RTLD_LAZY);
       8    void *f;
       9    if (! h)
      10      {
      11        printf ("cannot find firstobj.so: %s\n", dlerror ());
      12        return 1;
      13      }
      14    f = dlsym (h, "foo");
      15    if (! f)
      16      {
      17        printf ("cannot find symbol foo: %s\n", dlerror ());
      18        return 2;
      19      }
      20    ((void (*) (void)) f) ();
      21    return 0;
      22  }