When building for `linux-gnu` targets, we need to be careful about which
versioned GLIBC symbols we'll link, as this sets the minimum supportable
system version in ABI. The images in rust-lang/rust/src/ci/docker/ have
already taken this into account, and since they're uploaded to S3, we
can just use those exact images to get the same ABI compatibility.
The builds for mips*, powerpc*, and s390x were identified in #1681 as
having newer glibc symbols than rustc, so those are now changed to use
rust's docker images. In the future, we might want to do this for other
architectures too, so all toolchains are in sync.
This commit updates the CI builds for rustup to always build
`openssl-src` from crates.io instead of having a baked-in build of
OpenSSL. This matches what Cargo has switched to as well, and is
intended to centralize OpenSSL updates to one crates.io crate.
This also modernizes the docker containers and builds a bit to remove
the need for some scripts here and there.