This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: RFC: GDB as a loader 2/3: return child result
Daniel Jacobowitz wrote:
Perfect with one addition:
* infrun.h: Include main.h.
* top.c; Include main.h.
These mean you need to update Makefile.in, too. We use mostly manually
computed dependencies.
Ok, I didn't know that (but should've guessed).
Updated patch attached. I've also fixed the typos in the changelog.
Andrew
2005-11-07 Andrew Stubbs <andrew.stubbs@st.com>
* main.h (return_child_result, return_child_result_value): Declare.
* infrun.c: Include main.h.
(print_stop_reason): Remove declaration of return_child_result_value.
* top.c: Include main.h.
(quit_force): Remove declarations of return_child_result_value and
return_child_result.
* Makefile.in (top.o, infrun.o): Add main.h to dependencies.
Index: src/gdb/infrun.c
===================================================================
--- src.orig/gdb/infrun.c 2005-11-07 12:23:30.000000000 +0000
+++ src/gdb/infrun.c 2005-11-07 14:18:29.000000000 +0000
@@ -46,6 +46,7 @@
#include "observer.h"
#include "language.h"
#include "solib.h"
+#include "main.h"
#include "gdb_assert.h"
#include "mi/mi-common.h"
@@ -2931,11 +2932,8 @@ print_stop_reason (enum inferior_stop_re
async_reason_lookup (EXEC_ASYNC_EXITED_NORMALLY));
ui_out_text (uiout, "\nProgram exited normally.\n");
}
- {
- /* Support the --return-child-result option. */
- extern int return_child_result_value;
- return_child_result_value = stop_info;
- }
+ /* Support the --return-child-result option. */
+ return_child_result_value = stop_info;
break;
case SIGNAL_RECEIVED:
/* Signal received. The signal table tells us to print about
Index: src/gdb/main.h
===================================================================
--- src.orig/gdb/main.h 2005-11-07 12:23:30.000000000 +0000
+++ src/gdb/main.h 2005-11-07 14:18:29.000000000 +0000
@@ -32,4 +32,8 @@ struct captured_main_args
extern int gdb_main (struct captured_main_args *);
+/* From main.c. */
+extern int return_child_result;
+extern int return_child_result_value;
+
#endif
Index: src/gdb/top.c
===================================================================
--- src.orig/gdb/top.c 2005-11-07 12:23:30.000000000 +0000
+++ src/gdb/top.c 2005-11-07 14:18:29.000000000 +0000
@@ -46,6 +46,7 @@
#include "serial.h"
#include "doublest.h"
#include "gdb_assert.h"
+#include "main.h"
/* readline include files */
#include "readline/readline.h"
@@ -1177,7 +1178,6 @@ quit_force (char *args, int from_tty)
{
int exit_code = 0;
struct qt_args qt;
- extern int return_child_result, return_child_result_value;
/* An optional expression may be used to cause gdb to terminate with the
value of that expression. */
Index: src/gdb/Makefile.in
===================================================================
--- src.orig/gdb/Makefile.in 2005-11-01 10:32:11.000000000 +0000
+++ src/gdb/Makefile.in 2005-11-07 14:26:39.000000000 +0000
@@ -2133,7 +2133,7 @@ infrun.o: infrun.c $(defs_h) $(gdb_strin
$(gdbcore_h) $(gdbcmd_h) $(cli_script_h) $(target_h) $(gdbthread_h) \
$(annotate_h) $(symfile_h) $(top_h) $(inf_loop_h) $(regcache_h) \
$(value_h) $(observer_h) $(language_h) $(solib_h) $(gdb_assert_h) \
- $(mi_common_h)
+ $(mi_common_h) $(main_h)
inftarg.o: inftarg.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
$(gdbcore_h) $(command_h) $(gdb_stat_h) $(observer_h) $(gdb_wait_h) \
$(inflow_h)
@@ -2689,7 +2689,7 @@ top.o: top.c $(defs_h) $(gdbcmd_h) $(cal
$(annotate_h) $(completer_h) $(top_h) $(version_h) $(serial_h) \
$(doublest_h) $(gdb_assert_h) $(readline_h) $(readline_history_h) \
$(event_top_h) $(gdb_string_h) $(gdb_stat_h) $(ui_out_h) \
- $(cli_out_h)
+ $(cli_out_h) $(main_h)
tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \
$(expression_h) $(gdbcmd_h) $(value_h) $(target_h) $(language_h) \
$(gdb_string_h) $(inferior_h) $(tracepoint_h) $(remote_h) \