From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26058 invoked by alias); 9 Jul 2019 12:27:36 -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 26050 invoked by uid 89); 9 Jul 2019 12:27:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=dist, K, vast, majority X-HELO: smtp.CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE (HELO smtp.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 09 Jul 2019 12:27:34 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 46B419EC; Tue, 9 Jul 2019 14:27:26 +0200 (CEST) Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 1Ab1C+D8qz2i; Tue, 9 Jul 2019 14:27:22 +0200 (CEST) Received: from itzacchiuatl.CeBiTec.Uni-Bielefeld.DE (itzacchiuatl.CeBiTec.Uni-Bielefeld.DE [129.70.161.157]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id 625999EA; Tue, 9 Jul 2019 14:27:22 +0200 (CEST) Received: (from ro@localhost) by itzacchiuatl.CeBiTec.Uni-Bielefeld.DE (8.15.2+Sun/8.15.2/Submit) id x69CRKC1006348; Tue, 9 Jul 2019 14:27:20 +0200 (CEST) From: Rainer Orth To: Matthias Klose Cc: Gaius Mulley , gcc-patches@gcc.gnu.org Subject: Re: [PATCH, Modula-2 (C/C++/D/F/Go/Jit)] (Register spec fn) (v2) References: <87k1doxqhv.fsf@j228-gm.comp.glam.ac.uk> Date: Tue, 09 Jul 2019 12:31:00 -0000 In-Reply-To: (Matthias Klose's message of "Mon, 8 Jul 2019 23:19:34 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (usg-unix-v) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00688.txt.bz2 --=-=-= Content-Type: text/plain Content-length: 924 Hi Matthias, > I had a look at the GCC 9 version of the patches, with a build including a make > install. Some comments: > > - A parallel build (at least with -j4) isn't working. A sequental > build works fine. I think forcing a sequential build will not > work well, increasing the build time too much. absolutely: I'd go as far as claiming that this is the number one priority. Otherwise build and test times are just too long for all but the most dedicated testers, and forcing a sequential build would be a showstopper for trunk integration. The same holds for the current requirement of a non-bootstrap build. At least that's what I saw initially: it may be that it works sequentially, but haven't tried since the build time was way too long already. > - libgm2 multilib builds are not working. //32/libgm2 > is configured, but not built. True, but the fix is a simple one-liner: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=ml.patch Content-length: 283 --- ../../../m2/dist/gcc-versionno/libgm2/Makefile.am 2019-06-06 15:17:19.634469354 +0000 +++ libgm2/Makefile.am 2019-07-09 00:41:23.214142811 +0000 @@ -97,3 +97,5 @@ # Subdir rules rely on $(FLAGS_TO_PASS) FLAGS_TO_PASS = $(AM_MAKEFLAGS) + +include $(top_srcdir)/../multilib.am --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 3848 This allowed me to build both 32 and 64-bit gm2 libs on i386-pc-solaris2.11 and get the testresults I reported earlier, which are identical for -m32 and -m64. Here are a couple of other issues I saw: * There are many many warnings during the build in the gcc/gm2 code. * The mc output is far too verbose right now: this isn't of interest to anyone but gm2 developers ;-) * Running make check-gm2 in gcc produces gm2 testsuite output directly in gcc/testsuite. This needs to go into a testsuite/gm2 subdir (or gm2 once the testsuite is parallelized: it is far too large to only run sequentially). * Many tests FAIL like this: ESC[01mESC[Kxgm2:ESC[mESC[K ESC[01;31mESC[Kfatal error: ESC[mESC[Kcannot ex= ecute =EF=BF=BD<80><98>ESC[01mESC[Kgm2lESC[mESC[K=EF=BF=BD<80><99>: execvp:= No such file or directory compilation terminated. compiler exited with status 1 FAIL: gm2/calling-c/datatypes/unbounded/run/pass/m.mod compilation, -g=20 For one, I didn't have gm2l anywhere in my tree. Besides, the tests absolutely need to be run with -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=3Dnever This problem seems to account for the vast majority of failing tests right now: 6820 xgm2: fatal error: cannot execute =E2=80=98gm2l=E2=80=99: execvp: N= o such file or directory 6 xgm2: fatal error: no input files gm2l and a couple of other tools are built by gm2/Make-lang.in's gm2.all.build rule, that the seems not to be referenced anywhere. Even after manually building them, the stay in stage1/gm2 and need a make gm2l to be copied into gcc/gm2. This all needs to work without such manual steps or without installing gm2 first. * There are a couple of broken testcase names in gm2.sum, e.g. PASS: /vol/gcc/src/hg/trunk/solaris/gcc/testsuite/gm2/pim/options/optimize/= run/pass/addition.mod compilation, -g {compiler=3D/var/gcc/gcc-10.0.0-20190= 708/11.5-gcc-gas-gm2-no-bootstrap-j1/gcc/xgm2 -B/var/gcc/gcc-10.0.0-2019070= 8/11.5-gcc-gas-gm2-no-bootstrap-j1/gcc -I/var/gcc/gcc-10.0.0-20190708/11.5-= gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libpim:/vol/gcc/sr= c/hg/trunk/solaris/gcc/testsuite/../gm2/gm2-libs -I/var/gcc/gcc-10.0.0-2019= 0708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libiso:/= vol/gcc/src/hg/trunk/solaris/gcc/testsuite/../gm2/gm2-libs-iso -I/vol/gcc/s= rc/hg/trunk/solaris/gcc/testsuite/gm2/pim/options/optimize/run/pass -fpim -= L/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-gm2-no-bootstrap-j1/i386-pc-sola= ris2.11/./libgm2/libpim/.libs -L/var/gcc/gcc-10.0.0-20190708/11.5-gcc-gas-g= m2-no-bootstrap-j1/i386-pc-solaris2.11/./libgm2/libiso/.libs} Names are required to be unique, and must not contain absolute pathnames to allow for comparing different test results. All this stuff in braces above should go. With the missing gm2l worked around as above, my i386-pc-solaris2.11 testresults are way better now: =3D=3D=3D gm2 Summary for unix =3D=3D=3D # of expected passes 11186 # of unexpected failures 24 # of unresolved testcases 12 =3D=3D=3D gm2 Summary for unix/-m64 =3D=3D=3D # of expected passes 10976 # of unexpected failures 156 # of unresolved testcases 90 =3D=3D=3D gm2 Summary =3D=3D=3D # of expected passes 22162 # of unexpected failures 180 # of unresolved testcases 102 However, you may want to reconsider if really the whole gm2 testsuite needs to be torture-tested, i.e. run at -g/-O/-O -g/-Os/-O3 -fomit-frame-pointer/-O3 -fomit-frame-pointer -finline-functions. This seems pretty excessive to me. Rainer --=20 ---------------------------------------------------------------------------= -- Rainer Orth, Center for Biotechnology, Bielefeld University --=-=-=--