[PATCH nolibc 0/19] Updates to nolibc for v6.7 (and three for v6.6)

From: Paul E. McKenney
Date: Thu Oct 12 2023 - 15:32:30 EST


Hello!

This series contains nolibc updates, with the first three (1-3) being
urgent for v6.6 and the remainder (4-19) being for the upcoming v6.7
merge window.

1. tools/nolibc: i386: Fix a stack misalign bug on _start, courtesy
of Ammar Faizi.

2. MAINTAINERS: nolibc: update tree location, courtesy of Thomas
Weißschuh.

3. tools/nolibc: mark start_c as weak, courtesy of Thomas Weißschuh.

4. tools/nolibc: add stdarg.h header, courtesy of Thomas Weißschuh.

5. selftests/nolibc: use -nostdinc for nolibc-test, courtesy of
Thomas Weißschuh.

6. tools/nolibc: x86-64: Use `rep movsb` for `memcpy()` and
`memmove()`, courtesy of Ammar Faizi.

7. tools/nolibc: x86-64: Use `rep stosb` for `memset()`, courtesy
of Ammar Faizi.

8. tools/nolibc: string: Remove the `_nolibc_memcpy_down()` function,
courtesy of Ammar Faizi.

9. tools/nolibc: string: Remove the `_nolibc_memcpy_up()` function,
courtesy of Ammar Faizi.

10. selftests/nolibc: libc-test: avoid -Wstringop-overflow warnings,
courtesy of Thomas Weißschuh.

11. selftests/nolibc: don't embed initramfs into kernel image,
courtesy of Thomas Weißschuh.

12. selftests/nolibc: allow building i386 with multiarch compiler,
courtesy of Thomas Weißschuh.

13. tools/nolibc: avoid unused parameter warnings for ENOSYS
fallbacks, courtesy of Thomas Weißschuh.

14. tools/nolibc: don't define new syscall number, courtesy of
Thomas Weißschuh.

15. tools/nolibc: automatically detect necessity to use pselect6,
courtesy of Thomas Weißschuh.

16. tools/nolibc: drop test for getauxval(AT_PAGESZ), courtesy of
Thomas Weißschuh.

17. tools/nolibc: add support for constructors and destructors,
courtesy of Thomas Weißschuh.

18. selftests/nolibc: use qemu-system-ppc64 for ppc64le, courtesy
of Thomas Weißschuh.

19. selftests/nolibc: add tests for multi-object linkage, courtesy
of Thomas Weißschuh.

Thanx, Paul

------------------------------------------------------------------------

b/MAINTAINERS | 2
b/tools/include/nolibc/Makefile | 1
b/tools/include/nolibc/arch-aarch64.h | 3
b/tools/include/nolibc/arch-i386.h | 4 -
b/tools/include/nolibc/arch-loongarch.h | 4 -
b/tools/include/nolibc/arch-riscv.h | 3
b/tools/include/nolibc/arch-x86_64.h | 29 ++++++++
b/tools/include/nolibc/crt.h | 1
b/tools/include/nolibc/nolibc.h | 4 -
b/tools/include/nolibc/stdarg.h | 16 ++++
b/tools/include/nolibc/stdio.h | 3
b/tools/include/nolibc/string.h | 4 +
b/tools/include/nolibc/sys.h | 2
b/tools/testing/selftests/nolibc/.gitignore | 1
b/tools/testing/selftests/nolibc/Makefile | 2
b/tools/testing/selftests/nolibc/nolibc-test-linkage.c | 26 +++++++
b/tools/testing/selftests/nolibc/nolibc-test-linkage.h | 9 ++
b/tools/testing/selftests/nolibc/nolibc-test.c | 6 -
tools/include/nolibc/arch-x86_64.h | 13 +++
tools/include/nolibc/crt.h | 23 ++++++
tools/include/nolibc/string.h | 32 ++------
tools/include/nolibc/sys.h | 61 +++++++++--------
tools/testing/selftests/nolibc/Makefile | 57 +++++++++------
tools/testing/selftests/nolibc/nolibc-test.c | 22 +++++-
24 files changed, 234 insertions(+), 94 deletions(-)