This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-189-g49c74ba
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Aug 2011 17:00:12 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-189-g49c74ba
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 49c74ba90e99c978b452dd430d08bb831e26a2aa (commit)
from 5c43483f0c868a29161979a783b7a728d665f06e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=49c74ba90e99c978b452dd430d08bb831e26a2aa
commit 49c74ba90e99c978b452dd430d08bb831e26a2aa
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Aug 20 12:59:45 2011 -0400
Further improve printing os ELF symbol lookup scope information
diff --git a/ChangeLog b/ChangeLog
index 679dd69..84378d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-08-20 Ulrich Drepper <drepper@gmail.com>
+ * elf/dl-open.c (add_to_global): Report additions to the global scope
+ for LD_DEBUG=scopes.
+ (dl_open_worker): Also print scope of newly loaded dependencies.
+
[BZ #13114]
* stdio-common/Makefile (tests): Add bug24.
* stdio-common/bug24.c: New file.
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 65fdd31..865490d 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -152,6 +152,11 @@ add_to_global (struct link_map *new)
{
map->l_global = 1;
ns->_ns_main_searchlist->r_list[new_nlist++] = map;
+
+ /* We modify the global scope. Report this. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
+ _dl_debug_printf ("\nadd %s [%lu] to global scope\n",
+ map->l_name, map->l_ns);
}
}
atomic_write_barrier ();
@@ -345,6 +350,7 @@ dl_open_worker (void *a)
for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i)
{
struct link_map *imap = new->l_searchlist.r_list[i];
+ int from_scope = 0;
/* If the initializer has been called already, the object has
not been loaded here and now. */
@@ -409,9 +415,8 @@ dl_open_worker (void *a)
atomic_write_barrier ();
imap->l_scope[cnt] = &new->l_searchlist;
- /* Print scope information. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
- _dl_show_scope (imap, cnt);
+ /* Print only new scope information. */
+ from_scope = cnt;
}
/* Only add TLS memory if this object is loaded now and
therefore is not yet initialized. */
@@ -431,6 +436,10 @@ dl_open_worker (void *a)
/* We have to bump the generation counter. */
any_tls = true;
}
+
+ /* Print scope information. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
+ _dl_show_scope (imap, from_scope);
}
/* Bump the generation number if necessary. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 ++++
elf/dl-open.c | 15 ++++++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
hooks/post-receive
--
GNU C Library master sources