summary refs log tree commit diff
path: root/elf/dl-deps.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-03-10 18:04:16 +0000
committerUlrich Drepper <drepper@redhat.com>1998-03-10 18:04:16 +0000
commit8193034b1d0e3760dadb06b891a22cd4631c675a (patch)
treee1e1a283d6e2e1d9c10f2fed93d354d29a485a3a /elf/dl-deps.c
parent62c349c632dca31385304164ffcd6ca7b9f360cc (diff)
downloadglibc-8193034b1d0e3760dadb06b891a22cd4631c675a.tar.gz
glibc-8193034b1d0e3760dadb06b891a22cd4631c675a.tar.xz
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/dl-deps.c')
-rw-r--r--elf/dl-deps.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index c069fab0c8..76e71d78cb 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -139,7 +139,7 @@ _dl_map_object_deps (struct link_map *map,
     {
       struct link_map *l = runp->map;
 
-      if (l->l_info[AUXTAG] || l->l_info[FILTERTAG] || l->l_info[DT_NEEDED])
+      if (l->l_info[DT_NEEDED] || l->l_info[AUXTAG] || l->l_info[FILTERTAG])
 	{
 	  const char *strtab = ((void *) l->l_addr
 				+ l->l_info[DT_STRTAB]->d_un.d_ptr);
@@ -228,12 +228,11 @@ _dl_map_object_deps (struct link_map *map,
 		newp = alloca (sizeof (struct list));
 
 		/* Copy the content of the current entry over.  */
-		memcpy (newp, orig, sizeof (*newp));
+		orig->dup = memcpy (newp, orig, sizeof (*newp));
 
 		/* Initialize new entry.  */
 		orig->done = 0;
 		orig->map = args.aux;
-		orig->dup = newp;
 
 		/* We must handle two situations here: the map is new,
 		   so we must add it in all three lists.  If the map
@@ -347,7 +346,7 @@ _dl_map_object_deps (struct link_map *map,
       if (runp->done)
 	do
 	  runp = runp->unique;
-	while (runp && runp->done);
+	while (runp != NULL && runp->done);
     }
 
   /* Store the search list we built in the object.  It will be used for