2005-11-01 Andrew Stubbs <andrew.stubbs@st.com>
authorAndrew Stubbs <andrew.stubbs@st.com>
Tue, 1 Nov 2005 11:09:18 +0000 (11:09 +0000)
committerAndrew Stubbs <andrew.stubbs@st.com>
Tue, 1 Nov 2005 11:09:18 +0000 (11:09 +0000)
* event-top.c (gdb_setup_readline): Don't set gdb_stdout when
--batch-silent option was given.
* main.c (batch_silent): New variable.
(captured_main): Add new option --batch-silent.
(print_gdb_help): Likewise.

doc/
* gdb.texinfo (Choosing modes): Add --batch-silent.

gdb/ChangeLog
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/event-top.c
gdb/main.c

index 1a63e2d8932a28e80f7b73c188f251d391889459..463414ec35db866b36bf61448da4651bd3feb65d 100644 (file)
@@ -1,3 +1,11 @@
+2005-11-01  Andrew Stubbs  <andrew.stubbs@st.com>
+
+       * event-top.c (gdb_setup_readline): Don't set gdb_stdout when
+       --batch-silent option was given.
+       * main.c (batch_silent): New variable.
+       (captured_main): Add new option --batch-silent.
+       (print_gdb_help): Likewise.
+
 2005-11-01  Mark Kettenis  <kettenis@gnu.org>
 
        * NEWS: Mention VAX floating point support.
index ef6248807eb78e8bb28b0c2f4fcc04b812440df4..f62c31230cf923d0089799c1b43d01efd6a77afc 100644 (file)
@@ -1,3 +1,7 @@
+2005-11-01  Andrew Stubbs  <andrew.stubbs@st.com>
+
+       * gdb.texinfo (Choosing modes): Add --batch-silent.
+
 2005-10-28  Eli Zaretskii  <eliz@gnu.org>
 
        * gdb.texinfo (GDB/MI Variable Objects): Fix @pxref usage under
index 0ceb3aa5b36b3410f9f5f81d655039e5ffa91eb4..75ae4ef7f07df0925acd947fed481eaacea2f2eb 100644 (file)
@@ -994,6 +994,19 @@ Program exited normally.
 @value{GDBN} control terminates) is not issued when running in batch
 mode.
 
+@item -batch-silent
+@cindex @code{--batch-silent}
+Run in batch mode exactly like @samp{-batch}, but totally silently.  All
+@value{GDBN} output to @code{stdout} is prevented (@code{stderr} is
+unaffected).  This is much quieter than @samp{-silent} and would be useless
+for an interactive session.
+
+This is particularly useful when using targets that give @samp{Loading section}
+messages, for example.
+
+Note that targets that give their output via @value{GDBN}, as opposed to
+writing directly to @code{stdout}, will also be made silent.
+
 @item -nowindows
 @itemx -nw
 @cindex @code{--nowindows}
index 4614d4d2f4c8af13589f7479821997357c85708d..bc1fe8ea38c54eb1764d04f44703bc83d9782594 100644 (file)
@@ -1110,8 +1110,10 @@ gdb_setup_readline (void)
      that the sync setup is ALL done in gdb_init, and we would only
      mess it up here.  The sync stuff should really go away over
      time.  */
+  extern batch_silent;
 
-  gdb_stdout = stdio_fileopen (stdout);
+  if (!batch_silent)
+    gdb_stdout = stdio_fileopen (stdout);
   gdb_stderr = stdio_fileopen (stderr);
   gdb_stdlog = gdb_stderr;  /* for moment */
   gdb_stdtarg = gdb_stderr; /* for moment */
index f73af20795e7ccc2bba79b8be713d302fcc7f219..5e912953da3bdb6cf1771d3a0d7cd1a933d0c23d 100644 (file)
@@ -73,6 +73,9 @@ struct ui_file *gdb_stdtargin;
 struct ui_file *gdb_stdtarg;
 struct ui_file *gdb_stdtargerr;
 
+/* Support for the --batch-silent option.  */
+int batch_silent = 0;
+
 /* Whether to enable writing into executable and core files */
 extern int write_files;
 
@@ -254,6 +257,7 @@ captured_main (void *data)
       {"silent", no_argument, &quiet, 1},
       {"nx", no_argument, &inhibit_gdbinit, 1},
       {"n", no_argument, &inhibit_gdbinit, 1},
+      {"batch-silent", no_argument, 0, 'B'},
       {"batch", no_argument, &batch, 1},
       {"epoch", no_argument, &epoch_interface, 1},
 
@@ -379,6 +383,10 @@ captured_main (void *data)
                                             cmdsize * sizeof (*cmdarg));
              }
            break;
+         case 'B':
+           batch = batch_silent = 1;
+           gdb_stdout = ui_file_new();
+           break;
 #ifdef GDBTK
          case 'z':
            {
@@ -829,6 +837,7 @@ Options:\n\n\
   fputs_unfiltered (_("\
   -b BAUDRATE        Set serial port baud rate used for remote debugging.\n\
   --batch            Exit after processing options.\n\
+  --batch-silent     As for --batch, but suppress all gdb stdout output.\n\
   --cd=DIR           Change current directory to DIR.\n\
   --command=FILE     Execute GDB commands from FILE.\n\
   --core=COREFILE    Analyze the core dump COREFILE.\n\