Remove non-portable use of .Pf that doesn't work with groff;
found because the groff_mdoc(7) macros warn about it.
restructure libc/string + libc/arch/*/string coperation regarding
(potentially) MD versions (function dependent, not filename dependent)
split out memcpy/memmove/bcopy and strchr/index/strrchr/rindex
Bring back amd64 .S versions

And the final touch: switch all architectures temporarily to MI
memcpy.c, which contains syslog + abort for overlapping copies.  A nice
harsh undefined behaviour.  We will clean the entire userland of the
remaining issues in this catagory, then switch to the optimised memcpy
which skips the memmove check.

I tried to cut this change into pieces, but testing each sub-step on
every architecture is too time consuming and mindnumbing.
ok miod
obvious STANDARDS update
Replace all 14 instances of .St -ansiC-99 in our tree with .St -isoC-99.
The former is not used anywhere in NetBSD, FreeBSD, or DragonFly
and not supported by groff, so i'm going to delete it from mandoc(1).
We don't need two macros for the same thing.
macro cleanup; kaspars at bankovskis dot net
add some openbsd tags, and a first pass at cleanup;
Add strnlen to SUBDIRS so we actually run its tests.
Add simple strlcat regress
Conversion of braindead select() path to braindead poll() path.
Also looked at by bcook
convert select() to poll().  This is one of the most complicated
conversions in the tree, because the original code is very rotten and
fragile.  Please test and report any failures.
Assistance from millert, bcook, and jsing.
Add simple strlcpy regress
Add brainpool curves to eccurves_default[], accidentally missing from 1.32;
from OpenSSL HEAD via Thomas Jakobi.
Fill the buffer with 'z' instead of 'a' since 'a' is part of the
string we are testing.
Add tests to verify that we get SIGSEGV when passed a NULL src or dst.
It is better to crash than for an implementation to check for NULL
and try to recover.
Spotted another opportunity to use reallocarray().
ok miod
handle the (impossible) situation of a size_t - 1 buffer from
EC_POINT_point2oct so that later allocation does not overflow
with miod
We're not supporting 16-bit Windows, remove cast.

ok jsing@ deraadt@
Move Windows OS-specific functions to make porting easier.

Several functions that need to be redefined for a Windows port are right
in the middle of other code that is relatively portable. This patch
isolates the functions that need Windows-specific implementations so
they can be built conditionally in the portable tree.

ok jsing@ deraadt@
Move Windows OS-specific functions to make porting easier.

Several functions that need to be redefined for a Windows port are right
in the middle of other code that is relatively portable. This patch
isolates the functions that need Windows-specific implementations so
they can be built conditionally in the portable tree.

Add calls to BIO_sock_init() as-needed to openssl(1) so that socket IO works on
Windows. Sorry, these are no-op on other platforms.

ok jsing@ deraadt@
Allow overriding the path to the testssl and openssl binaries.

This is needed by the portable tree to point directly to the newly-built
binaries when running unit tests.

discussed with jsing@ and others