From 1178f01adf9c3b3a5b0fa564aa4d570e26a26819 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 26 Aug 2020 17:31:12 +0100 Subject: [PATCH] gdb: initialise extension languages after processing early startup files Now (thanks to the last few commits) all extension languages are fully initialised in their finish_initialization method, this commit delays the call to this method until after the early initialization files have been processed. Right now there's no benefit from doing this, but in a later commit I plan to add new options for Python that will control how Python is initialized. With this commit in place, my next commits will allow the user to add options to their early initialization file and alter how Python starts up. There should be no user visible changes after this commit. gdb/ChangeLog: * main.c (captured_main_1): Add a call to finish_ext_lang_initialization. * top.c (gdb_init): Remove call to finish_ext_lang_initialization. --- gdb/ChangeLog | 6 ++++++ gdb/main.c | 3 +++ gdb/top.c | 6 ------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c7dcd8eee7..5cf843954b4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2021-04-28 Andrew Burgess + + * main.c (captured_main_1): Add a call to + finish_ext_lang_initialization. + * top.c (gdb_init): Remove call to finish_ext_lang_initialization. + 2021-04-28 Andrew Burgess * guile/guile.c (gdbscm_set_backtrace): Add declaration. diff --git a/gdb/main.c b/gdb/main.c index 652e6f76fa0..2a1c3a4866f 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -1053,6 +1053,9 @@ captured_main_1 (struct captured_main_args *context) execute_cmdargs (&cmdarg_vec, CMDARG_EARLYINIT_FILE, CMDARG_EARLYINIT_COMMAND, &ret); + /* Finish initializing the extension languges. */ + finish_ext_lang_initialization (); + /* Recheck if we're starting up quietly after processing the startup scripts and commands. */ if (!quiet) diff --git a/gdb/top.c b/gdb/top.c index b58cd4facfc..a83d16bed15 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -2408,12 +2408,6 @@ gdb_init () set_language (language_c); expected_language = current_language; /* Don't warn about the change. */ - /* Python initialization, for example, can require various commands to be - installed. For example "info pretty-printer" needs the "info" - prefix to be installed. Keep things simple and just do final - script initialization here. */ - finish_ext_lang_initialization (); - /* Create $_gdb_major and $_gdb_minor convenience variables. */ init_gdb_version_vars (); } -- 2.30.2