X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com Subject: Re: gcc and 128-bit compare/exchange To: cygwin AT cygwin DOT com, Brian Inglis References: <66f51c13-4c87-3bd6-3b8e-01901155ef2a AT SystematicSw DOT ab DOT ca> <0a2c77b2-7ff2-8118-8631-29d186184ad9 AT SystematicSw DOT ab DOT ca> <0fc8a150-99b1-34dc-0dfb-a096fc3b2096 AT cs DOT umass DOT edu> <314e9077-6e0a-70cc-5b31-4fab2c755581 AT SystematicSw DOT ab DOT ca> <6247a9c3-88b1-2ed0-31eb-408d709f5897 AT cs DOT umass DOT edu> From: Eliot Moss Message-ID: <4284f5b0-8328-6a7e-365e-1a8429bbc9ac@cs.umass.edu> Date: Thu, 12 Mar 2020 18:49:04 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: moss AT cs DOT umass DOT edu Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 02CMncq6005628 On 3/12/2020 5:13 PM, Brian Inglis wrote: > On 2020-03-11 21:36, Eliot Moss wrote: >> On 3/11/2020 12:30 PM, Brian Inglis wrote: >>> On 2020-03-11 00:13, Eliot Moss wrote: >>>> On 3/11/2020 1:31 AM, Brian Inglis wrote: >> >>> There are gcc bugzilla comments about requiring gcc to be built with glibc >>> libatomic to guarantee indirect inline functions support, and presumably glibc >>> detecting gcc indirect inline functions support, and not supporting other libc >>> variants including musl, newlib, uclibc, etc. >>> >>> The problem is that newlib is BSD licensed and glibc is GPL and you can not >>> contaminate newlib by looking at or including GPL code, although you may be able >>> to do so in the Cygwin winsup library. >> >> Hmm.  Well, I just install standard stuff on Linux and then on Cygwin, and >> I see different behavior.  I don't know how licenses come into that (I'm not >> saying they don't, only that it exceeds my knowledge).  Are you saying that >> Cygwin's build of gcc is intended to work with other libraries in addition >> to glibc, and hence Cygwin's gcc might have been built without some stuff >> to avoid license contamination? > > All gccs allow building and working with any adequate libc including musl, > newlib, uclibc, etc. but on Cygwin it is winsup for system stuff with newlib for > generic stuff. > > All I was pointing out was that while you could not copy LGPLed glibc libatomic > code to BSD licensed newlib, you should be able to copy LGPLed glibc libatomic > code to LGPLed Cygwin winsup libc, if you want to enable it with ifuncs, > assuming they work under Windows. > >> It is probably not worth my while to do my own build of gcc just for this. >> I can just write my own wrapper for the __sync function.  But it seemed >> wrong / broken to me that the __atomic builtin did not do what was expected. >> >> (Brian, are you the maintainer, or is there someone else with whom the >> conversation would be taken up? > > It's gcc maintainer (see announcement but post here), and base project > committers for newlib (via newlib AT sourceware DOT org) and winsup (via cygwin > DASH patches AT cygwin DOT com), ml archives in same place as Cygwin lists. Thank you for the additional information. At this point, I remain a little unclear as to what you are suggesting my next step should be: - Are you suggesting I do my own private build? - Are you suggesting that I email those other lists? - Are you thinking that the relevant maintainer would be reading this and that, for the moment, I should just wait for further response? Regards - Eliot -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple