]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: Tier 6F + 6G — minor POSIX gaps, Bash/Busybox port infrastructure
authorTulio A M Mendes <[email protected]>
Sat, 14 Mar 2026 13:58:06 +0000 (10:58 -0300)
committerTulio A M Mendes <[email protected]>
Sat, 14 Mar 2026 13:58:06 +0000 (10:58 -0300)
commit2d2769ed0ccd36773b0b0368da0e26a1b8d2f45d
tree2914948d8aa16a9d6adcbc62fb0563c484bc36ce
parent97c7d8c38d56ddfb90cc886b8b656f04fa8bf597
feat: Tier 6F + 6G — minor POSIX gaps, Bash/Busybox port infrastructure

Tier 6F — Minor POSIX gaps:
- madvise kernel syscall (no-op, always succeeds) + ulibc wrapper
- execveat kernel syscall (AT_FDCWD mode, delegates to execve) + ulibc wrapper
- mntent.h + mntent.c: setmntent/getmntent/addmntent/endmntent/hasmntopt
  with full /etc/fstab-style whitespace-delimited parsing
- utmp.h + utmp.c: setutent/getutent/getutid/getutline/pututline/endutent
  stubs for login record compatibility (Bash, w, who, login)
- Fix duplicate ssize_t typedef: stdio.h now includes sys/types.h instead
  of redefining ssize_t as 'long' (was conflicting with int32_t in types.h)
- MADV_NORMAL/RANDOM/SEQUENTIAL/WILLNEED/DONTNEED constants in sys/mman.h
- New smoke test: madvise (103/103 pass)

Tier 6G — Bash & Busybox port infrastructure:
- Bash: already integrated in toolchain/build.sh (cross-compiles with
  i686-adros-gcc, static, config.cache for cross-compilation)
- Busybox: ports/busybox/build.sh — download, configure, cross-compile
  script with adros_defconfig (~60 applets: ash, ls, cat, cp, grep, sed,
  awk, sort, ps, kill, mount, find, xargs, etc.)
- ports/busybox/adros_defconfig — minimal static config for AdrOS
- ports/README.md — documentation for building and installing ports

Tests: 103/103 smoke, cppcheck clean, 64/64 host tests
18 files changed:
docs/TIER6_PLAN.md
include/syscall.h
ports/README.md [new file with mode: 0644]
ports/busybox/adros_defconfig [new file with mode: 0644]
ports/busybox/build.sh [new file with mode: 0755]
src/kernel/syscall.c
tests/smoke_test.exp
user/fulltest.c
user/ulibc/include/mntent.h [new file with mode: 0644]
user/ulibc/include/stdio.h
user/ulibc/include/sys/mman.h
user/ulibc/include/syscall.h
user/ulibc/include/unistd.h
user/ulibc/include/utmp.h [new file with mode: 0644]
user/ulibc/src/mman.c
user/ulibc/src/mntent.c [new file with mode: 0644]
user/ulibc/src/unistd.c
user/ulibc/src/utmp.c [new file with mode: 0644]