summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/shlibloadtest.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/shlibloadtest.c b/test/shlibloadtest.c
index aad90e6533..53714aa125 100644
--- a/test/shlibloadtest.c
+++ b/test/shlibloadtest.c
@@ -48,7 +48,12 @@ typedef void *SHLIB_SYM;
static int shlib_load(const char *filename, SHLIB *lib)
{
- *lib = dlopen(filename, RTLD_GLOBAL | RTLD_LAZY);
+ int dl_flags = (RTLD_GLOBAL|RTLD_LAZY);
+#ifdef _AIX
+ if (filename[strlen(filename) - 1] == ')')
+ dl_flags |= RTLD_MEMBER;
+#endif
+ *lib = dlopen(filename, dl_flags);
return *lib == NULL ? 0 : 1;
}