diff options
Diffstat (limited to 'ld/testsuite/ld-elf/pr21964-2b.c')
-rw-r--r-- | ld/testsuite/ld-elf/pr21964-2b.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/pr21964-2b.c b/ld/testsuite/ld-elf/pr21964-2b.c new file mode 100644 index 0000000..5f638a3 --- /dev/null +++ b/ld/testsuite/ld-elf/pr21964-2b.c @@ -0,0 +1,27 @@ +#include <dlfcn.h> +#include <stdio.h> + +int main() +{ + void *dl; + void *sym; + int (*func) (void); + + dl = dlopen("pr21964-2.so", RTLD_LAZY); + if (!dl) + return 1; + + sym = dlsym(dl, "__start___verbose"); + if (!sym) + return 2; + + func = dlsym(dl, "foo"); + if (!func) + return 3; + if (func () == 0) + printf ("PASS\n"); + + dlclose(dl); + + return 0; +} |