diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-03-24 10:14:22 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-03-24 10:14:22 -0700 |
commit | 4ad43b62d6b893e73d5af72565f23c064b9c59b5 (patch) | |
tree | 16f1d6f45ddbed3a8a17a8f8f29db240ef13b063 /elf/dl-deps.c | |
parent | 9ac9129d496d27b93c6fdfe0a22b68b3e4ee55df (diff) | |
download | glibc-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.c | 9 |
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) |