|
From: Julian S. <js...@ac...> - 2003-12-21 23:33:13
|
CVS commit by jseward:
Make the debug printing in the symbol redirect machinery, easier to
understand.
M +22 -13 vg_symtab2.c 1.66
--- valgrind/coregrind/vg_symtab2.c #1.65:1.66
@@ -1912,4 +1912,8 @@ void VG_(mini_stack_dump) ( Addr eips[],
/*------------------------------------------------------------*/
+/* Set to True for debug printing. */
+static const Bool verbose_redir = False;
+
+
/* resolved redirections, indexed by from_addr */
typedef struct _CodeRedirect {
@@ -1986,5 +1990,4 @@ static Bool resolve_redir(CodeRedirect *
{
Bool resolved;
- static const Bool verbose = False;
vg_assert(si != NULL);
@@ -1997,6 +2000,6 @@ static Bool resolve_redir(CodeRedirect *
resolved = (redir->from_addr != 0) && (redir->to_addr != 0);
- if (verbose)
- VG_(printf)("trying to resolve %s:%s / %s:%s against %s:%s\n",
+ if (0 && verbose_redir)
+ VG_(printf)(" consider FROM binding %s:%s -> %s:%s in %s(%s)\n",
redir->from_lib, redir->from_sym,
redir->to_lib, redir->to_sym,
@@ -2010,7 +2013,7 @@ static Bool resolve_redir(CodeRedirect *
if (match_lib(redir->from_lib, si)) {
redir->from_addr = reverse_search_one_symtab(si, redir->from_sym);
- if (verbose)
- VG_(printf)("match lib %s passed; from_addr=%p\n",
- redir->from_lib, redir->from_addr);
+ if (verbose_redir && redir->from_addr != 0)
+ VG_(printf)(" bind FROM: %p = %s:%s\n",
+ redir->from_addr,redir->from_lib, redir->from_sym );
}
}
@@ -2021,7 +2024,8 @@ static Bool resolve_redir(CodeRedirect *
if (match_lib(redir->to_lib, si)) {
redir->to_addr = reverse_search_one_symtab(si, redir->to_sym);
- if (verbose)
- VG_(printf)("match lib %s passed; to_addr=%p\n",
- redir->to_lib, redir->to_addr);
+ if (verbose_redir && redir->to_addr != 0)
+ VG_(printf)(" bind TO: %p = %s:%s\n",
+ redir->to_addr,redir->to_lib, redir->to_sym );
+
}
}
@@ -2029,5 +2033,5 @@ static Bool resolve_redir(CodeRedirect *
resolved = (redir->from_addr != 0) && (redir->to_addr != 0);
- if (verbose)
+ if (0 && verbose_redir)
VG_(printf)("resolve_redir: %s:%s from=%p %s:%s to=%p\n",
redir->from_lib, redir->from_sym, redir->from_addr,
@@ -2035,6 +2039,6 @@ static Bool resolve_redir(CodeRedirect *
if (resolved) {
- if (VG_(clo_verbosity) > 2 || verbose) {
- VG_(message)(Vg_DebugMsg, "redir resolved (%s:%s=%p -> ",
+ if (VG_(clo_verbosity) > 2 || verbose_redir) {
+ VG_(message)(Vg_DebugMsg, " redir resolved (%s:%s=%p -> ",
redir->from_lib, redir->from_sym, redir->from_addr);
VG_(message)(Vg_DebugMsg, " %s:%s=%p)",
@@ -2061,4 +2065,8 @@ static void resolve_seg_redirs(SegInfo *
CodeRedirect *redir, *next;
+ if (verbose_redir)
+ VG_(printf)("Considering redirs to/from %s(soname=%s)\n",
+ si->filename, si->soname);
+
/* visit each unresolved redir - if it becomes resolved, then
remove it from the unresolved list */
|