This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Prevent source file errors in --batch-silent mode
Daniel Jacobowitz wrote:
OK, if you also update Makefile.in(event-top.o).
Thanks, I've attached the version committed.
I think I've been spoilt by makefiles that generate the dependencies
automatically. :)
Andrew
2008-05-02 Andrew Stubbs <andrew.stubbs@st.com>
* main.h (batch_silent): Declare.
* event-top.c: Include main.h.
(gdb_setup_readline): Remove extern batch_silent declaration.
* infrun.c (normal_stop): Don't print source location when running in
--batch-silent mode.
* Makefile.in (event-top.o): Add main.h dependency.
Index: src2/gdb/infrun.c
===================================================================
--- src2.orig/gdb/infrun.c 2008-05-02 10:34:13.000000000 +0100
+++ src2/gdb/infrun.c 2008-05-02 11:26:06.000000000 +0100
@@ -3171,7 +3171,10 @@ Further execution is probably impossible
bpstat_print() contains the logic deciding in detail
what to print, based on the event(s) that just occurred. */
- if (stop_print_frame)
+ /* If --batch-silent is enabled then there's no need to print the current
+ source location, and to try risks causing an error message about
+ missing source files. */
+ if (stop_print_frame && !batch_silent)
{
int bpstat_ret;
int source_flag;
Index: src2/gdb/event-top.c
===================================================================
--- src2.orig/gdb/event-top.c 2008-03-14 19:55:51.000000000 +0000
+++ src2/gdb/event-top.c 2008-05-02 11:24:30.000000000 +0100
@@ -31,6 +31,7 @@
#include <signal.h>
#include "exceptions.h"
#include "cli/cli-script.h" /* for reset_command_nest_depth */
+#include "main.h"
/* For dont_repeat() */
#include "gdbcmd.h"
@@ -1084,8 +1085,6 @@ 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 int batch_silent;
-
if (!batch_silent)
gdb_stdout = stdio_fileopen (stdout);
gdb_stderr = stdio_fileopen (stderr);
Index: src2/gdb/main.h
===================================================================
--- src2.orig/gdb/main.h 2008-01-01 22:53:12.000000000 +0000
+++ src2/gdb/main.h 2008-05-02 14:52:31.000000000 +0100
@@ -33,5 +33,6 @@ extern int gdb_main (struct captured_mai
/* From main.c. */
extern int return_child_result;
extern int return_child_result_value;
+extern int batch_silent;
#endif
Index: src2/gdb/Makefile.in
===================================================================
--- src2.orig/gdb/Makefile.in 2008-05-02 10:32:53.000000000 +0100
+++ src2/gdb/Makefile.in 2008-05-02 14:51:38.000000000 +0100
@@ -2110,7 +2110,7 @@ event-loop.o: event-loop.c $(defs_h) $(e
event-top.o: event-top.c $(defs_h) $(top_h) $(inferior_h) $(target_h) \
$(terminal_h) $(event_loop_h) $(event_top_h) $(interps_h) \
$(exceptions_h) $(cli_script_h) $(gdbcmd_h) $(readline_h) \
- $(readline_history_h)
+ $(readline_history_h) $(main_h)
exceptions.o: exceptions.c $(defs_h) $(exceptions_h) $(breakpoint_h) \
$(target_h) $(inferior_h) $(annotate_h) $(ui_out_h) $(gdb_assert_h) \
$(gdb_string_h) $(serial_h)