summaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-03-10 00:16:33 +0000
committerUlrich Drepper <drepper@redhat.com>1998-03-10 00:16:33 +0000
commitde100ca78f839854b10a04bf34ef57eb45ac77ae (patch)
tree343ae19eaa536f722a5288da1e9890a78014ae2f /elf/rtld.c
parent1393c745813e58e6bfbcb728b471765c4aa6c36f (diff)
Update.
1998-03-10 00:10 Ulrich Drepper <drepper@cygnus.com> * elf/dl-lookup.c (do_lookup): Remove list and n parameter and add instead scope. If debugging display information about symbol resolving. (_dl_lookup_symbol): Call do_lookup with correct parameters. (_dl_lookup_symbol_skip): Likewise. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-support.c: Define _dl_debug_symbols. * elf/link.h: Add declaration for _dl_debug_symbols. * elf/rtld.c: Define _dl_debug_symbols. (process_dl_debug): Recognize symbols option.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 2cb11bb059..565f9caaaa 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -77,6 +77,7 @@ struct link_map *_dl_profile_map;
int _dl_debug_libs;
int _dl_debug_impcalls;
int _dl_debug_bindings;
+int _dl_debug_symbols;
/* Set nonzero during loading and initialization of executable and
libraries, cleared before the executable's entry point runs. This
@@ -937,7 +938,7 @@ process_dl_debug (char *dl_debug)
any_debug = 1;
dl_debug += 8;
}
- if (strncmp (dl_debug, "libs", 4) == 0
+ else if (strncmp (dl_debug, "libs", 4) == 0
&& (issep (dl_debug[4]) || dl_debug[4] == '\0'))
{
_dl_debug_libs = 1;
@@ -954,12 +955,21 @@ Valid options for the LD_DEBUG environment variable are:\n\
bindings display information about symbol binding\n\
help display this help message and exit\n\
libs display library search paths\n\
+ symbols display symbol table processing\n\
\n\
To direct the debugging output into a file instead of standard output\n\
a filename can be specified using the LD_DEBUG_OUTPUT environment variable.\n",
NULL);
_exit (0);
}
+ else if (strncmp (dl_debug, "symbols", 7) == 0
+ && (issep (dl_debug[7]) || dl_debug[7] == '\0'))
+ {
+ _dl_debug_symbols = 1;
+ _dl_debug_impcalls = 1;
+ any_debug = 1;
+ dl_debug += 7;
+ }
else
/* Skip everything until next separator. */
do