sh(1): Reset getopt(3) before executing built-in commands.
Before patch:
$ printf "test\n"
test
$ jobs -l
$ printf "test\n"
usage: printf format [arg ...]
$
After patch:
$ printf "test\n"
test
$ jobs -l
$ printf "test\n"
test
$
The bug isn't tight to jobs(1) or printf(1). Every use of getopt(3) would
advance `optind' and make the next built-in command think that it wasn't
supplied with enough arguments. NetBSD is doing as we do. FreeBSD doesn't
have printf(1) as built-in so it is not affected. The patch has survived
a build{world, kernel}.