3 #include <gnu/lib-names.h>
5 #define TEST_SO "$ORIGIN/tst-dlmopen1mod.so"
10 void *h
= dlopen (LIBC_SO
, RTLD_LAZY
|RTLD_NOLOAD
);
13 printf ("cannot get handle for %s: %s\n", LIBC_SO
, dlerror ());
18 if (dlinfo (h
, RTLD_DI_LMID
, &ns
) != 0)
20 printf ("dlinfo for %s in %s failed: %s\n",
21 LIBC_SO
, __func__
, dlerror ());
27 printf ("namespace for %s not LM_ID_BASE\n", LIBC_SO
);
33 printf ("dlclose for %s in %s failed: %s\n",
34 LIBC_SO
, __func__
, dlerror ());
38 h
= dlmopen (LM_ID_NEWLM
, TEST_SO
, RTLD_LAZY
);
41 printf ("cannot get handle for %s: %s\n",
42 "tst-dlmopen1mod.so", dlerror ());
47 if (dlinfo (h
, RTLD_DI_LMID
, &ns
) != 0)
49 printf ("dlinfo for %s in %s failed: %s\n",
50 "tst-dlmopen1mod.so", __func__
, dlerror ());
56 printf ("namespace for %s is LM_ID_BASE\n", TEST_SO
);
60 int (*fct
) (Lmid_t
) = dlsym (h
, "foo");
63 printf ("could not find %s: %s\n", "foo", dlerror ());
72 printf ("dlclose for %s in %s failed: %s\n",
73 TEST_SO
, __func__
, dlerror ());
80 #define TEST_FUNCTION do_test ()
81 #include "../test-skeleton.c"