rtld: properly handle root directory in load path (bug 30435)
[platform/upstream/glibc.git] / elf / tst-pathopt.c
1 #include <dlfcn.h>
2 #include <mcheck.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5
6
7 static int
8 do_test (void)
9 {
10   void *h;
11   int (*fp) (int);
12   int result;
13
14   mtrace ();
15
16   h = dlopen ("renamed.so", RTLD_LAZY);
17   if (h == NULL)
18     {
19       printf ("failed to load \"%s\": %s\n", "renamed.so", dlerror ());
20       exit (1);
21     }
22
23   fp = dlsym (h, "in_renamed");
24   if (fp == NULL)
25     {
26       printf ("lookup of \"%s\" failed: %s\n", "in_renamed", dlerror ());
27       exit (1);
28     }
29
30   result = fp (10);
31
32   if (dlclose (h) != 0)
33     {
34       printf ("failed to close \"%s\": %s\n", "renamed.so", dlerror ());
35       exit (1);
36     }
37
38   return result;
39 }
40
41 #include <support/test-driver.c>