|
Packit |
6c4009 |
#include "tst-unique3.h"
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#include <cstdio>
|
|
Packit |
6c4009 |
#include "../dlfcn/dlfcn.h"
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
int t = S<char>::i;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
int
|
|
Packit |
6c4009 |
main (void)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
std::printf ("%d %d\n", S<char>::i, t);
|
|
Packit |
6c4009 |
int result = S<char>::i++ != 1 || t != 1;
|
|
Packit |
6c4009 |
result |= in_lib ();
|
|
Packit |
6c4009 |
void *d = dlopen ("$ORIGIN/tst-unique3lib2.so", RTLD_LAZY);
|
|
Packit |
6c4009 |
int (*fp) ();
|
|
Packit |
6c4009 |
if (d == NULL || (fp = (int(*)()) dlsym (d, "in_lib2")) == NULL)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
std::printf ("failed to get symbol in_lib2\n");
|
|
Packit |
6c4009 |
return 1;
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
result |= fp ();
|
|
Packit |
6c4009 |
dlclose (d);
|
|
Packit |
6c4009 |
return result;
|
|
Packit |
6c4009 |
}
|