From 831a223b984c04b6a118791b392efd2c7282f9ed Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 14 Feb 2023 11:13:43 -0500 Subject: 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 >) >>> 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 --- gdb/Makefile.in | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gdb/Makefile.in') diff --git a/gdb/Makefile.in b/gdb/Makefile.in index ad9b9e5..4691cad 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -293,6 +293,7 @@ SUBDIR_MI_SRCS = \ mi/mi-cmd-target.c \ mi/mi-cmd-var.c \ mi/mi-cmds.c \ + mi/mi-common.c \ mi/mi-console.c \ mi/mi-getopt.c \ mi/mi-interp.c \ @@ -303,10 +304,6 @@ SUBDIR_MI_SRCS = \ SUBDIR_MI_OBS = $(patsubst %.c,%.o,$(SUBDIR_MI_SRCS)) -SUBDIR_MI_DEPS = -SUBDIR_MI_LDFLAGS = -SUBDIR_MI_CFLAGS = - # # TUI sub directory definitions # @@ -1251,8 +1248,8 @@ SFILES = \ stub-termcap.c \ symfile-mem.c \ ui-file.h \ - mi/mi-common.c \ $(SUBDIR_CLI_SRCS) \ + $(SUBDIR_MI_SRCS) \ $(SUBDIR_TARGET_SRCS) \ $(COMMON_SFILES) \ $(SUBDIR_GCC_COMPILE_SRCS) @@ -1866,6 +1863,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \ xml-builtin.o \ $(patsubst %.c,%.o,$(COMMON_SFILES)) \ $(SUBDIR_CLI_OBS) \ + $(SUBDIR_MI_OBS) \ $(SUBDIR_TARGET_OBS) \ $(SUBDIR_GCC_COMPILE_OBS) -- cgit v1.1