diff options
Diffstat (limited to 'elf/tst-unique3.cc')
-rw-r--r-- | elf/tst-unique3.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/elf/tst-unique3.cc b/elf/tst-unique3.cc new file mode 100644 index 0000000000..b2c95939a5 --- /dev/null +++ b/elf/tst-unique3.cc @@ -0,0 +1,23 @@ +#include "tst-unique3.h" +#include <cstdio> +#include "../dlfcn/dlfcn.h" + +int t = S<char>::i; + +int +main (void) +{ + std::printf ("%d %d\n", S<char>::i, t); + int result = S<char>::i++ != 1 || t != 1; + result |= in_lib (); + void *d = dlopen ("$ORIGIN/tst-unique3lib2.so", RTLD_LAZY); + int (*fp) (); + if (d == NULL || (fp = (int(*)()) dlsym (d, "in_lib2")) == NULL) + { + std::printf ("failed to get symbol in_lib2\n"); + return 1; + } + result |= fp (); + dlclose (d); + return result; +} |