Replace perl's use of syscall(2) with a dispatcher to libc
authorafresh1 <afresh1@openbsd.org>
Sun, 3 Sep 2023 01:43:09 +0000 (01:43 +0000)
committerafresh1 <afresh1@openbsd.org>
Sun, 3 Sep 2023 01:43:09 +0000 (01:43 +0000)
commit312e26c80be876012ae9792d4323a301329d66ae
tree20cb88cda4cd8102a18e8b8a45ad164bc9ebebe6
parent748ae95f4aa93e482552dc418cb1e0273ffe843a
Replace perl's use of syscall(2) with a dispatcher to libc

This removes the ability to do direct syscalls from perl, instead calling
the appropriate libc functions.

Currently we generate the dispatcher via a perl script duing build.

requested by deraadt@

nits from espie@
education from miod@
infrastructure fixes from sthen@
many improvements and ok gkoehler@
Please commit soon.  OK bluhm@
gnu/usr.bin/perl/MANIFEST
gnu/usr.bin/perl/Makefile.SH
gnu/usr.bin/perl/Makefile.bsd-wrapper
gnu/usr.bin/perl/config.over
gnu/usr.bin/perl/gen_syscall_emulator.pl [new file with mode: 0755]
gnu/usr.bin/perl/pp_sys.c
gnu/usr.bin/perl/syscall_emulator.h [new file with mode: 0644]
gnu/usr.bin/perl/t/op/syscall_emulator.t [new file with mode: 0644]