[PATCH] sys/types.h: Avoid bit-manipulation of signed values

Sebastian Huber sebastian.huber@embedded-brains.de
Tue Nov 17 13:44:00 GMT 2015



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.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Newlib mailing list