about summary refs log tree commit diff
path: root/REORG.TODO/elf/tst-deep1.c
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/elf/tst-deep1.c')
-rw-r--r--REORG.TODO/elf/tst-deep1.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/REORG.TODO/elf/tst-deep1.c b/REORG.TODO/elf/tst-deep1.c
new file mode 100644
index 0000000000..97dce7ea4d
--- /dev/null
+++ b/REORG.TODO/elf/tst-deep1.c
@@ -0,0 +1,35 @@
+#include <dlfcn.h>
+#include <stdio.h>
+
+int
+xyzzy (void)
+{
+  printf ("%s:%s\n", __FILE__, __func__);
+  return 21;
+}
+
+int
+back (void)
+{
+  printf ("%s:%s\n", __FILE__, __func__);
+  return 1;
+}
+
+extern int foo (void);
+
+static int
+do_test (void)
+{
+  void *p = dlopen ("$ORIGIN/tst-deep1mod2.so", RTLD_LAZY|RTLD_DEEPBIND);
+
+  int (*f) (void) = dlsym (p, "bar");
+  if (f == NULL)
+    {
+      puts (dlerror ());
+      return 1;
+    }
+
+  return foo () + f ();
+}
+
+#include <support/test-driver.c>