Blame dlfcn/bug-atexit1.c
|
Packit |
6c4009 |
/* Derived from a test case in
|
|
Packit |
6c4009 |
https://sourceware.org/bugzilla/show_bug.cgi?id=1158. */
|
|
Packit |
6c4009 |
#include <dlfcn.h>
|
|
Packit |
6c4009 |
#include <stdio.h>
|
|
Packit |
6c4009 |
#include <stdlib.h>
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
static int
|
|
Packit |
6c4009 |
do_test (void)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
for (int i = 0; i < 2; ++i)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
void *dso = dlopen ("$ORIGIN/bug-atexit1-lib.so", RTLD_NOW);
|
|
Packit |
6c4009 |
void (*fn) (void) = (void (*) (void)) dlsym (dso, "foo");
|
|
Packit |
6c4009 |
fn ();
|
|
Packit |
6c4009 |
dlclose (dso);
|
|
Packit |
6c4009 |
puts ("round done");
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
return 0;
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#define TEST_FUNCTION do_test ()
|
|
Packit |
6c4009 |
#include "../test-skeleton.c"
|