Since these are defined in C as macros, they must be reimplemented in
libc as Rust functions. They're hard to get exactly right, and they
vary from platform to platform. The test builds custom C code that uses
the real macros, and compares its output to the Rust versions' output
for various inputs.
Skip the CMSG_NXTHDR test on sparc64 linux because it hits a Bus Error.
Issue #1239
Skip the entire cmsg test program on s390x because it dumps core
seemingly before the kernel finishes booting.
Issue #1240
Previously we were somewhat half-Docker, half-Travis, half apt-get, etc. This
commit alters the CI infrastructure to use Docker images for each target. This
should make it much easier to update the images and tweak various bits and
pieces of installed software. Additionally, it's also much clearer now what's
needed for each suite of tests!
Some images were updated a bit (e.g. musl is now 1.1.14), but other images
encountered failures when updating so they're not getting updated just yet.