]> 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)
commitdac0ddd5c8a89f191e2c23807922e11697acbfcc
treefee7fcafe9f3e178bc64d038e163d64d4d77218a
parent8c4ca335dccc5b1d2fa310f6d4cbd5e5d9c265e6
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]