[v2] Deprecate MI version 1
Commit Message
MI version 1 is long since obsolete. Rather than remove it
immediately (though I did send a patch for that), instead let's
deprecate it in GDB 13 and then remove it for GDB 14.
This version of the patch incorporates Simon's warning change, and
Luis' recommendation to mention the gdb versions here.
---
gdb/NEWS | 2 ++
gdb/interps.c | 10 ++++++++++
2 files changed, 12 insertions(+)
Comments
> From: Tom Tromey <tom@tromey.com>
> Date: Fri, 21 Oct 2022 10:19:18 -0600
> Cc: Tom Tromey <tom@tromey.com>
>
> MI version 1 is long since obsolete. Rather than remove it
> immediately (though I did send a patch for that), instead let's
> deprecate it in GDB 13 and then remove it for GDB 14.
>
> This version of the patch incorporates Simon's warning change, and
> Luis' recommendation to mention the gdb versions here.
> ---
> gdb/NEWS | 2 ++
> gdb/interps.c | 10 ++++++++++
> 2 files changed, 12 insertions(+)
OK for the NEWS part.
Thanks.
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
Tom> MI version 1 is long since obsolete. Rather than remove it
Tom> immediately (though I did send a patch for that), instead let's
Tom> deprecate it in GDB 13 and then remove it for GDB 14.
Tom> This version of the patch incorporates Simon's warning change, and
Tom> Luis' recommendation to mention the gdb versions here.
I'm checking this in.
Tom
@@ -3,6 +3,8 @@
*** Changes since GDB 12
+* MI version 1 is deprecated, and will be removed in GDB 14.
+
* 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.
@@ -170,11 +170,16 @@ interp_set (struct interp *interp, bool top_level)
if (interpreter_p != interp->name ())
interpreter_p = interp->name ();
+ bool warn_about_mi1 = false;
+
/* Run the init proc. */
if (!interp->inited)
{
interp->init (top_level);
interp->inited = true;
+
+ if (streq (interp->name (), "mi1"))
+ warn_about_mi1 = true;
}
/* Do this only after the interpreter is initialized. */
@@ -184,6 +189,11 @@ interp_set (struct interp *interp, bool top_level)
clear_interpreter_hooks ();
interp->resume ();
+
+ if (warn_about_mi1)
+ warning (_("MI version 1 is deprecated in GDB 13 and "
+ "will be removed in GDB 14. Please upgrade "
+ "to a newer version of MI."));
}
/* Look up the interpreter for NAME. If no such interpreter exists,