From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailsrv.cs.umass.edu (mailsrv.cs.umass.edu [128.119.240.136]) by sourceware.org (Postfix) with ESMTPS id 61C3F39DC4E9 for ; Thu, 12 Mar 2020 22:49:09 +0000 (GMT) Received: from [10.28.58.21] (unknown [150.203.68.60]) by mailsrv.cs.umass.edu (Postfix) with ESMTPSA id D09DF401C1A6; Thu, 12 Mar 2020 18:49:07 -0400 (EDT) Reply-To: moss@cs.umass.edu Subject: Re: gcc and 128-bit compare/exchange To: cygwin@cygwin.com, Brian Inglis References: <66f51c13-4c87-3bd6-3b8e-01901155ef2a@SystematicSw.ab.ca> <0a2c77b2-7ff2-8118-8631-29d186184ad9@SystematicSw.ab.ca> <0fc8a150-99b1-34dc-0dfb-a096fc3b2096@cs.umass.edu> <314e9077-6e0a-70cc-5b31-4fab2c755581@SystematicSw.ab.ca> <6247a9c3-88b1-2ed0-31eb-408d709f5897@cs.umass.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-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit 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@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 22:49:10 -0000 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