From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89058 invoked by alias); 10 Jul 2019 16:53:37 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 89050 invoked by uid 89); 10 Jul 2019 16:53:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 spammy= X-HELO: einhorn-mail.in-berlin.de Received: from einhorn-mail.in-berlin.de (HELO einhorn-mail.in-berlin.de) (217.197.80.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 10 Jul 2019 16:53:35 +0000 X-Envelope-From: doko@ubuntu.com Received: from authenticated.user (localhost [127.0.0.1]) by einhorn.in-berlin.de with ESMTPSA id x6AGrWou011406 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 10 Jul 2019 18:53:32 +0200 Subject: Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2) To: Gaius Mulley , gcc-patches@gcc.gnu.org References: <87k1doxqhv.fsf@j228-gm.comp.glam.ac.uk> <4f24bf01-c5b9-22d0-3e86-5a2f9221afb7@ubuntu.com> From: Matthias Klose Openpgp: preference=signencrypt Message-ID: <8681ab8d-1b67-7ee6-1cd2-d8cbb8ca937b@ubuntu.com> Date: Wed, 10 Jul 2019 17:11:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <4f24bf01-c5b9-22d0-3e86-5a2f9221afb7@ubuntu.com> Content-Type: multipart/mixed; boundary="------------53D36AAA64A83E80274BCDC8" X-SW-Source: 2019-07/txt/msg00817.txt.bz2 This is a multi-part message in MIME format. --------------53D36AAA64A83E80274BCDC8 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 2890 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. --------------53D36AAA64A83E80274BCDC8 Content-Type: text/x-patch; name="install.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="install.diff" Content-length: 1247 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 ; \ --------------53D36AAA64A83E80274BCDC8--