Joel Sherrill created an issue: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5557

Assignee: Chris Johns

## Summary

These macros in libdl generate an overflow warning. I am suspicious that since 
this code originated from NetBSD, it is most likely used primarily on 64-bit 
SPARCs and these warnings are on 32-bit SPARCs.

```
../../../cpukit/libdl/rtl-mdreloc-sparc.c:200:16: warning: overflow in 
conversion from 'long long unsigned int' to 'int' changes value from 
'4294967295' to '-1' [-Woverflow]
  200 | #define _BM(x) (~(-(1ULL << (x))))
      |                ^
../../../cpukit/libdl/rtl-mdreloc-sparc.c:202:23: note: in expansion of macro 
'_BM'
  202 |     _BM(8),  _BM(16), _BM(32), /* RELOC_8, _16, _32 */
      |                       ^~~
../../../cpukit/libdl/rtl-mdreloc-sparc.c:200:16: warning: overflow in 
conversion from 'long long unsigned int' to 'int' changes value from 
'4294967295' to '-1' [-Woverflow]
  200 | #define _BM(x) (~(-(1ULL << (x))))
      |                ^
../../../cpukit/libdl/rtl-mdreloc-sparc.c:203:23: note: in expansion of macro 
'_BM'
  203 |     _BM(8),  _BM(16), _BM(32), /* DISP8, DISP16, DISP32 */
      |                       ^~~
../../../cpukit/libdl/rtl-mdreloc-sparc.c:200:16: warning: overflow in 
conversion from 'long long unsigned int' to 'int' changes value from 
'4294967295' to '-1' [-Woverflow]
  200 | #define _BM(x) (~(-(1ULL << (x))))
      |                ^
../../../cpukit/libdl/rtl-mdreloc-sparc.c:211:5: note: in expansion of macro 
'_BM'
  211 |     _BM(32)                    /* _UA32 */
      |     ^~~
```


## Steps to reproduce

Enable -_pendantic_ and disable _-Werror_.

<!-- Pre-set options
- milestone
-->

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5557
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to