From: Gaius Mulley Date: Sat, 12 Aug 2023 12:43:14 +0000 (+0100) Subject: PR modula2/108119 disable m2rte plugin by default X-Git-Tag: basepoints/gcc-15~6960 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=46905fcde00fd84eb06b6bd1a6e788171d32865b;p=gcc.git PR modula2/108119 disable m2rte plugin by default This patch disables the m2rte plugin by default. The driver will only append the -fplugin=m2rte command line option for cc1gm2 if -fm2-plugin is present. It only enabled providing ENABLE_PLUGIN is defined. gcc/m2/Make-file.in will only build and install m2rte if enable_plugin is yes. gcc/m2/ChangeLog: PR modula2/108119 * Make-lang.in (M2RTE_PLUGIN_SO): Assigned to plugin/m2rte$(exeext).so if enable_plugin is yes. (m2.all.cross): Replace plugin/m2rte$(soext) with $(M2RTE_PLUGIN_SO). (m2.all.encap): Replace plugin/m2rte$(soext) with $(M2RTE_PLUGIN_SO). (m2.install-plugin): Add dummy rule when enable_plugin is not yes. (plugin/m2rte$(exeext).so): Add dummy rule when enable_plugin is not yes. (m2/stage2/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with $(M2RTE_PLUGIN_SO). (m2/stage1/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with $(M2RTE_PLUGIN_SO). * gm2spec.cc (lang_specific_driver): Set need_plugin to false by default. gcc/testsuite/ChangeLog: PR modula2/108119 * gm2/iso/check/fail/iso-check-fail.exp (gm2_init_iso): Add -fm2-plugin. * gm2/switches/auto-init/fail/switches-auto-init-fail.exp (gm2_init_iso): Add -fm2-plugin. * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp (gm2_init_pim2): Add -fm2-plugin. * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp (gm2_init_iso): Add -fm2-plugin. * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp (gm2_init_pim2): Add -fm2-plugin. Signed-off-by: Gaius Mulley --- diff --git a/gcc/m2/Make-lang.in b/gcc/m2/Make-lang.in index 23632c29125b..8c6bac229e70 100644 --- a/gcc/m2/Make-lang.in +++ b/gcc/m2/Make-lang.in @@ -90,6 +90,10 @@ PGE=m2/pge$(exeext) SRC_PREFIX=G +ifeq ($(enable_plugin),yes) +M2RTE_PLUGIN_SO=plugin/m2rte$(exeext).so +endif + m2/gm2spec.o: $(srcdir)/m2/gm2spec.cc $(SYSTEM_H) $(GCC_H) $(CONFIG_H) \ m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) \ $(generated_files) $(C_TREE_H) insn-attr-common.h @@ -122,9 +126,9 @@ po-generated: # Build hooks: -m2.all.cross: gm2-cross$(exeext) plugin/m2rte$(soext) +m2.all.cross: gm2-cross$(exeext) $(M2RTE_PLUGIN_SO) -m2.start.encap: gm2$(exeext) plugin/m2rte$(soext) +m2.start.encap: gm2$(exeext) $(M2RTE_PLUGIN_SO) m2.rest.encap: @@ -400,9 +404,10 @@ m2.uninstall: -rm -rf $(bindir)/$(GM2_INSTALL_NAME) -rm -rf $(bindir)/$(GM2_CROSS_NAME) +ifeq ($(enable_plugin),yes) m2.install-plugin: installdirs $(mkinstalldirs) $(DESTDIR)$(plugin_resourcesdir) - $(INSTALL_PROGRAM) plugin/m2rte$(soext) $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) + $(INSTALL_PROGRAM) $(M2RTE_PLUGIN_SO) $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) chmod a+x $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) override PLUGINCFLAGS := $(filter-out -mdynamic-no-pic,$(PLUGINCFLAGS)) @@ -412,6 +417,12 @@ plugin/m2rte$(soext): $(srcdir)/m2/plugin/m2rte.cc $(GCC_HEADER_DEPENDENCIES_FOR -test -d $(@D) || $(mkinstalldirs) $(@D) $(PLUGINCC) $(PLUGINCFLAGS) -fno-rtti -I. -I$(srcdir) $(INCINTL) -I$(srcdir)/m2 -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/../include -I$(srcdir)/../libcpp/include -Wall $(GMPINC) -Wno-literal-suffix -fPIC -c -o plugin/m2rte.o $(srcdir)/m2/plugin/m2rte.cc $(PLUGINCC) $(PLUGINCFLAGS) $(PLUGINLDFLAGS) $(PLUGINLIBS) $(LIBINTL) -fno-rtti plugin/m2rte.o -shared -o $@ +else +m2.install-plugin: + +plugin/m2rte$(exeext).so: + +endif # Clean hooks: @@ -524,7 +535,7 @@ cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) $(m2.prev) m2/stage2/cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) m2/gm2-compiler/m2flex.o \ $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) $(GM2_LIBS) \ - m2/gm2-gcc/rtegraph.o plugin/m2rte$(soext) + m2/gm2-gcc/rtegraph.o $(M2RTE_PLUGIN_SO) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) +$(LLINKER) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GM2_C_OBJS) m2/gm2-compiler/m2flex.o \ @@ -537,7 +548,7 @@ m2/stage2/cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) m2/gm2-compiler/m2flex.o \ m2/stage1/cc1gm2$(exeext): gm2$(exeext) m2/gm2-compiler-boot/m2flex.o \ $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) \ $(GM2_LIBS_BOOT) $(MC_LIBS) \ - m2/gm2-gcc/rtegraph.o plugin/m2rte$(soext) \ + m2/gm2-gcc/rtegraph.o $(M2RTE_PLUGIN_SO) \ $(m2.prev) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) diff --git a/gcc/m2/gm2spec.cc b/gcc/m2/gm2spec.cc index cd7ae808d987..75a6ed36c82a 100644 --- a/gcc/m2/gm2spec.cc +++ b/gcc/m2/gm2spec.cc @@ -469,12 +469,8 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, /* The number of libraries added in. */ int added_libraries; -#ifdef ENABLE_PLUGIN /* True if we should add -fplugin=m2rte to the command-line. */ - bool need_plugin = true; -#else bool need_plugin = false; -#endif /* True if we should set up include paths and library paths. */ bool allow_libraries = true; diff --git a/gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp b/gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp index 836760d6c666..8710e7b4fbf7 100644 --- a/gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp +++ b/gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp @@ -44,7 +44,7 @@ set TORTURE_OPTIONS [list \ { -O3 -fsoft-check-all } \ { -O3 -g -fsoft-check-all } ] -gm2_init_iso "${srcdir}/gm2/iso/check/fail" -fm2-pathname=- -I${srcdir}/gm2/iso/check/fail +gm2_init_iso "${srcdir}/gm2/iso/check/fail" -fm2-plugin -fm2-pathname=- -I${srcdir}/gm2/iso/check/fail foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] { # If we're only testing specific files and this isn't one of them, skip it. diff --git a/gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp b/gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp index 44b44b42fe5f..aba9b4077efa 100644 --- a/gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp +++ b/gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp @@ -36,7 +36,7 @@ if $tracelevel then { # load support procs load_lib gm2-torture.exp -gm2_init_pim2 "${srcdir}/gm2/switches/auto-init/fail" -fsoft-check-all -O2 -fauto-init -fm2-pathname=- -I${srcdir}/gm2/switches/auto-init/fail +gm2_init_pim2 "${srcdir}/gm2/switches/auto-init/fail" -fm2-plugin -fsoft-check-all -O2 -fauto-init -fm2-pathname=- -I${srcdir}/gm2/switches/auto-init/fail foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] { # If we're only testing specific files and this isn't one of them, skip it. diff --git a/gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp b/gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp index bd2d72373ea1..e9595cf37af2 100644 --- a/gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp +++ b/gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp @@ -36,7 +36,7 @@ if $tracelevel then { # load support procs load_lib gm2-torture.exp -gm2_init_pim2 "${srcdir}/gm2/switches/check-all/pim2/fail" -fsoft-check-all -O2 -g -fm2-pathname=- -I${srcdir}/gm2/switches/check-all/pim2/fail +gm2_init_pim2 "${srcdir}/gm2/switches/check-all/pim2/fail" -fsoft-check-all -fm2-plugin -O2 -g -fm2-pathname=- -I${srcdir}/gm2/switches/check-all/pim2/fail foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] { # If we're only testing specific files and this isn't one of them, skip it. diff --git a/gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp b/gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp index b6a90ba3abb4..a3d40ae62087 100644 --- a/gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp +++ b/gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp @@ -45,7 +45,7 @@ set TORTURE_OPTIONS [list \ { -O3 -fsoft-check-all } \ { -O3 -g -fsoft-check-all } ] -gm2_init_iso "${srcdir}/gm2/switches/check-all/plugin/iso/fail/" +gm2_init_iso "${srcdir}/gm2/switches/check-all/plugin/iso/fail/" -fm2-plugin foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] { # If we're only testing specific files and this isn't one of them, skip it. diff --git a/gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp b/gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp index a934961ddce2..d6b1a77b17b7 100644 --- a/gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp +++ b/gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp @@ -45,7 +45,7 @@ set TORTURE_OPTIONS [list \ { -O3 -fsoft-check-all } \ { -O3 -g -fsoft-check-all } ] -gm2_init_pim2 "${srcdir}/gm2/switches/check-all/plugin/pim2/fail/" +gm2_init_pim2 "${srcdir}/gm2/switches/check-all/plugin/pim2/fail/" -fm2-plugin foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] { # If we're only testing specific files and this isn't one of them, skip it.