diff --git a/Cargo.lock b/Cargo.lock
index 0f770f3eadbea..9cd3676e4bff2 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -392,9 +392,13 @@ version = "0.1.0"
 
 [[package]]
 name = "cc"
-version = "1.0.37"
+version = "1.0.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
+checksum = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"
+dependencies = [
+ "jobserver",
+ "num_cpus",
+]
 
 [[package]]
 name = "cfg-if"
@@ -1216,9 +1220,9 @@ dependencies = [
 
 [[package]]
 name = "git2"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327d698f86a7ebdfeb86a4238ccdb004828939d3a3555b6ead679541d14e36c0"
+checksum = "39f27186fbb5ec67ece9a56990292bc5aed3c3fc51b9b07b0b52446b1dfb4a82"
 dependencies = [
  "bitflags",
  "libc",
@@ -1759,9 +1763,9 @@ dependencies = [
 
 [[package]]
 name = "libgit2-sys"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2078aec6f4b16d1b89f6a72e4f6eb1e75ffa85312023291e89c6d3087bc8fb"
+checksum = "a30f8637eb59616ee3b8a00f6adff781ee4ddd8343a615b8238de756060cc1b3"
 dependencies = [
  "cc",
  "libc",
@@ -2222,9 +2226,9 @@ checksum = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
 
 [[package]]
 name = "num_cpus"
-version = "1.8.0"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
+checksum = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
 dependencies = [
  "libc",
 ]
@@ -3114,7 +3118,6 @@ dependencies = [
  "backtrace",
  "bitflags",
  "byteorder",
- "cc",
  "chalk-engine",
  "fmt_macros",
  "graphviz",
diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile
index 816bdb34a7bfe..6bbf092878311 100644
--- a/src/ci/docker/dist-various-1/Dockerfile
+++ b/src/ci/docker/dist-various-1/Dockerfile
@@ -135,6 +135,9 @@ ENV TARGETS=$TARGETS,armv7r-none-eabi
 ENV TARGETS=$TARGETS,armv7r-none-eabihf
 ENV TARGETS=$TARGETS,thumbv7neon-unknown-linux-gnueabihf
 
+# riscv targets currently do not need a C compiler, as compiler_builtins
+# doesn't currently have it enabled, and the riscv gcc compiler is not
+# installed.
 ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
     CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
     CC_mips64el_unknown_linux_muslabi64=mips64el-linux-gnuabi64-gcc \
@@ -143,7 +146,12 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
     CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \
     CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
     AR_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ar \
-    CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
+    CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ \
+    CC_riscv32i_unknown_none_elf=false \
+    CC_riscv32imc_unknown_none_elf=false \
+    CC_riscv32imac_unknown_none_elf=false \
+    CC_riscv64imac_unknown_none_elf=false \
+    CC_riscv64gc_unknown_none_elf=false
 
 ENV RUST_CONFIGURE_ARGS \
       --musl-root-armv5te=/musl-armv5te \
diff --git a/src/librustc/Cargo.toml b/src/librustc/Cargo.toml
index 92b94af75d750..9c00a0fc4ad70 100644
--- a/src/librustc/Cargo.toml
+++ b/src/librustc/Cargo.toml
@@ -10,10 +10,6 @@ path = "lib.rs"
 doctest = false
 
 [dependencies]
-# Prevent cc from upgrading all the way to 1.0.46,
-# which fails the build (see e.g. #65445.)
-cc = "=1.0.37"
-
 arena = { path = "../libarena" }
 bitflags = "1.2.1"
 fmt_macros = { path = "../libfmt_macros" }