From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gproxy3-pub.mail.unifiedlayer.com (gproxy3-pub.mail.unifiedlayer.com [69.89.30.42]) by sourceware.org (Postfix) with ESMTPS id 363A1385801C for ; Wed, 10 Aug 2022 21:43:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 363A1385801C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw15.mail.unifiedlayer.com (unknown [10.0.90.130]) by progateway5.mail.pro1.eigbox.com (Postfix) with ESMTP id A72A010073840 for ; Wed, 10 Aug 2022 21:43:18 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id LtTyoE6CTsbE6LtTyoHRdI; Wed, 10 Aug 2022 21:43:18 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=EegN/NqC c=1 sm=1 tr=0 ts=62f42676 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=biHskzXt2R4A:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=CCpqsmhAAAAA:8 a=V-g62AsvsQW426u2yjAA:9 a=ul9cdbp4aOFLsgKbc677:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=IQHU2pii8NuW0Q77vfqNSwDiIx+3E97uvfJHRjk8og4=; b=HXNGCUJzPjPLDdRx/MaqmD8n9O F13MBUwJ7Pmncha65QuLuQ26Hd5DflYb/jglAFW6IuBLAIAmxxRt88w5upCcwSSfxvSiplWSXj9Ab /lhOhDzaC5RZ5Ahjzz6bMOpVr; Received: from 71-211-185-228.hlrn.qwest.net ([71.211.185.228]:45708 helo=prentzel.Home) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1oLtTx-000X8o-RQ; Wed, 10 Aug 2022 15:43:17 -0600 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 2/2] Remove MI version 1 Date: Wed, 10 Aug 2022 15:43:16 -0600 Message-Id: <20220810214316.2591985-3-tom@tromey.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220810214316.2591985-1-tom@tromey.com> References: <20220810214316.2591985-1-tom@tromey.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.185.228 X-Source-L: No X-Exim-ID: 1oLtTx-000X8o-RQ X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-185-228.hlrn.qwest.net (prentzel.Home) [71.211.185.228]:45708 X-Source-Auth: tom+tromey.com X-Email-Count: 3 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3028.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Aug 2022 21:43:32 -0000 MI version 1 is long since obsolete. Several years ago, I filed PR mi/23170 for this. I think it's finally time to remove this. Any users of MI 1 can and should upgrade to a newer version. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23170 --- gdb/NEWS | 2 ++ gdb/doc/gdb.texinfo | 4 --- gdb/interps.h | 1 - gdb/main.c | 22 +-------------- gdb/mi/mi-cmd-env.c | 24 ---------------- gdb/mi/mi-cmd-var.c | 24 ++-------------- gdb/mi/mi-interp.c | 1 - gdb/mi/mi-main.c | 1 - gdb/mi/mi-out.c | 3 -- gdb/testsuite/gdb.base/interp.exp | 9 ------ gdb/testsuite/lib/mi-support.exp | 46 ++++--------------------------- 11 files changed, 11 insertions(+), 126 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 8c837df76e5..8e46e7db008 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -3,6 +3,8 @@ *** Changes since GDB 12 +* MI version 1 has been removed. + * GDB now supports dumping memory tag data for AArch64 MTE. It also supports reading memory tag data for AArch64 MTE from core files generated by the gcore command or the Linux kernel. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 382df00ee7d..7951df6a45d 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -28984,10 +28984,6 @@ The @sc{gdb/mi} interface introduced in @value{GDBN} 9.1. @cindex mi2 interpreter The @sc{gdb/mi} interface introduced in @value{GDBN} 6.0. -@item mi1 -@cindex mi1 interpreter -The @sc{gdb/mi} interface introduced in @value{GDBN} 5.1. - @end table @cindex invoke another interpreter diff --git a/gdb/interps.h b/gdb/interps.h index e393b08c962..762b3baf3b5 100644 --- a/gdb/interps.h +++ b/gdb/interps.h @@ -175,7 +175,6 @@ extern void interpreter_completer (struct cmd_list_element *ignore, /* well-known interpreters */ #define INTERP_CONSOLE "console" -#define INTERP_MI1 "mi1" #define INTERP_MI2 "mi2" #define INTERP_MI3 "mi3" #define INTERP_MI "mi" diff --git a/gdb/main.c b/gdb/main.c index 8c97987956b..0811dc9cff1 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -1123,31 +1123,11 @@ captured_main_1 (struct captured_main_args *context) exit (0); } - /* FIXME: cagney/2003-02-03: The big hack (part 1 of 2) that lets - GDB retain the old MI1 interpreter startup behavior. Output the - copyright message before the interpreter is installed. That way - it isn't encapsulated in MI output. */ - if (!quiet && interpreter_p == INTERP_MI1) - { - /* Print all the junk at the top, with trailing "..." if we are - about to read a symbol file (possibly slowly). */ - print_gdb_version (gdb_stdout, true); - if (symarg) - gdb_printf (".."); - gdb_printf ("\n"); - gdb_flush (gdb_stdout); /* Force to screen during slow - operations. */ - } - /* Install the default UI. All the interpreters should have had a look at things by now. Initialize the default interpreter. */ set_top_level_interpreter (interpreter_p.c_str ()); - /* FIXME: cagney/2003-02-03: The big hack (part 2 of 2) that lets - GDB retain the old MI1 interpreter startup behavior. Output the - copyright message after the interpreter is installed when it is - any sane interpreter. */ - if (!quiet && !current_interp_named_p (INTERP_MI1)) + if (!quiet) { /* Print all the junk at the top, with trailing "..." if we are about to read a symbol file (possibly slowly). */ diff --git a/gdb/mi/mi-cmd-env.c b/gdb/mi/mi-cmd-env.c index 0c75b8042ff..5b077979352 100644 --- a/gdb/mi/mi-cmd-env.c +++ b/gdb/mi/mi-cmd-env.c @@ -65,14 +65,6 @@ mi_cmd_env_pwd (const char *command, char **argv, int argc) if (argc > 0) error (_("-environment-pwd: No arguments allowed")); - if (mi_version (uiout) < 2) - { - env_execute_cli_command ("pwd", NULL); - return; - } - - /* Otherwise the mi level is 2 or higher. */ - gdb::unique_xmalloc_ptr cwd (getcwd (NULL, 0)); if (cwd == NULL) error (_("-environment-pwd: error finding name of working directory: %s"), @@ -126,14 +118,6 @@ mi_cmd_env_path (const char *command, char **argv, int argc) dont_repeat (); - if (mi_version (uiout) < 2) - { - for (i = argc - 1; i >= 0; --i) - env_execute_cli_command ("path", argv[i]); - return; - } - - /* Otherwise the mi level is 2 or higher. */ while (1) { int opt = mi_getopt ("-environment-path", argc, argv, opts, @@ -199,14 +183,6 @@ mi_cmd_env_dir (const char *command, char **argv, int argc) dont_repeat (); - if (mi_version (uiout) < 2) - { - for (i = argc - 1; i >= 0; --i) - env_execute_cli_command ("dir", argv[i]); - return; - } - - /* Otherwise mi level is 2 or higher. */ while (1) { int opt = mi_getopt ("-environment-directory", argc, argv, opts, diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c index 3db09cf7815..e05866657e3 100644 --- a/gdb/mi/mi-cmd-var.c +++ b/gdb/mi/mi-cmd-var.c @@ -390,15 +390,7 @@ mi_cmd_var_list_children (const char *command, char **argv, int argc) if (from < to) { - /* For historical reasons this might emit a list or a tuple, so - we construct one or the other. */ - gdb::optional tuple_emitter; - gdb::optional list_emitter; - - if (mi_version (uiout) == 1) - tuple_emitter.emplace (uiout, "children"); - else - list_emitter.emplace (uiout, "children"); + ui_out_emit_list list_emitter (uiout, "children"); for (int ix = from; ix < to && ix < children.size (); ix++) { ui_out_emit_tuple child_emitter (uiout, "child"); @@ -633,15 +625,7 @@ mi_cmd_var_update (const char *command, char **argv, int argc) else print_values = PRINT_NO_VALUES; - /* For historical reasons this might emit a list or a tuple, so we - construct one or the other. */ - gdb::optional tuple_emitter; - gdb::optional list_emitter; - - if (mi_version (uiout) <= 1) - tuple_emitter.emplace (uiout, "changelist"); - else - list_emitter.emplace (uiout, "changelist"); + ui_out_emit_list list_emitter (uiout, "changelist"); /* Check if the parameter is a "*", which means that we want to update all variables. */ @@ -680,9 +664,7 @@ varobj_update_one (struct varobj *var, enum print_values print_values, { int from, to; - gdb::optional tuple_emitter; - if (mi_version (uiout) > 1) - tuple_emitter.emplace (uiout, nullptr); + ui_out_emit_tuple tuple_emitter (uiout, nullptr); uiout->field_string ("name", varobj_get_objname (r.varobj)); switch (r.status) diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c index ae15177890c..11a6cba29e3 100644 --- a/gdb/mi/mi-interp.c +++ b/gdb/mi/mi-interp.c @@ -1340,7 +1340,6 @@ void _initialize_mi_interp () { /* The various interpreter levels. */ - interp_factory_register (INTERP_MI1, mi_interp_factory); interp_factory_register (INTERP_MI2, mi_interp_factory); interp_factory_register (INTERP_MI3, mi_interp_factory); interp_factory_register (INTERP_MI, mi_interp_factory); diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 68868e49e99..4dbd9e8f8ae 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1863,7 +1863,6 @@ captured_mi_execute_command (struct ui_out *uiout, struct mi_parse *context) /* If we changed interpreters, DON'T print out anything. */ if (current_interp_named_p (INTERP_MI) - || current_interp_named_p (INTERP_MI1) || current_interp_named_p (INTERP_MI2) || current_interp_named_p (INTERP_MI3)) { diff --git a/gdb/mi/mi-out.c b/gdb/mi/mi-out.c index 567ef83de9b..4afd825ca7b 100644 --- a/gdb/mi/mi-out.c +++ b/gdb/mi/mi-out.c @@ -313,9 +313,6 @@ mi_out_new (const char *mi_version) if (streq (mi_version, INTERP_MI2)) return new mi_ui_out (2); - if (streq (mi_version, INTERP_MI1)) - return new mi_ui_out (1); - return nullptr; } diff --git a/gdb/testsuite/gdb.base/interp.exp b/gdb/testsuite/gdb.base/interp.exp index f748ffd8050..a1ebaac9b94 100644 --- a/gdb/testsuite/gdb.base/interp.exp +++ b/gdb/testsuite/gdb.base/interp.exp @@ -52,15 +52,6 @@ gdb_test_multiple "interpreter-exec mi \"-stack-info-frame\"" "" { } } -gdb_test_multiple "interpreter-exec mi1 \"-break-insert main\"" "" { - -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " { - pass $gdb_test_name - gdb_expect 1 { - -re "\r\n$gdb_prompt $" { } - } - } -} - gdb_test_multiple "interpreter-exec mi2 \"-break-insert main\"" "" { -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " { pass $gdb_test_name diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index 346140745aa..78d0f981aa9 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -264,27 +264,7 @@ proc default_mi_gdb_start { { flags {} } } { gdb_expect { -re "~\"GNU.*\r\n~\".*$mi_gdb_prompt$" { - # We have a new format mi startup prompt. If we are - # running mi1, then this is an error as we should be - # using the old-style prompt. - if { $MIFLAGS == "-i=mi1" } { - perror "(mi startup) Got unexpected new mi prompt." - remote_close host - unset gdb_spawn_id - return -1 - } - verbose "GDB initialized." - } - -re "\[^~\].*$mi_gdb_prompt$" { - # We have an old format mi startup prompt. If we are - # not running mi1, then this is an error as we should be - # using the new-style prompt. - if { $MIFLAGS != "-i=mi1" } { - perror "(mi startup) Got unexpected old mi prompt." - remote_close host - unset gdb_spawn_id - return -1 - } + # We have a new format mi startup prompt. verbose "GDB initialized." } -re ".*unrecognized option.*for a complete list of options." { @@ -399,27 +379,11 @@ proc mi_gdb_reinitialize_dir { subdir } { return "" } - if { $MIFLAGS == "-i=mi1" } { - send_gdb "104-environment-directory\n" - gdb_expect 60 { - -re ".*Reinitialize source path to empty.*y or n. " { - warning "Got confirmation prompt for dir reinitialization." - send_gdb "y\n" - gdb_expect 60 { - -re "$mi_gdb_prompt$" {} - timeout {error "Dir reinitialization failed (timeout)"} - } - } + send_gdb "104-environment-directory -r\n" + gdb_expect 60 { + -re "104\\\^done,source-path=.*\r\n$mi_gdb_prompt$" {} -re "$mi_gdb_prompt$" {} - timeout {error "Dir reinitialization failed (timeout)"} - } - } else { - send_gdb "104-environment-directory -r\n" - gdb_expect 60 { - -re "104\\\^done,source-path=.*\r\n$mi_gdb_prompt$" {} - -re "$mi_gdb_prompt$" {} - timeout {error "Dir reinitialization failed (timeout)"} - } + timeout {error "Dir reinitialization failed (timeout)"} } send_gdb "105-environment-directory $subdir\n" -- 2.34.1