aboutsummaryrefslogtreecommitdiff
path: root/gdb/main.c
diff options
context:
space:
mode:
authorAndrew Stubbs <andrew.stubbs@st.com>2005-11-04 11:49:12 +0000
committerAndrew Stubbs <andrew.stubbs@st.com>2005-11-04 11:49:12 +0000
commit4b0ad76243714b959a63aa42649fa3cf6c886ef2 (patch)
tree510a04027769d4e032c7766378ed9475a363f296 /gdb/main.c
parentf6235d4cfac03962a505970ef92f231860c58517 (diff)
downloadgdb-4b0ad76243714b959a63aa42649fa3cf6c886ef2.zip
gdb-4b0ad76243714b959a63aa42649fa3cf6c886ef2.tar.gz
gdb-4b0ad76243714b959a63aa42649fa3cf6c886ef2.tar.bz2
2005-11-04 Andrew Stubbs <andrew.stubbs@st.com>
* infrun.c (print_stop_reason): Set return_child_result_value on exit. * main.c (return_child_result): New variable. (return_child_result_value): Likewise. (captured_main): Add option --return-child-result. Replace call to target_detach and exit (in batch mode) with quit_force. (print_gdb_help): Add option --return-child-result. * top.c (quit_force): Return child result if appropriate. docs/ * gdb.texinfo (Choosing modes): Add --return-child-result.
Diffstat (limited to 'gdb/main.c')
-rw-r--r--gdb/main.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gdb/main.c b/gdb/main.c
index 5e91295..486b0ac 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -76,6 +76,12 @@ struct ui_file *gdb_stdtargerr;
/* Support for the --batch-silent option. */
int batch_silent = 0;
+/* Support for --return-child-result option.
+ Set the default to -1 to return error in the case
+ that the program does not run or does not complete. */
+int return_child_result = 0;
+int return_child_result_value = -1;
+
/* Whether to enable writing into executable and core files */
extern int write_files;
@@ -303,6 +309,7 @@ captured_main (void *data)
{"write", no_argument, &write_files, 1},
{"args", no_argument, &set_args, 1},
{"l", required_argument, 0, 'l'},
+ {"return-child-result", no_argument, &return_child_result, 1},
{0, no_argument, 0, 0}
};
@@ -730,15 +737,8 @@ extern int gdbtk_test (char *);
if (batch)
{
- if (attach_flag)
- /* Either there was a problem executing the command in the
- batch file aborted early, or the batch file forgot to do an
- explicit detach. Explicitly detach the inferior ensuring
- that there are no zombies. */
- target_detach (NULL, 0);
-
/* We have hit the end of the batch file. */
- exit (0);
+ quit_force (NULL, 0);
}
/* Do any host- or target-specific hacks. This is used for i960 targets
@@ -838,6 +838,8 @@ Options:\n\n\
-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\
+ --return-child-result\n\
+ GDB exit code will be the child's exit code.\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\