(root)/
glibc-2.38/
dlfcn/
tststatic.c
       1  #include <dlfcn.h>
       2  #include <stdio.h>
       3  #include <stdlib.h>
       4  
       5  static int
       6  do_test (void)
       7  {
       8    void *handle;
       9    int (*test) (int);
      10    int res;
      11  
      12    handle = dlopen ("modstatic.so", RTLD_LAZY);
      13    if (handle == NULL)
      14      {
      15        printf ("%s\n", dlerror ());
      16        exit(1);
      17      }
      18  
      19    test = dlsym (handle, "test");
      20    if (test == NULL)
      21      {
      22        printf ("%s\n", dlerror ());
      23        exit(1);
      24      }
      25  
      26    res = test (2);
      27    if (res != 4)
      28      {
      29        printf ("Got %i, expected 4\n", res);
      30        exit (1);
      31      }
      32  
      33    dlclose (handle);
      34    return 0;
      35  }
      36  
      37  #define TEST_FUNCTION   do_test ()
      38  #include "../test-skeleton.c"