Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
ah no - lto builds fine. But with make profiledbootstrap it errors out with: gm2/gm2-libs-boot/pthdummy.o: In function `pth_init': /home/gaius/GM2/graft-trunk/build-lto-trunk/gcc/../../gcc-versionno/gcc/gm2/gm2-libs-ch/pthdummy.c:48: undefined reference to `__gcov_indirect_call' the positive is that again I'm focused back onto replacing libpth regards, Gaius From: Matthias Klose Sent: 01 October 2019 13:46 To: Gaius Mulley ; gcc@gcc.gnu.org Subject: Re: state of play/strategy for including Modula-2 into the trunk (licence queries) On 30.09.19 18:46, Gaius Mulley wrote: > again is this sensible? Are there [obvious] issues I've missed? does the profiled LTO build now work? I didn't check recently myself. Matthias
Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
On 30.09.19 18:46, Gaius Mulley wrote: again is this sensible? Are there [obvious] issues I've missed? does the profiled LTO build now work? I didn't check recently myself. Matthias
Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
Florian Weimer writes: > * Gaius Mulley: > >>> The question is whether this is really necessary. Obviously, there is >>> no requirement to ship all supporting code under the GPL version 3 or >>> later for GCC. See the libffi subdirectory, which has its own >>> license. >> >> sure I think it is looking sensible to stop using libpth. gm2 only >> needs the two basic primitives create a context and switch to a context >> in any case. Furthermore it only needs these if the user wants >> coroutines. For most Modula-2 programs it isn't required. > > One possibility would be to have an implementation based on the > libgcc/gthr.h abstraction. It would not be very efficient if the user > is looking for coroutines, but it would avoid a dependency on yet > another thread library. yes thanks for the pointer - I will explore this in detail. It looks interesting as there is better potential for multi-language projects (m2/C++ maybe). regards, Gaius
Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
* Gaius Mulley: >> The question is whether this is really necessary. Obviously, there is >> no requirement to ship all supporting code under the GPL version 3 or >> later for GCC. See the libffi subdirectory, which has its own >> license. > > sure I think it is looking sensible to stop using libpth. gm2 only > needs the two basic primitives create a context and switch to a context > in any case. Furthermore it only needs these if the user wants > coroutines. For most Modula-2 programs it isn't required. One possibility would be to have an implementation based on the libgcc/gthr.h abstraction. It would not be very efficient if the user is looking for coroutines, but it would avoid a dependency on yet another thread library. Thanks, Florian
Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
Florian Weimer writes: > * Gaius Mulley: > >> gm2 does use GNU libpth (to create context and switch contexts). >> Although it doesn't need libpth for single process programs. I think >> the GNU libpth project is no longer maintained, so I've included it in: >> >> http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/libgm2/libpth/pth > > libpth is dead upstream, I think, so it's not an ideal choice. > >> I assuming this is okay as it is an official GNU project? It contains >> the important clause: >> >>> This library is free software; you can redistribute it and/or >>> modify it under the terms of the GNU Lesser General Public >>> License as published by the Free Software Foundation; either >>> version 2.1 of the License, or (at your option) any later version. >> >> in its source files - so I plan to bump this to GPL3 with runtime >> exception. Is this sensible and what is expected? > > Copyright has not been assigned to the FSF, so I wouldn't recommend > making this change without consulting the major copyright holders > first. ah thanks - really useful info, I hadn't realised the copyright was not assigned to the FSF. > The question is whether this is really necessary. Obviously, there is > no requirement to ship all supporting code under the GPL version 3 or > later for GCC. See the libffi subdirectory, which has its own > license. sure I think it is looking sensible to stop using libpth. gm2 only needs the two basic primitives create a context and switch to a context in any case. Furthermore it only needs these if the user wants coroutines. For most Modula-2 programs it isn't required. > (Note: I'm just a random bystander here, this is not official policy.) the feedback is really helpful - thanks, regards, Gaius
Re: state of play/strategy for including Modula-2 into the trunk (licence queries)
* Gaius Mulley: > gm2 does use GNU libpth (to create context and switch contexts). > Although it doesn't need libpth for single process programs. I think > the GNU libpth project is no longer maintained, so I've included it in: > > http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/libgm2/libpth/pth libpth is dead upstream, I think, so it's not an ideal choice. > I assuming this is okay as it is an official GNU project? It contains > the important clause: > >> This library is free software; you can redistribute it and/or >> modify it under the terms of the GNU Lesser General Public >> License as published by the Free Software Foundation; either >> version 2.1 of the License, or (at your option) any later version. > > in its source files - so I plan to bump this to GPL3 with runtime > exception. Is this sensible and what is expected? Copyright has not been assigned to the FSF, so I wouldn't recommend making this change without consulting the major copyright holders first. The question is whether this is really necessary. Obviously, there is no requirement to ship all supporting code under the GPL version 3 or later for GCC. See the libffi subdirectory, which has its own license. (Note: I'm just a random bystander here, this is not official policy.) Thanks, Florian
state of play/strategy for including Modula-2 into the trunk (licence queries)
Hello, I thought I'd seek advice on how to get the Modula-2 front end into trunk and also give a state of play. State of play = Currently the gm2-trunk passes all but one regression test on amd64. Other architectures/platforms vary. In early September the whole number overflow detection was completed, which was the final ISO feature required. The compiler and libraries completely implement the ISO standard. The good news is that the focus is now bug hunting/fixing/maintainance and updating all boiler-plates. I'm currently semi-manually walking the source tree updating all GPL boiler-plates. All compiler source files have been changed to GPL3. http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-compiler All library source files have been changed to GPL3 with runtime exception in these directories: http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs-min http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs-pim http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs-iso http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs-coroutines http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libiberty http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/gcc/gm2/gm2-libs-ch Is this correct? Without wishing to seem presumptuous - is it preferred to use the project name GCC or stick with GNU Modula-2? (I still need to visit: http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/libgm2) gm2 does use GNU libpth (to create context and switch contexts). Although it doesn't need libpth for single process programs. I think the GNU libpth project is no longer maintained, so I've included it in: http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno/libgm2/libpth/pth I assuming this is okay as it is an official GNU project? It contains the important clause: > This library is free software; you can redistribute it and/or > modify it under the terms of the GNU Lesser General Public > License as published by the Free Software Foundation; either > version 2.1 of the License, or (at your option) any later version. in its source files - so I plan to bump this to GPL3 with runtime exception. Is this sensible and what is expected? Anyway I thought it best to ask these questions even though there is still a little way to go - but the finishing line is in sight! (In terms of visiting each and every file and checking the boiler-plates). I've yet to tackle the regression test directory and the examples directory. I also need to check all Makefiles, script files and double check the texi files. Once the tree of source file visiting is complete, how should I proceed? My default plan would be to work on the compiler driver patches again after applying the changes advised. If/when they go through ask for a review of the tree for inclusion: http://git.savannah.gnu.org/cgit/gm2.git/tree/gcc-versionno again is this sensible? Are there [obvious] issues I've missed? What would you prefer? many thanks, regards, Gaius