diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-03-10 18:04:16 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-03-10 18:04:16 +0000 |
commit | 8193034b1d0e3760dadb06b891a22cd4631c675a (patch) | |
tree | e1e1a283d6e2e1d9c10f2fed93d354d29a485a3a /elf/rtld.c | |
parent | 62c349c632dca31385304164ffcd6ca7b9f360cc (diff) | |
download | glibc-8193034b1d0e3760dadb06b891a22cd4631c675a.tar glibc-8193034b1d0e3760dadb06b891a22cd4631c675a.tar.gz glibc-8193034b1d0e3760dadb06b891a22cd4631c675a.tar.bz2 glibc-8193034b1d0e3760dadb06b891a22cd4631c675a.zip |
Update.
1998-03-10 17:54 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add _dl_debug_message.
* elf/dl-misc.c: Make _dl_debug_message a function. Print the PID
before every line.
* elf/fini.c: Correctly use new _dl_debug_message function.
* elf/init.c: Likewise.
* elf/dl-lookup.c: Likewise.
* sysdeps/unix/sysv/linux/libc-start.c: Likewise.
* elf/dl-load.c: Likewise. Add more debugging prints.
* elf/dl-reloc.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/dl-support.c: Add variables for debugging.
* elf/rtld.c: Likewise. Recognize new debug options.
* elf/link.h: Declare new variables.
* elf/dl-deps.c (_dl_map_object_deps): Little optimizations.
* sysdeps/unix/sysv/linux/sys/quota.h: Extract information from
kernel headers. Patch by a sun <asun@saul7.u.washington.edu>.
1998-03-11 00:16 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c (command_line_test): New function to allow
testing of specific cases from the command-line.
1998-03-10 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-init.c (_dl_init_next): Print nicer messages.
* elf/dl-fini.c (_dl_fini): Likewise.
* sysdeps/unix/sysv/linux/libc-start.c (__libc_start_main): Likewise.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index 2db6cf3613..8b72d07883 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -78,6 +78,9 @@ int _dl_debug_libs; int _dl_debug_impcalls; int _dl_debug_bindings; int _dl_debug_symbols; +int _dl_debug_versions; +int _dl_debug_reloc; +int _dl_debug_files; /* Set nonzero during loading and initialization of executable and libraries, cleared before the executable's entry point runs. This @@ -927,21 +930,21 @@ 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')) + if (strncmp (dl_debug, "files", 5) == 0 + && (issep (dl_debug[5]) || dl_debug[5] == '\0')) { - _dl_debug_bindings = 1; + _dl_debug_files = 1; _dl_debug_impcalls = 1; any_debug = 1; - dl_debug += 8; + dl_debug += 5; } - else if (strncmp (dl_debug, "libs", 4) == 0 - && (issep (dl_debug[4]) || dl_debug[4] == '\0')) + else if (strncmp (dl_debug, "bindings", 8) == 0 + && (issep (dl_debug[8]) || dl_debug[8] == '\0')) { - _dl_debug_libs = 1; + _dl_debug_bindings = 1; _dl_debug_impcalls = 1; any_debug = 1; - dl_debug += 4; + dl_debug += 8; } else if (strncmp (dl_debug, "help", 4) == 0 && (issep (dl_debug[4]) || dl_debug[4] == '\0')) @@ -950,15 +953,34 @@ process_dl_debug (char *dl_debug) Valid options for the LD_DEBUG environment variable are:\n\ \n\ bindings display information about symbol binding\n\ + files display processing of files and libraries\n\ help display this help message and exit\n\ libs display library search paths\n\ + reloc display relocation processing\n\ symbols display symbol table processing\n\ + versions display version dependencies\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, "libs", 4) == 0 + && (issep (dl_debug[4]) || dl_debug[4] == '\0')) + { + _dl_debug_libs = 1; + _dl_debug_impcalls = 1; + any_debug = 1; + dl_debug += 4; + } + else if (strncmp (dl_debug, "reloc", 4) == 0 + && (issep (dl_debug[5]) || dl_debug[5] == '\0')) + { + _dl_debug_reloc = 1; + _dl_debug_impcalls = 1; + any_debug = 1; + dl_debug += 5; + } else if (strncmp (dl_debug, "symbols", 7) == 0 && (issep (dl_debug[7]) || dl_debug[7] == '\0')) { @@ -967,6 +989,14 @@ a filename can be specified using the LD_DEBUG_OUTPUT environment variable.\n", any_debug = 1; dl_debug += 7; } + else if (strncmp (dl_debug, "versions", 8) == 0 + && (issep (dl_debug[8]) || dl_debug[8] == '\0')) + { + _dl_debug_versions = 1; + _dl_debug_impcalls = 1; + any_debug = 1; + dl_debug += 8; + } else { /* Display a warning and skip everything until next |