gcc and 128-bit compare/exchange

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Thu Mar 12 21:13:19 GMT 2020


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.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.



More information about the Cygwin mailing list