Rather than invoking fork/execve of dc(1) on a pipe, compile in the dc(1)
authorderaadt <deraadt@openbsd.org>
Sat, 10 Oct 2015 19:28:54 +0000 (19:28 +0000)
committerderaadt <deraadt@openbsd.org>
Sat, 10 Oct 2015 19:28:54 +0000 (19:28 +0000)
commit9490edf2cc1db1c6c10782d325f0baf17b18d234
tree36b936d12925a71567cfaccd278ce4e0aa96eb01
parenta5a6da98fe4efde2ecb6f297619bb90a084afa5c
Rather than invoking fork/execve of dc(1) on a pipe, compile in the dc(1)
code directly and use it as a subfunction.  This refactoring allows use of
pledge "stdio rpath proc tty" in the main bc(1) process before fork, pledge
"stdio rpath tty" after fork, and fully reduced to "stdio" in the dc(1)
child.

This requires two recent to the kernel code (allowing sigsuspend(),
and kill() self as pid 0).
ok otto
usr.bin/bc/Makefile
usr.bin/bc/bc.y
usr.bin/dc/Makefile
usr.bin/dc/dc.c
usr.bin/dc/extern.h
usr.bin/dc/main.c [new file with mode: 0644]