From 8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 19 Mar 2005 21:04:10 +0000 Subject: Updated to fedora-glibc-20050319T1907 --- elf/unload4.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 elf/unload4.c (limited to 'elf/unload4.c') diff --git a/elf/unload4.c b/elf/unload4.c new file mode 100644 index 0000000000..6e171a22e0 --- /dev/null +++ b/elf/unload4.c @@ -0,0 +1,48 @@ +#include +#include +#include + +int +main (void) +{ +#ifdef M_PERTURB + mallopt (M_PERTURB, 0xaa); +#endif + + void *h; + int (*fn) (int); + h = dlopen ("unload4mod1.so", RTLD_LAZY); + if (h == NULL) + { + puts ("1st dlopen failed"); + return 1; + } + fn = dlsym (h, "foo"); + if (fn == NULL) + { + puts ("dlsym failed"); + return 1; + } + int n = fn (10); + if (n != 28) + { + printf ("foo (10) returned %d != 28\n", n); + return 1; + } + dlclose (h); + h = dlopen ("unload4mod3.so", RTLD_LAZY); + fn = dlsym (h, "mod3fn2"); + if (fn == NULL) + { + puts ("second dlsym failed"); + return 1; + } + n = fn (10); + if (n != 22) + { + printf ("mod3fn2 (10) returned %d != 22\n", n); + return 1; + } + dlclose (h); + return 0; +} -- cgit v1.2.3