aboutsummaryrefslogtreecommitdiff
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.zip
glibc-4ad43b62d6b893e73d5af72565f23c064b9c59b5.tar.gz
glibc-4ad43b62d6b893e73d5af72565f23c064b9c59b5.tar.bz2
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 34c6024..a58de5c 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)