diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-03-09 18:30:58 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-03-09 18:30:58 +0000 |
commit | 0c367d923b58c146c30acc560c18097bacae91c4 (patch) | |
tree | c5691885d2c97733e1dbb294f919245084495466 /elf/rtld.c | |
parent | 19212f875d0dd43a8925c68e7b806561b4cabbb9 (diff) | |
download | glibc-0c367d923b58c146c30acc560c18097bacae91c4.tar glibc-0c367d923b58c146c30acc560c18097bacae91c4.tar.gz glibc-0c367d923b58c146c30acc560c18097bacae91c4.tar.bz2 glibc-0c367d923b58c146c30acc560c18097bacae91c4.zip |
Update.
1998-03-09 18:21 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c (_dl_debug_bindings): Add definition.
* elf/rtld.c (_dl_debug_bindings): Add definition.
(process_dl_debug): Recognize bindings option. Update help message.
* elf/link.h (struct link_map): Add l_versyms member.
(_dl_debug_bindings): Add declaration.
* elf/version.c (_dl_check_map_versions): Initialize l_versyms.
* elf/dl-object.c (_dl_new_object): Don't initialize l_rpath_dirs
and l_reloc_result.
* elf/dl-lookup.c (do_lookup): Define verstab from l_versyms.
(sym_val): Remove a member, add m as link_map.
(do_lookup): Return result appropriately.
(_dl_lookup_symbol): If _dl_debug_bindings is defined print message.
Call do_lookup correctly.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index c466fa28c9..2cb11bb059 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -76,6 +76,7 @@ const char *_dl_profile_output; struct link_map *_dl_profile_map; int _dl_debug_libs; int _dl_debug_impcalls; +int _dl_debug_bindings; /* Set nonzero during loading and initialization of executable and libraries, cleared before the executable's entry point runs. This @@ -928,6 +929,14 @@ process_dl_debug (char *dl_debug) ++dl_debug; if (*dl_debug != '\0') { + if (strncmp (dl_debug, "bindings", 8) == 0 + && (issep (dl_debug[8]) || dl_debug[8] == '\0')) + { + _dl_debug_bindings = 1; + _dl_debug_impcalls = 1; + any_debug = 1; + dl_debug += 8; + } if (strncmp (dl_debug, "libs", 4) == 0 && (issep (dl_debug[4]) || dl_debug[4] == '\0')) { @@ -942,8 +951,13 @@ process_dl_debug (char *dl_debug) _dl_sysdep_message ("\ Valid options for the LD_DEBUG environment variable are:\n\ \n\ - help display this help message and exit - libs display library search paths\n", NULL); + bindings display information about symbol binding\n\ + help display this help message and exit\n\ + libs display library search paths\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 |