[PATCH] sys/types.h: Avoid bit-manipulation of signed values
Joel Sherrill
joel.sherrill@oarcorp.com
Wed Nov 18 07:47:00 GMT 2015
On 11/17/2015 1:17 AM, Sebastian Huber wrote:
>
>
> On 16/11/15 12:55, Corinna Vinschen wrote:
>> On Nov 16 11:52, Sebastian Huber wrote:
>>>> On 14/11/15 10:55, Corinna Vinschen wrote:
>>>>>> On Nov 13 15:44, Sebastian Huber wrote:
>>>>>>>>>> On 13/11/15 10:53, Corinna Vinschen wrote:
>>>>>>>>>>>>>> RTEMS guys, any input on how you handle this stuff? Do we have to stick
>>>>>>>>>>>>>> to sys/types.h or shall we carefully rearrange the definitions to be
>>>>>>>>>>>>>> better aligned with BSD, Linux, et al?
>>>>>>>>>>
>>>>>>>>>> It would be good to rearrange the definitions to be better aligned with BSD
>>>>>>>>>> and Linux. My long term goal is to get rid of the RTEMS-specific param.h
>>>>>>>>>> (newlib/libc/sys/rtems/include/sys/param.h).
>>>>>> Sounds good. What about sys/select.h and the matching macros in
>>>>>> sys/types.h?
>>>>
>>>> Newlib has currently no sys/select.h. RTEMS provides its own copy of this
>>>> file. Do you plan to import a sys/select.h into Newlib and use it for
>>>> Cygwin?
>> Cygwin is using its own copy of sys/select.h. I hacked a bit on this
>> and I came up with a sys/select.h which works for Cygwin and which might
>> be ok for inclusion into newlib. See the attached patch. I removed the
>> source patches required to make this work on Cygwin, so this patch only
>> shows what affects all targets.
>>
>> Note especially:
>>
>> - I moved NBBY to sys/param.h.
>>
>> - Define howmany in sys/param.h.
>>
>> In sys/select.h, as on FreeBSD:
>>
>> - Use "8" instead of "NBBY" (avoids dependency to sys/param.h).
>>
>> - Redefine fd_mask as unsigned long, rather than signed long.
>>
>> - Use _howmany instead of howmany.
>>
>> Please have a look if these changes would be ok for you.
>
> Looks good. I need some time to use this in RTEMS, since I am currently
> busy with other stuff and this is only a nice to have.
>
Agreed. In general, we don't want to have our own versions of
standard .h files.
--joel
More information about the Newlib
mailing list