diff options
Diffstat (limited to 'elf/circleload1.c')
-rw-r--r-- | elf/circleload1.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/elf/circleload1.c b/elf/circleload1.c index 990ff84a84..7ac101a799 100644 --- a/elf/circleload1.c +++ b/elf/circleload1.c @@ -5,8 +5,6 @@ #include <stdlib.h> #include <string.h> -#define MAPS ((struct link_map *) _r_debug.r_map) - static int check_loaded_objects (const char **loaded) { @@ -26,10 +24,10 @@ check_loaded_objects (const char **loaded) printf(" Name\n"); printf(" --------------------------------------------------------\n"); - for (lm = MAPS; lm; lm = lm->l_next) + for (lm = _r_debug.r_map; lm; lm = lm->l_next) { if (lm->l_name && lm->l_name[0]) - printf(" %s, count = %d\n", lm->l_name, (int) lm->l_direct_opencount); + printf(" %s, count = %d\n", lm->l_name, (int) lm->l_opencount); if (lm->l_type == lt_loaded && lm->l_name) { int match = 0; @@ -74,9 +72,9 @@ load_dso (const char **loading, int undef, int flag) printf ("\nThis is what is in memory now:\n"); errors += check_loaded_objects (loaded); - printf ("Loading shared object %s: %s\n", loading[0], + printf ("Loading shared object %s: %s\n", loading [0], flag == RTLD_LAZY ? "RTLD_LAZY" : "RTLD_NOW"); - obj = dlopen (loading[0], flag); + obj = dlopen (loading [0], flag); if (obj == NULL) { if (flag == RTLD_LAZY) @@ -122,15 +120,15 @@ load_dso (const char **loading, int undef, int flag) } } - loaded[0] = loading[0]; - loaded[1] = loading[1]; - loaded[2] = loading[2]; + loaded[0] = loading [0]; + loaded[1] = loading [1]; + loaded[2] = loading [2]; } errors += check_loaded_objects (loaded); if (obj) { - printf ("UnLoading shared object %s\n", loading[0]); + printf ("UnLoading shared object %s\n", loading [0]); dlclose (obj); loaded[0] = NULL; loaded[1] = NULL; @@ -147,15 +145,15 @@ main (void) int errors = 0; const char *loading[3]; - loading[0] = "circlemod1a.so"; - loading[1] = "circlemod2a.so"; - loading[2] = "circlemod3a.so"; + loading [0] = "circlemod1a.so"; + loading [1] = "circlemod2a.so"; + loading [2] = "circlemod3a.so"; errors += load_dso (loading, 0, RTLD_LAZY); errors += load_dso (loading, 0, RTLD_NOW); - loading[0] = "circlemod1.so"; - loading[1] = "circlemod2.so"; - loading[2] = "circlemod3.so"; + loading [0] = "circlemod1.so"; + loading [1] = "circlemod2.so"; + loading [2] = "circlemod3.so"; errors += load_dso (loading, 1, RTLD_LAZY); errors += load_dso (loading, 1, RTLD_NOW); |