diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2023-02-14 11:13:43 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-02-23 16:40:19 -0500 |
commit | 831a223b984c04b6a118791b392efd2c7282f9ed (patch) | |
tree | 641dfacefd7c389575f0fd8f6a944070af4c6af6 /gdb/configure.ac | |
parent | eb94f4278737e6df934d7064ebbd87e4d95ad9d7 (diff) | |
download | gdb-831a223b984c04b6a118791b392efd2c7282f9ed.zip gdb-831a223b984c04b6a118791b392efd2c7282f9ed.tar.gz gdb-831a223b984c04b6a118791b392efd2c7282f9ed.tar.bz2 |
gdb: remove --disable-gdbmi configure option
I noticed that the --disable-gdbmi option was broken for almost a year
(since 740b42ceb7c "gdb/python/mi: create MI commands using python").
The problem today is the python/py-cmd.c file. It is included in the
build if Python support is enabled, and it calls into some MI functions
(e.g. insert_mi_cmd_entry). If MI support is disabled, we get some
undefined symbols like:
mold: error: undefined symbol: insert_mi_cmd_entry(std::unique_ptr<mi_command, std::default_delete<mi_command> >)
>>> referenced by py-micmd.c
>>> python/py-micmd.o:(micmdpy_install_command(micmdpy_object*))
The python/py-cmd.c file should be included in the build if both Python
and MI support are enabled. It is not a case we support today, but it
could be done with a bit more configure code. However, I think we
should just remove the --disable-gdbmi option, and just include MI
support unconditionally.
Tom Tromey proposed a while ago to remove this option, but it ended
staying:
https://inbox.sourceware.org/gdb-patches/20180628172132.28843-1-tom@tromey.com/
However, there was no strong opposition to remove it. The argument was
just "bah, it doesn't hurt anybody".
But given today's case, I would rather remove complexity rather than add
some. I couldn't find anybody caring deeply for that option, and it's
not like MI adds any external dependency. It's just a bit more code.
Removing the option will not break anybody using --disable-gdbmi (it can
be found in many build scripts [1]), since we don't flag invalid
configure flags.
So, remove the option from configure.ac, and adjust Makefile.in
accordingly to always include the MI objects in the build.
[1] https://github.com/search?q=%22--disable-gdbmi%22&type=code
Change-Id: Ifcaa8c9fc4abc6fa686ed5fd984598644f745240
Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/configure.ac')
-rw-r--r-- | gdb/configure.ac | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/gdb/configure.ac b/gdb/configure.ac index 14012a9..fb43cd1 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -318,20 +318,6 @@ if test "x$targ_defvec" != x; then [Define to BFD's default target vector. ]) fi -# Enable MI. -AC_ARG_ENABLE([gdbmi], - [AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)])], - [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdbmi])], - [enable_gdbmi=yes]) -if test x"$enable_gdbmi" = xyes; then - if test -d "$srcdir/mi"; then - CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)" - CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)" - CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)" - ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)" - fi -fi - # Enable TUI. AC_ARG_ENABLE(tui, AS_HELP_STRING([--enable-tui], |