about summary refs log tree commit diff
path: root/elf/dl-deps.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-03-24 10:14:22 -0700
committerUlrich Drepper <drepper@redhat.com>2010-03-24 10:14:22 -0700
commit4ad43b62d6b893e73d5af72565f23c064b9c59b5 (patch)
tree16f1d6f45ddbed3a8a17a8f8f29db240ef13b063 /elf/dl-deps.c
parent9ac9129d496d27b93c6fdfe0a22b68b3e4ee55df (diff)
downloadglibc-4ad43b62d6b893e73d5af72565f23c064b9c59b5.tar.gz
glibc-4ad43b62d6b893e73d5af72565f23c064b9c59b5.tar.xz
glibc-4ad43b62d6b893e73d5af72565f23c064b9c59b5.zip
Fix handling of STB_GNU_UNIQUE in LD_TRACE_PRELINKING
Diffstat (limited to 'elf/dl-deps.c')
-rw-r--r--elf/dl-deps.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 34c6024efa..a58de5c985 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -1,5 +1,5 @@
 /* Load the dependencies of a mapped object.
-   Copyright (C) 1996-2003, 2004, 2005, 2006, 2007
+   Copyright (C) 1996-2003, 2004, 2005, 2006, 2007, 2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -554,7 +554,12 @@ Filters not supported with LD_TRACE_PRELINKING"));
 	  cnt = _dl_build_local_scope (l_initfini, l);
 	  assert (cnt <= nlist);
 	  for (j = 0; j < cnt; j++)
-	    l_initfini[j]->l_reserved = 0;
+	    {
+	      l_initfini[j]->l_reserved = 0;
+	      if (j && __builtin_expect (l_initfini[j]->l_info[DT_SYMBOLIC]
+					 != NULL, 0))
+		l->l_symbolic_in_local_scope = true;
+	    }
 
 	  l->l_local_scope[0] =
 	    (struct r_scope_elem *) malloc (sizeof (struct r_scope_elem)