This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFA: switch to printf_unfiltered in symfile.c


The following patch switches over the majority of the printfs in symfile.c to use printf_unfiltered. This fixes a problem whereby if you attach to a process that has a lot of dynamic library references, you will get page breaks as it displays loading symbols messages.

I purposely left printf_filtered for info_ext_lang_command(), and list_overlays_command() as I felt that a user may want to examine the output and this should allow paging if necessary.

Ok to commit?

-- Jeff J.

2003-10-22 Jeff Johnston <jjohnstn@redhat.com>

	* symfile.c (symbol_file_add_with_addrs_or_offsets): Switch to use
	printf_unfiltered instead of printf_filtered for output messages.
	(add_symbol_file_command): Ditto.
	(reread_symbols): Ditto.
	(overlay_auto_command): Ditto.
	(overlay_manual_command): Ditto.
	(overlay_off_command): Ditto.
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.100.2.2
diff -u -p -r1.100.2.2 symfile.c
--- symfile.c	14 Aug 2003 20:12:31 -0000	1.100.2.2
+++ symfile.c	22 Oct 2003 17:46:25 -0000
@@ -872,7 +872,7 @@ symbol_file_add_with_addrs_or_offsets (c
        */
       if (from_tty || info_verbose)
 	{
-	  printf_filtered ("Mapped symbols for %s...", name);
+	  printf_unfiltered ("Mapped symbols for %s...", name);
 	  wrap_here ("");
 	  gdb_flush (gdb_stdout);
 	}
@@ -890,7 +890,7 @@ symbol_file_add_with_addrs_or_offsets (c
 	    pre_add_symbol_hook (name);
 	  else
 	    {
-	      printf_filtered ("Reading symbols from %s...", name);
+	      printf_unfiltered ("Reading symbols from %s...", name);
 	      wrap_here ("");
 	      gdb_flush (gdb_stdout);
 	    }
@@ -908,7 +908,7 @@ symbol_file_add_with_addrs_or_offsets (c
     {
       if (from_tty || info_verbose)
 	{
-	  printf_filtered ("expanding to full symbols...");
+	  printf_unfiltered ("expanding to full symbols...");
 	  wrap_here ("");
 	  gdb_flush (gdb_stdout);
 	}
@@ -947,7 +947,7 @@ symbol_file_add_with_addrs_or_offsets (c
   if (!have_partial_symbols () && !have_full_symbols ())
     {
       wrap_here ("");
-      printf_filtered ("(no debugging symbols found)...");
+      printf_unfiltered ("(no debugging symbols found)...");
       wrap_here ("");
     }
 
@@ -957,7 +957,7 @@ symbol_file_add_with_addrs_or_offsets (c
 	post_add_symbol_hook ();
       else
 	{
-	  printf_filtered ("done.\n");
+	  printf_unfiltered ("done.\n");
 	}
     }
 
@@ -1802,7 +1802,7 @@ add_symbol_file_command (char *args, int
      statements because local_hex_string returns a local static
      string. */
  
-  printf_filtered ("add symbol table from file \"%s\" at\n", filename);
+  printf_unfiltered ("add symbol table from file \"%s\" at\n", filename);
   section_addrs = alloc_section_addr_info (section_index);
   make_cleanup (xfree, section_addrs);
   for (i = 0; i < section_index; i++)
@@ -1817,7 +1817,7 @@ add_symbol_file_command (char *args, int
          entered on the command line. */
       section_addrs->other[sec_num].name = sec;
       section_addrs->other[sec_num].addr = addr;
-      printf_filtered ("\t%s_addr = %s\n",
+      printf_unfiltered ("\t%s_addr = %s\n",
 		       sec, 
 		       local_hex_string ((unsigned long)addr));
       sec_num++;
@@ -1882,7 +1882,7 @@ reread_symbols (void)
 	  if (res != 0)
 	    {
 	      /* FIXME, should use print_sys_errmsg but it's not filtered. */
-	      printf_filtered ("`%s' has disappeared; keeping its symbols.\n",
+	      printf_unfiltered ("`%s' has disappeared; keeping its symbols.\n",
 			       objfile->name);
 	      continue;
 	    }
@@ -1894,7 +1894,7 @@ reread_symbols (void)
 	      int num_offsets;
 	      char *obfd_filename;
 
-	      printf_filtered ("`%s' has changed; re-reading symbols.\n",
+	      printf_unfiltered ("`%s' has changed; re-reading symbols.\n",
 			       objfile->name);
 
 	      /* There are various functions like symbol_file_add,
@@ -2027,7 +2027,7 @@ reread_symbols (void)
 	      if (!have_partial_symbols () && !have_full_symbols ())
 		{
 		  wrap_here ("");
-		  printf_filtered ("(no debugging symbols found)\n");
+		  printf_unfiltered ("(no debugging symbols found)\n");
 		  wrap_here ("");
 		}
 	      objfile->flags |= OBJF_SYMS;
@@ -3181,7 +3181,7 @@ the 'overlay manual' command.");
                                  sec2->the_bfd_section))
 	{
 	  if (info_verbose)
-	    printf_filtered ("Note: section %s unmapped by overlap\n",
+	    printf_unfiltered ("Note: section %s unmapped by overlap\n",
 			     bfd_section_name (objfile->obfd,
 					       sec2->the_bfd_section));
 	  sec2->ovly_mapped = 0;	/* sec2 overlaps sec: unmap sec2 */
@@ -3231,7 +3231,7 @@ overlay_auto_command (char *args, int fr
   overlay_debugging = ovly_auto;
   enable_overlay_breakpoints ();
   if (info_verbose)
-    printf_filtered ("Automatic overlay debugging enabled.");
+    printf_unfiltered ("Automatic overlay debugging enabled.");
 }
 
 /* Function: overlay_manual_command
@@ -3244,7 +3244,7 @@ overlay_manual_command (char *args, int 
   overlay_debugging = ovly_on;
   disable_overlay_breakpoints ();
   if (info_verbose)
-    printf_filtered ("Overlay debugging enabled.");
+    printf_unfiltered ("Overlay debugging enabled.");
 }
 
 /* Function: overlay_off_command
@@ -3257,7 +3257,7 @@ overlay_off_command (char *args, int fro
   overlay_debugging = ovly_off;
   disable_overlay_breakpoints ();
   if (info_verbose)
-    printf_filtered ("Overlay debugging disabled.");
+    printf_unfiltered ("Overlay debugging disabled.");
 }
 
 static void

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]