On 09.07.19 23:35, Matthias Klose wrote: > On 08.07.19 23:19, Matthias Klose wrote: >> On 14.06.19 15:09, Gaius Mulley wrote: >>> >>> Hello, >>> >>> here is version two of the patches which introduce Modula-2 into the >>> GCC trunk. The patches include: >>> >>> (*) a patch to allow all front ends to register a lang spec function. >>> (included are patches for all front ends to provide an empty >>> callback function). >>> (*) patch diffs to allow the Modula-2 front end driver to be >>> built using GCC Makefile and friends. >>> >>> The compressed tarball includes: >>> >>> (*) gcc/m2 (compiler driver and lang-spec stuff for Modula-2). >>> Including the need for registering lang spec functions. >>> (*) gcc/testsuite/gm2 (a Modula-2 dejagnu test to ensure that >>> the gm2 driver is built and can understands --version). >>> >>> These patches have been re-written after taking on board the comments >>> found in this thread: >>> >>> https://gcc.gnu.org/ml/gcc-patches/2013-11/msg02620.html >>> >>> it is a revised patch set from: >>> >>> https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00220.html >>> >>> I've run make bootstrap and run the regression tests on trunk and no >>> extra failures occur for all languages touched in the ChangeLog. >>> >>> I'm currently tracking gcc trunk and gcc-9 with gm2 (which works well >>> with amd64/arm64/i386) - these patches are currently simply for the >>> driver to minimise the patch size. There are also > 1800 tests in a >>> dejagnu testsuite for gm2 which can be included at some future time. >> >> I had a look at the GCC 9 version of the patches, with a build including a >> make >> install. Some comments: > > [...] > >> - The internal tools in the gcclibdir are installed twice, with >> both vanilla names and prefixed/suffixed names. >> The installed tree: >> >> ./usr/bin >> ./usr/bin/x86_64-linux-gnu-gm2-9 >> ./usr/bin/x86_64-linux-gnu-gm2m-9 >> ./usr/lib/gcc/x86_64-linux-gnu >> ./usr/lib/gcc/x86_64-linux-gnu/9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/cc1gm2 >> ./usr/lib/gcc/x86_64-linux-gnu/9/gm2l >> ./usr/lib/gcc/x86_64-linux-gnu/9/gm2lcc >> ./usr/lib/gcc/x86_64-linux-gnu/9/gm2lgen >> ./usr/lib/gcc/x86_64-linux-gnu/9/gm2lorder >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-cc1gm2-9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-gm2l-9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-gm2lcc-9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-gm2lgen-9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-gm2lorder-9 >> ./usr/lib/gcc/x86_64-linux-gnu/9/x86_64-linux-gnu-gm2m-9 > > With a fresh build, configured with > > --program-suffix=-9 > --program-prefix=x86_64-linux-gnu- > > the latter set of internal binaries is installed, while I would expect just > the > un-pre/post-fixed tool names.
fixed by the attached patch.
diff --git a/gcc-versionno/gcc/gm2/Make-lang.in b/gcc-versionno/gcc/gm2/Make-lang.in index 6fc4ee84..81f5cbbc 100644 --- a/gcc-versionno/gcc/gm2/Make-lang.in +++ b/gcc-versionno/gcc/gm2/Make-lang.in @@ -373,12 +373,11 @@ gm2.install-common: installdirs $(GM2_LINK_TOOLS_BOOT) \ chmod a+x $(DESTDIR)$(bindir)/$(GM2_INSTALL_NAME)$(exeext); \ for tool in stage1/gm2/cc1gm2$(exeext) \ $(GM2_LINK_TOOLS_BOOT) stage1/gm2/gm2m$(exeext) ; do \ - toolbase=`basename $$tool` ; \ - tool_transformed_name=`echo $$toolbase|sed '$(program_transform_name)'`; \ + tool_name=`basename $$tool` ; \ if [ -f $$tool ]; then \ - rm -f $(DESTDIR)$(libexecsubdir)/$$tool_transformed_name; \ - $(INSTALL_PROGRAM) $$tool $(DESTDIR)$(libexecsubdir)/$$tool_transformed_name; \ - chmod a+x $(DESTDIR)$(libexecsubdir)/$$tool_transformed_name; \ + rm -f $(DESTDIR)$(libexecsubdir)/$$tool_name; \ + $(INSTALL_PROGRAM) $$tool $(DESTDIR)$(libexecsubdir)/$$tool_name; \ + chmod a+x $(DESTDIR)$(libexecsubdir)/$$tool_name; \ else \ echo "odd cannot find $$tool" ; \ fi ; \