Hi Jonathan, Thanks for that, that's all useful information. I've had a more detailed chat with our legal people and I think getting this fixed in master solves the problem for us. I had wondered whether it would be possible to bump the 11.2 tag to include this change because it's not code, but actually that shouldn't be necessary. It looks like we don't use barrier at the moment, and we're unlikely to do so any time soon. Thanks, Tom On Tue, 6 Sept 2022 at 11:56, Jonathan Wakely wrote: > On Tue, 6 Sept 2022 at 11:29, Tom James wrote: > > > > Hi, > > > > I'm working on a closed-source c++ project that compiles with gcc 11.2. > We > > need to ship the GNU 11.2 run-time alongside our product, and it looks > like > > the std::barrier header is missing the GPL3 carve-out for shipping > > run-times. > > Ouch, I'm pretty sure that's unintentional. I'll go back through my > email to confirm that. > > > > For the purposes of comparison, let's look at algorithm: > > > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm > > > > Lines 16-18 read as follows: > > // Under Section 7 of GPL version 3, you are granted additional > > // permissions described in the GCC Runtime Library Exception, version > > // 3.1, as published by the Free Software Foundation. > > > > These lines are necessary to prevent the GPL infecting our closed-source > > code. > > What exactly are you shipping? There is no code from in > libstdc++.so so unless your own code is including the header > and odr-using the inline functions and templates in that header, I > think your compiled code will not be affected by the license of > . If you are including that header in the works you > propagate, or shipping it to customers for compiling their own works > which they will propagate, then the license exception matters. > > > The barrier header appears to be missing these lines: > > > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier > > > > > > Would it be possible to please make the following changes? > > 1. Add these lines to the master branch, > > 2. Backport these lines to gnu 11.2 (which is the most recent version > > supported by our toolchain). > > No, we can't backport anything to 11.2 because that's already been > released. > > I'll add it to the master, gcc-12, and gcc-11 branches, which will > mean it's present for 11.4, 12.3 and 13.1 (and all releases that > follow them). > > If you are producing a combined work that includes the code, > then unless/until you're able to wait for 11.4 and use that, you could > copy the fixed header into your own GCC 11.2 that you distribute. > -- Tom James Siemens Digital Industries Software Simulation and Test Solutions, Solution Domains Development, Server, Platform, Simulation Framework, High Performance Computing thomasjames@siemens.com sw.siemens.com