| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include <dlfcn.h>
- #include <stdio.h>
- /* Number of rounds we perform the test. */
- #define TEST_ROUNDS 10
- static const char unknown[] = "a-file-with-this-name-does-not-exist";
- static const char exists[] = "failtestmod.so";
- int
- main (void)
- {
- int i;
- setvbuf (stdout, NULL, _IONBF, 0);
- for (i = 0; i < TEST_ROUNDS; ++i)
- {
- void *dsc;
- printf ("Round %d: Try loading \"%s\"\n", i, unknown);
- dsc = dlopen (unknown, RTLD_NOW);
- if (dsc != NULL)
- {
- printf ("We found a file of name \"%s\": this should not happen\n",
- unknown);
- return 1;
- }
- printf ("Round %d: loading \"%s\" failed\n", i, unknown);
- /* Don't use `dlerror', just load an existing file. */
- dsc = dlopen (exists, RTLD_NOW);
- if (dsc == NULL)
- {
- printf ("Could not load \"%s\": %s\n", exists, dlerror ());
- return 1;
- }
- printf ("Round %d: Loaded \"%s\"\n", i, exists);
- dlclose (dsc);
- printf ("Round %d: Unloaded \"%s\"\n", i, exists);
- }
- return 0;
- }
- extern void foo (void);
- void
- foo (void)
- {
- }
|