From: Tom de Vries Date: Tue, 20 Feb 2024 14:49:33 +0000 (+0100) Subject: [gdb] Don't init history in batch mode X-Git-Tag: gdb-15-branchpoint~932 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b2c120daf9e2d935453f9051bbeafbac7f9f14d;p=thirdparty%2Fbinutils-gdb.git [gdb] Don't init history in batch mode I noticed in captured_main_1 that init_history is called just before bailing out if batch_flag is true. The history is used only in an interactive session, so there's no need to initialize it in batch mode. Fix this by moving init_history to after the batch mode check. Tested on x86_64-linux. Approved-By: Andrew Burgess --- diff --git a/gdb/main.c b/gdb/main.c index 2dc76756e98..17826fae95e 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -1303,10 +1303,6 @@ captured_main_1 (struct captured_main_args *context) /* Process '-x' and '-ex' options. */ execute_cmdargs (&cmdarg_vec, CMDARG_FILE, CMDARG_COMMAND, &ret); - /* Read in the old history after all the command files have been - read. */ - init_history (); - if (batch_flag) { int error_status = EXIT_FAILURE; @@ -1315,6 +1311,14 @@ captured_main_1 (struct captured_main_args *context) /* We have hit the end of the batch file. */ quit_force (exit_arg, 0); } + + /* We are starting an interactive session. */ + + /* Read in the history. This is after all the command files have been read, + so that the user can change the history file via a .gdbinit file. This + is also after the batch_flag check, because we don't need the history in + batch mode. */ + init_history (); } static void