RTEMS | cpukit/include/rtems/score: Cast applied to bitwise operations with signed operands (!1076)

Sebastian Huber (@sebhub) gitlab at rtems.org
Wed Feb 25 12:57:48 UTC 2026




Sebastian Huber started a new discussion on cpukit/include/rtems/score/processormaskimpl.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1076#note_143473

 >    uint32_t              index
 >  )
 >  {
 > -  long bits = mask->__bits[ index / _BITSET_BITS ];
 > +  unsigned long bits = (unsigned long) mask->__bits[ index / _BITSET_BITS ];

This doesn't fix the undefined behaviour. To properly fix this, you have to apply the fixes from FreeBSD to Newlib. Check out the FreeBSD sources, then review:

```
git log -p ./sys/sys/*bitset*
```

Apply the relevant patches to Newlib.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1076#note_143473
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260225/59d78a05/attachment-0001.htm>


More information about the bugs mailing list