diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-08-15 07:06:23 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-08-15 07:06:23 +0000 |
commit | 07a3d63e524f13dd09e14adb0ac2623f6600401d (patch) | |
tree | 7a19ce309262c7d2d7fa26ad15df1aeaa969b9f4 /elf/multiload.c | |
parent | b8fd550293431d4df42b281fc868ef0ab80e822b (diff) | |
download | glibc-07a3d63e524f13dd09e14adb0ac2623f6600401d.tar.gz glibc-07a3d63e524f13dd09e14adb0ac2623f6600401d.tar.xz glibc-07a3d63e524f13dd09e14adb0ac2623f6600401d.zip |
Update.
2000-08-15 Ulrich Drepper <drepper@redhat.com> * elf/multiload.c: Add mtrace call. Call dlclose for all handles and free wd. * elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if there is already one. * elf/dl-close.c: Pretty print.
Diffstat (limited to 'elf/multiload.c')
-rw-r--r-- | elf/multiload.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/elf/multiload.c b/elf/multiload.c index 724c1ed562..3727d97f6a 100644 --- a/elf/multiload.c +++ b/elf/multiload.c @@ -1,5 +1,6 @@ #include <dlfcn.h> #include <errno.h> +#include <mcheck.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -16,6 +17,8 @@ main (void) char *base; char *buf; + mtrace (); + /* Change to the binary directory. */ if (chdir (OBJDIR) != 0) { @@ -68,6 +71,29 @@ main (void) exit (EXIT_FAILURE); } + if (dlclose (a) != 0) + { + puts ("closing `a' failed"); + exit (EXIT_FAILURE); + } + if (dlclose (b) != 0) + { + puts ("closing `a' failed"); + exit (EXIT_FAILURE); + } + if (dlclose (c) != 0) + { + puts ("closing `a' failed"); + exit (EXIT_FAILURE); + } + if (dlclose (d) != 0) + { + puts ("closing `a' failed"); + exit (EXIT_FAILURE); + } + + free (wd); + return 0; } |