CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2023/12/12 08:30:56
Modified files:
sys/kern : kern_ktrace.c syscalls.master
sys/sys : ktrace.h syscall_mi.h
usr.bin/kdump : kdump.c
include : unistd.h
lib/libc : Symbols.list
lib/libc/hidden: unistd.h
lib/libc/sys : Makefile.inc syscall.2
sys/arch/alpha/alpha: trap.c
sys/arch/amd64/amd64: locore.S trap.c
sys/arch/arm/arm: syscall.c
sys/arch/arm64/arm64: syscall.c
sys/arch/hppa/hppa: trap.c
sys/arch/i386/i386: trap.c
sys/arch/m88k/m88k: trap.c
sys/arch/mips64/mips64: trap.c
sys/arch/powerpc/powerpc: trap.c
sys/arch/powerpc64/powerpc64: syscall.c
sys/arch/riscv64/riscv64: syscall.c
sys/arch/sh/sh : trap.c
sys/arch/sparc64/sparc64: trap.c
Log message:
remove support for syscall(2) -- the "indirection system call" because
it is a dangerous alternative entry point for all system calls, and thus
incompatible with the precision system call entry point scheme we are
heading towards. This has been a 3-year mission:
First perl needed a code-generated wrapper to fake syscall(2) as a giant
switch table, then all the ports were cleaned with relatively minor fixes,
except for "go". "go" required two fixes -- 1) a framework issue with
old library versions, and 2) like perl, a fake syscall(2) wrapper to
handle ioctl(2) and sysctl(2) because "syscall(SYS_ioctl" occurs all over
the place in the "go" ecosystem because the "go developers" are plan9-loving
unix-hating folk who tried to build an ecosystem without allowing "ioctl".
ok kettenis, jsing, afresh1, sthen