Mention IFUNC enhancements to testsuite in NEWS.
[platform/upstream/glibc.git] / elf / tst-tls18.c
1 #include <dlfcn.h>
2 #include <stdio.h>
3
4 static int
5 do_test (void)
6 {
7   char modname[sizeof "tst-tlsmod18aXX.so"];
8   void *h[20];
9   for (int i = 0; i < 20; i++)
10     {
11       snprintf (modname, sizeof modname, "tst-tlsmod18a%d.so", i);
12       h[i] = dlopen (modname, RTLD_LAZY);
13       if (h[i] == NULL)
14         {
15           printf ("unexpectedly failed to open %s", modname);
16           exit (1);
17         }
18     }
19
20   for (int i = 0; i < 20; i++)
21     {
22       int (*fp) (void) = (int (*) (void)) dlsym (h[i], "test");
23       if (fp == NULL)
24         {
25           printf ("cannot find test in tst-tlsmod18a%d.so", i);
26           exit (1);
27         }
28
29       if (fp ())
30         exit (1);
31     }
32
33   return 0;
34 }
35
36 #define TEST_FUNCTION do_test ()
37 #include "../test-skeleton.c"