This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Cygwin: Implement sched_[gs]etaffinity() commit breaks RTEMS port
On 2019-06-29 06:38, Eric Blake wrote:
> On 6/28/19 7:57 PM, Mark Geisert wrote:
>> Please forgive my ignorance of licensing details... Are we allowed to
>> copy GNU library source into Cygwin?
> Cygwin is a different beast (it has GPL code, but still tries to avoid
> wholesale imports from glibc, preferring to copy from BSD where
> possible). But you asked a question on the newlib list, and here the
> answer is a definitive now - newlib cannot include [L]GPL code, so
> copying from glibc is forbidden.
>> Or is re-implementation from documentation the way to go?
> Correct, unless you can find an existing BSD implementation with
> appropriate semantics to copy.
>> In either case, must the glibc file organization be followed or is
>> platform-specific rejiggering acceptable?
> The more you copy glibc's layout, the more questionable it is on whether you
> did inappropriate copying. What matters more is getting something that
> implements the right semantics.
>> I'd like to just add the CPU_SET macros to Cygwin's new sys/cpuset.h and
>> any needed support code to our sched.cc but am willing to hear other
>> options.
As already mentioned, the required headers and macros already exist under:
https://cygwin.com/git/gitweb.cgi?f=newlib/libc/sys/rtems/include/sys;a=tree;p=newlib-cygwin.git
in _bitset.h, _cpuset.h, bitset.h, cpuset.h, and
https://cygwin.com/git/gitweb.cgi?f=newlib/libc/sys/linux/include/sched.h;a=blob;p=newlib-cygwin.git
--
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.