mbox series

[v2,0/7] tools/nolibc: fix some undefined behaviour and enable UBSAN

Message ID 20250419-nolibc-ubsan-v2-0-060b8a016917@weissschuh.net
Headers show
Series tools/nolibc: fix some undefined behaviour and enable UBSAN | expand

Message

Thomas Weißschuh April 19, 2025, 10:46 a.m. UTC
Fix some issues uncovered by UBSAN and enable UBSAN for nolibc-test to
avoid regressions.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v2:
- Introduce and use __nolibc_aligned_as()
- Reduce size of fixes to i{64,}toa_r()
- Link to v1: https://lore.kernel.org/r/20250416-nolibc-ubsan-v1-0-c4704bb23da7@weissschuh.net

---
Thomas Weißschuh (7):
      tools/nolibc: add __nolibc_has_feature()
      tools/nolibc: add __nolibc_aligned() and __nolibc_aligned_as()
      tools/nolibc: disable function sanitizer for _start_c()
      tools/nolibc: properly align dirent buffer
      tools/nolibc: fix integer overflow in i{64,}toa_r() and
      selftests/nolibc: disable ubsan for smash_stack()
      selftests/nolibc: enable UBSAN if available

 tools/include/nolibc/compiler.h              | 9 +++++++++
 tools/include/nolibc/crt.h                   | 5 +++++
 tools/include/nolibc/dirent.h                | 3 ++-
 tools/include/nolibc/stdlib.h                | 4 ++--
 tools/testing/selftests/nolibc/Makefile      | 3 ++-
 tools/testing/selftests/nolibc/nolibc-test.c | 1 +
 6 files changed, 21 insertions(+), 4 deletions(-)
---
base-commit: 7c73c10b906778384843b9d3ac6c2224727bbf5c
change-id: 20250416-nolibc-ubsan-028401698654

Best regards,