* gm2 development status (tracking gcc-12 20211209)
@ 2021-12-16 20:43 Gaius Mulley
2021-12-17 6:07 ` Richard Biener
0 siblings, 1 reply; 3+ messages in thread
From: Gaius Mulley @ 2021-12-16 20:43 UTC (permalink / raw)
To: rguenther, gcc
I've been testing the gm2 development branch (based on gcc-12)
against lto and non lto builds.
git clone git://gcc.gnu.org/git/gcc.git gcc-git
cd gcc-git
git checkout devel/modula-2
I'm using the configure options:
CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
--prefix=$HOME/${INSTALLDIR} \
--libexecdir=$HOME/${INSTALLDIR}/lib \
--enable-threads=posix \
--enable-clocale=gnu --enable-languages=${LANGUAGES} \
--disable-multilib --enable-checking \
--enable-long-longx \
--enable-bootstrap
and building using: make -j 12.
Without lto the repro above (from Dec 9th) passes all gm2 regressions
on the amd64 architecture and does not introduce any regression tests
for the languages (c,c++,go,fortran).
With lto there are no extra errors introduced compared between other
languages. However I do see many large set regression test failures
in gm2 when lto is enabled. I'm using the configure arguments:
CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
--prefix=$HOME/${INSTALLDIR} \
--libexecdir=$HOME/${INSTALLDIR}/lib \
--enable-threads=posix \
--enable-clocale=gnu --enable-languages=${LANGUAGES} \
--disable-multilib --enable-checking \
--enable-long-longx \
--enable-bootstrap \
--with-build-config=bootstrap-lto-lean
and building with
make -j 12 profiledbootstrap-lean
The good news is that I can test and hunt for the large set failures
(diff the execution of the cc1gm2 built with/without lto) and also good
that gm2 builds with lto. [Interestingly there has been a problem with
large sets and sparc64 and a 64 bit powerppc variant - so hopefully this
could all be the same bug.. maybe]. From some time ago I have a python
script which will run two copies of gdb/cc1gm2 and single step both in
lock step and dump out when they differ.
Aside from the bug(s) above it is looking pretty stable - and was
wondering when or if it would be a good time to merge gm2 into the
trunk?
In the meantime I'll hunt the gm2/lto bug above and keep git merging
(approx weekly) and feed in small patches to the gm2 development
branch,
regards,
Gaius
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: gm2 development status (tracking gcc-12 20211209)
2021-12-16 20:43 gm2 development status (tracking gcc-12 20211209) Gaius Mulley
@ 2021-12-17 6:07 ` Richard Biener
2021-12-17 10:24 ` Gaius Mulley
0 siblings, 1 reply; 3+ messages in thread
From: Richard Biener @ 2021-12-17 6:07 UTC (permalink / raw)
To: Gaius Mulley, gcc
On December 16, 2021 9:43:56 PM GMT+01:00, Gaius Mulley <gaiusmod2@gmail.com> wrote:
>
>
>I've been testing the gm2 development branch (based on gcc-12)
>against lto and non lto builds.
>
> git clone git://gcc.gnu.org/git/gcc.git gcc-git
> cd gcc-git
> git checkout devel/modula-2
>
>I'm using the configure options:
>
> CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
> --prefix=$HOME/${INSTALLDIR} \
> --libexecdir=$HOME/${INSTALLDIR}/lib \
> --enable-threads=posix \
> --enable-clocale=gnu --enable-languages=${LANGUAGES} \
> --disable-multilib --enable-checking \
> --enable-long-longx \
> --enable-bootstrap
>
>and building using: make -j 12.
>
>Without lto the repro above (from Dec 9th) passes all gm2 regressions
>on the amd64 architecture and does not introduce any regression tests
>for the languages (c,c++,go,fortran).
>
>With lto there are no extra errors introduced compared between other
>languages. However I do see many large set regression test failures
>in gm2 when lto is enabled. I'm using the configure arguments:
>
> CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
> --prefix=$HOME/${INSTALLDIR} \
> --libexecdir=$HOME/${INSTALLDIR}/lib \
> --enable-threads=posix \
> --enable-clocale=gnu --enable-languages=${LANGUAGES} \
> --disable-multilib --enable-checking \
> --enable-long-longx \
> --enable-bootstrap \
> --with-build-config=bootstrap-lto-lean
>
>and building with
>
> make -j 12 profiledbootstrap-lean
>
>The good news is that I can test and hunt for the large set failures
>(diff the execution of the cc1gm2 built with/without lto) and also good
>that gm2 builds with lto. [Interestingly there has been a problem with
>large sets and sparc64 and a 64 bit powerppc variant - so hopefully this
>could all be the same bug.. maybe]. From some time ago I have a python
>script which will run two copies of gdb/cc1gm2 and single step both in
>lock step and dump out when they differ.
>
>Aside from the bug(s) above it is looking pretty stable - and was
>wondering when or if it would be a good time to merge gm2 into the
>trunk?
Merging early in stage1 would make most sense.
Richard.
>In the meantime I'll hunt the gm2/lto bug above and keep git merging
>(approx weekly) and feed in small patches to the gm2 development
>branch,
>
>regards,
>Gaius
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: gm2 development status (tracking gcc-12 20211209)
2021-12-17 6:07 ` Richard Biener
@ 2021-12-17 10:24 ` Gaius Mulley
0 siblings, 0 replies; 3+ messages in thread
From: Gaius Mulley @ 2021-12-17 10:24 UTC (permalink / raw)
To: Richard Biener; +Cc: gcc, doko
Richard Biener <rguenther@suse.de> writes:
>>Aside from the bug(s) above it is looking pretty stable - and was
>>wondering when or if it would be a good time to merge gm2 into the
>>trunk?
>
> Merging early in stage1 would make most sense.
yes, sure - sounds sensible. I'll polish, patch, git merge, test and
bug hunt in devel/modula-2 ready for inclusion early in stage1,
regards,
Gaius
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-12-17 10:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-16 20:43 gm2 development status (tracking gcc-12 20211209) Gaius Mulley
2021-12-17 6:07 ` Richard Biener
2021-12-17 10:24 ` Gaius Mulley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).