add a GLOB_KEEPSTAT option that retains a copy of the struct stat
information that is looked up while matching glob(3)s

Keeping this information around can make a big difference when
fetching it is expensive, e.g. in sftp which uses GLOB_ALTDIRFUNC

feedback millert@ jmc@

"get it in before the libc crank" deraadt@
Add timingsafe_bcmp(3) to libc, mention that it's already in the
kernel in kern(9), and remove it from OpenSSH.

ok deraadt@, djm@
Provide IRIX-compatible get_fpc_csr() and set_fpc_csr() for mips, although
we don't provide the silly union to decompose the value. This will allow
userland to flip the ``flush denormalized to zero'' setting, which apparently
is being relied upon by tcl.

Asked by jasper@ a long time ago. Riding upon the upcoming libc major crank.
Bump fts_level from short to int and add a spare short so things
line up nicely.  OK deraadt@
Bump libc major for ABI changes.
document GLOB_KEEPSTAT in the RETURN VALUES and STANDARDS sections.
Make gcvt() better match printf("%g") behavior, it now passes regress.
OK deraadt@
oops, don't free array before freeing members; spotted by dkrause@
Update to tzcode2010m from elsie.nci.nih.gov
Provide a WEAK_ALIAS macro in <machine/asm.h> for the few platforms
that didn't already have one, and then immediately use it in libc's
SYS.h

ok miod@
Retire Skipjack

There's not much use for the declassified cipher from the 80's
with a questionable license these days.  According to the FIPS
drafts, Skipjack reaches its EOL in December 2010.

The libc portion will be removed after the ports hackathon.

djm and thib agree, no objections from deraadt
Thanks to jsg for digging up FIPS drafts.
Extend GLOB_LIMIT to cover readdir and stat and bump the malloc limit
from ARG_MAX to 64K.

Fixes glob-using programs (notably ftp) able to be triggered to hit
resource limits.

Idea from a similar NetBSD change, original problem reported by jasper@.

ok millert tedu jasper
tcp.sendspace & tcp.recvspace buttons are gone.
update struct statfs; from Vladimir Kirillov
The ssizearg member of union arg is pointless if it isn't of type ssize_t

Noted by Claus Assmann
print the pointer value that caused the error (if available); ok
deraadt@ nicm@ (on an earlier version)
Remove the EXAMPLE, since *noone* should use this non-portable API
directly -- it exists for libc use only.  Tell people to use readdir(3).
discussed with millert
support _SC_HOST_NAME_MAX; from brad
a libc crank is happening in < 24 hours
remove skipjack and cast from the libc;  ok deraadt
Change basep parameter of getdirentries() to be off_t *, not long *
so it works correctly with large offsets (and matches other systems).
This requires adding a new getdirentries syscall, with the old one
renamed to ogetdirentries.  All in-tree consumers of getdirentries()
have been updated.  Bump libc and libpthread major numbers.
OK and with deraadt@