Make the debug printing in the symbol redirect machinery, easier to
understand.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2138 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c
index 6913303..bed06c4 100644
--- a/coregrind/vg_symtab2.c
+++ b/coregrind/vg_symtab2.c
@@ -1911,6 +1911,10 @@
 /*--- General purpose redirection.                         ---*/
 /*------------------------------------------------------------*/
 
+/* Set to True for debug printing. */
+static const Bool verbose_redir = False;
+
+
 /* resolved redirections, indexed by from_addr */
 typedef struct _CodeRedirect {
    const Char	*from_lib;	/* library qualifier pattern */
@@ -1985,7 +1989,6 @@
 static Bool resolve_redir(CodeRedirect *redir, const SegInfo *si)
 {
    Bool resolved;
-   static const Bool verbose = False;
 
    vg_assert(si != NULL);
    vg_assert(si->seg != NULL);
@@ -1996,8 +1999,8 @@
 
    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,
 		  si->filename, si->soname);
@@ -2009,9 +2012,9 @@
 
       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 );
       }
    }
 
@@ -2020,24 +2023,25 @@
 
       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 );
+
       }
    }
 
    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, 
 		  redir->to_lib, redir->to_sym, redir->to_addr);
 
    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)",
+	 VG_(message)(Vg_DebugMsg, "                  %s:%s=%p)",
 		      redir->to_lib, redir->to_sym, redir->to_addr);
       }
       
@@ -2060,6 +2064,10 @@
    CodeRedirect **prevp = &unresolved_redir;
    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 */
    for(redir = unresolved_redir; redir != NULL; redir = next) {
@@ -2161,6 +2169,7 @@
 		      "REPLACING libc(%s) with libpthread(%s)",
 		      redirects[i].from, redirects[i].to);
    }
+
 }
 
 /*------------------------------------------------------------*/