about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-05-06 11:15:07 +0200
committerRalf Jung <post@ralfj.de>2024-05-06 11:15:07 +0200
commitdd5437fdffdb2a34ef19879dabfd30ff980771c3 (patch)
tree1194614e52347a03ae85e178f5311846a973764d
parent629d57e7001cf5d23ebbb973f8355cfe8972a24a (diff)
downloadrust-dd5437fdffdb2a34ef19879dabfd30ff980771c3.tar.gz
rust-dd5437fdffdb2a34ef19879dabfd30ff980771c3.zip
organize libc tests into a proper folder, and run some of them on Windows
-rwxr-xr-xsrc/tools/miri/ci/ci.sh8
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_main_terminate.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_few_args.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_many_args.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_detached.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_joined.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_main.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_multiple.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_self.rs2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.rs (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.stderr (renamed from src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.rs (renamed from src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.stderr (renamed from src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/close_stdout.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/close_stdout.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/close_stdout.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/close_stdout.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.rs (renamed from src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.stderr (renamed from src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memchr_null.rs (renamed from src/tools/miri/tests/fail-dep/shims/memchr_null.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memchr_null.stderr (renamed from src/tools/miri/tests/fail-dep/shims/memchr_null.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcmp_null.rs (renamed from src/tools/miri/tests/fail-dep/shims/memcmp_null.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcmp_null.stderr (renamed from src/tools/miri/tests/fail-dep/shims/memcmp_null.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcmp_zero.rs (renamed from src/tools/miri/tests/fail-dep/shims/memcmp_zero.rs)1
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcmp_zero.stderr (renamed from src/tools/miri/tests/fail-dep/shims/memcmp_zero.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcpy_zero.rs (renamed from src/tools/miri/tests/fail-dep/shims/memcpy_zero.rs)1
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memcpy_zero.stderr (renamed from src/tools/miri/tests/fail-dep/shims/memcpy_zero.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memrchr_null.rs (renamed from src/tools/miri/tests/fail-dep/shims/memrchr_null.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/memrchr_null.stderr (renamed from src/tools/miri/tests/fail-dep/shims/memrchr_null.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.rs (renamed from src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.stderr (renamed from src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.rs (renamed from src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.stderr (renamed from src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/munmap_partial.rs (renamed from src/tools/miri/tests/fail-dep/shims/munmap_partial.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/munmap_partial.stderr (renamed from src/tools/miri/tests/fail-dep/shims/munmap_partial.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/realloc-zero.rs (renamed from src/tools/miri/tests/fail-dep/realloc-zero.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/realloc-zero.stderr (renamed from src/tools/miri/tests/fail-dep/realloc-zero.stderr)0
-rw-r--r--src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.rs (renamed from src/tools/miri/tests/fail-dep/unsupported_incomplete_function.rs)2
-rw-r--r--src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.stderr (renamed from src/tools/miri/tests/fail-dep/unsupported_incomplete_function.stderr)0
-rw-r--r--src/tools/miri/tests/panic/unsupported_syscall.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/calloc.rs22
-rw-r--r--src/tools/miri/tests/pass-dep/concurrency/env-cleanup-data-race.rs (renamed from src/tools/miri/tests/pass-dep/shims/env-cleanup-data-race.rs)2
-rw-r--r--src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait_isolated.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/extra_fn_ptr_gc.rs2
-rw-r--r--src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.rs (renamed from src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.rs)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.stderr (renamed from src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.stderr)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.rs (renamed from src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.rs)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.stderr (renamed from src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.stderr)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-fs.rs (renamed from src/tools/miri/tests/pass-dep/shims/libc-fs.rs)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-fs.stderr (renamed from src/tools/miri/tests/pass-dep/shims/libc-fs.stderr)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-fs.stdout (renamed from src/tools/miri/tests/pass-dep/shims/libc-fs.stdout)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-mem.rs (renamed from src/tools/miri/tests/pass-dep/shims/libc-misc.rs)163
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-misc.rs68
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-random.rs (renamed from src/tools/miri/tests/pass-dep/shims/libc-random.rs)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/libc-time.rs (renamed from src/tools/miri/tests/pass-dep/shims/libc-time.rs)0
-rw-r--r--src/tools/miri/tests/pass-dep/libc/mmap.rs (renamed from src/tools/miri/tests/pass-dep/shims/mmap.rs)2
-rw-r--r--src/tools/miri/tests/pass-dep/libc/pthread-sync.rs (renamed from src/tools/miri/tests/pass-dep/shims/pthread-sync.rs)2
-rw-r--r--src/tools/miri/tests/pass-dep/libc/pthread-threadname.rs (renamed from src/tools/miri/tests/pass-dep/shims/pthread-threadname.rs)2
-rw-r--r--src/tools/miri/tests/pass-dep/malloc.rs48
109 files changed, 211 insertions, 208 deletions
diff --git a/src/tools/miri/ci/ci.sh b/src/tools/miri/ci/ci.sh
index d1dcacdfdf5..c28a6f183b3 100755
--- a/src/tools/miri/ci/ci.sh
+++ b/src/tools/miri/ci/ci.sh
@@ -143,10 +143,10 @@ case $HOST_TARGET in
     # Partially supported targets (tier 2)
     VERY_BASIC="integer vec string btreemap" # common things we test on all of them (if they have std), requires no target-specific shims
     BASIC="$VERY_BASIC hello hashmap alloc align" # ensures we have the shims for stdout and basic data structures
-    MIRI_TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal $BASIC panic/panic concurrency/simple atomic threadname libc-misc libc-random libc-time fs env num_cpus
-    MIRI_TEST_TARGET=i686-unknown-freebsd   run_tests_minimal $BASIC panic/panic concurrency/simple atomic threadname libc-misc libc-random libc-time fs env num_cpus
-    MIRI_TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $VERY_BASIC hello panic/panic concurrency/simple pthread-sync libc-misc libc-random
-    MIRI_TEST_TARGET=x86_64-pc-solaris run_tests_minimal $VERY_BASIC hello panic/panic concurrency/simple pthread-sync libc-misc libc-random
+    MIRI_TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal $BASIC panic/panic concurrency/simple atomic threadname libc-mem libc-misc libc-random libc-time fs env num_cpus
+    MIRI_TEST_TARGET=i686-unknown-freebsd   run_tests_minimal $BASIC panic/panic concurrency/simple atomic threadname libc-mem libc-misc libc-random libc-time fs env num_cpus
+    MIRI_TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $VERY_BASIC hello panic/panic concurrency/simple pthread-sync libc-mem libc-misc libc-random
+    MIRI_TEST_TARGET=x86_64-pc-solaris run_tests_minimal $VERY_BASIC hello panic/panic concurrency/simple pthread-sync libc-mem libc-misc libc-random
     MIRI_TEST_TARGET=aarch64-linux-android  run_tests_minimal $VERY_BASIC hello panic/panic
     MIRI_TEST_TARGET=wasm32-wasi run_tests_minimal $VERY_BASIC wasm
     MIRI_TEST_TARGET=wasm32-unknown-unknown run_tests_minimal $VERY_BASIC wasm
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.rs
index 94ca3496ed9..f22f17be0df 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 /// Test that destroying a pthread_cond twice fails, even without a check for number validity
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.stderr
index 899c217efbf..899c217efbf 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_cond_double_destroy.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_cond_double_destroy.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.rs
index b5427d55eb0..d0ccab4de5b 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@ignore-target-apple: Our macOS condattr don't have any fields so we do not notice this.
 
 /// Test that destroying a pthread_condattr twice fails, even without a check for number validity
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.stderr
index ef75b03162d..ef75b03162d 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_condattr_double_destroy.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_condattr_double_destroy.stderr
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_main_terminate.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_main_terminate.rs
index 7e6f490bb3d..9cd0a35d36e 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_main_terminate.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_main_terminate.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@error-in-other-file: the main thread terminated without waiting for all remaining threads
 
 // Check that we terminate the program when the main thread terminates.
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_few_args.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_few_args.rs
index e1d3704af7c..96dd99e8844 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_few_args.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_few_args.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 //! The thread function must have exactly one argument.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_many_args.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_many_args.rs
index 7408634db52..d8fbc68d344 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_many_args.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_create_too_many_args.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 //! The thread function must have exactly one argument.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_detached.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_detached.rs
index 0b810dc8c72..e89d7a9f02b 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_detached.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_detached.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 // Joining a detached thread is undefined behavior.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_joined.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_joined.rs
index 04ca4bbb3f6..cbad743ca56 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_joined.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_joined.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 // Joining an already joined thread is undefined behavior.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_main.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_main.rs
index 75765182163..002498e6c82 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_main.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_main.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 // Joining the main thread is undefined behavior.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_multiple.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_multiple.rs
index 966f416eeac..f5b687a623f 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_multiple.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_multiple.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 // Joining the same thread from multiple threads is undefined behavior.
 
diff --git a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_self.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_self.rs
index 0c25c690f37..4bc1c82a254 100644
--- a/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_self.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_join_self.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 // We are making scheduler assumptions here.
 //@compile-flags: -Zmiri-preemption-rate=0
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.rs
index 8b251073383..0a494c53b4b 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //
 // Check that if we pass NULL attribute, then we get the default mutex type.
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.stderr
index 3675ce49f30..3675ce49f30 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_NULL_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_NULL_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.rs
index 60d56d41fd9..0328115c637 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@error-in-other-file: deadlock
 
 use std::cell::UnsafeCell;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.stderr
index 987d0fc4c2d..987d0fc4c2d 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.rs
index f443768819f..1038b8988f9 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //
 // Check that if we do not set the mutex type, it is the default.
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.stderr
index 4d41141b545..4d41141b545 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_default_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_default_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.rs
index ec3965c7574..e474712cfd9 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     unsafe {
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.stderr
index ed5e27b607a..ed5e27b607a 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_destroy_locked.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_destroy_locked.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.rs
index 622c3eaeae3..46f0c5f8d72 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 /// Test that destroying a pthread_mutex twice fails, even without a check for number validity
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.stderr
index 05b35ee3b30..05b35ee3b30 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_double_destroy.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_double_destroy.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.rs
index 5ea09fa5aac..f311934e28b 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     unsafe {
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.stderr
index 334c14ebf04..334c14ebf04 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.rs
index 8ce7542edb8..2b5886dc163 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     unsafe {
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.stderr
index d717b4ec56b..d717b4ec56b 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_normal_unlock_unlocked.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_normal_unlock_unlocked.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.rs
index b56775252e4..686a394f7cb 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 use std::cell::UnsafeCell;
 use std::sync::Arc;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.stderr
index b8ec2d6d018..b8ec2d6d018 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutex_wrong_owner.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutex_wrong_owner.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.rs
index 474a277516d..51f00d62b75 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 /// Test that destroying a pthread_mutexattr twice fails, even without a check for number validity
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.stderr
index a8425e6f81d..a8425e6f81d 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_mutexattr_double_destroy.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_mutexattr_double_destroy.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.rs
index 603580ff58a..fa4575bc1d4 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.stderr
index bb90545c503..bb90545c503 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_read_locked.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_read_locked.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.rs
index ae44f22d146..e734a62bca8 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.stderr
index 7210c6a742a..7210c6a742a 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_destroy_write_locked.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_destroy_write_locked.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.rs
index 800986f7506..e96f7fc6803 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 /// Test that destroying a pthread_rwlock twice fails, even without a check for number validity
 
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.stderr
index 5032e98f116..5032e98f116 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_double_destroy.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_double_destroy.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.rs
index 782c95b6d2e..dffeee2b794 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr
index 957458a7ba0..957458a7ba0 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_write_deadlock_single_thread.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.rs
index 1b498ad8fcd..328372b22ef 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 use std::cell::UnsafeCell;
 use std::sync::Arc;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.stderr
index a964a64284a..a964a64284a 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_read_wrong_owner.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_read_wrong_owner.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.rs
index 05f7e7a06c5..ced6b7a4f61 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.stderr
index 98b09472904..98b09472904 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_unlock_unlocked.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_unlock_unlocked.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.rs
index 0f02c3231a6..4174751926d 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@error-in-other-file: deadlock
 
 use std::cell::UnsafeCell;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.stderr
index bc9b15f293e..bc9b15f293e 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.rs
index 538f14ef89f..099b8dcd106 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr
index d6cceaff166..d6cceaff166 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_read_deadlock_single_thread.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.rs
index 10be5b33752..43b3ab09bb2 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@error-in-other-file: deadlock
 
 use std::cell::UnsafeCell;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.stderr
index 66c142bbc5c..66c142bbc5c 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.rs
index 2c963d36510..2704ff15441 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 fn main() {
     let rw = std::cell::UnsafeCell::new(libc::PTHREAD_RWLOCK_INITIALIZER);
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr
index 3ba99e3db4a..3ba99e3db4a 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_write_deadlock_single_thread.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.rs b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.rs
index dd099474d8f..9a2cd09f083 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.rs
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 
 use std::cell::UnsafeCell;
 use std::sync::Arc;
diff --git a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.stderr b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.stderr
index c9c22dea655..c9c22dea655 100644
--- a/src/tools/miri/tests/fail-dep/shims/sync/libc_pthread_rwlock_write_wrong_owner.stderr
+++ b/src/tools/miri/tests/fail-dep/concurrency/libc_pthread_rwlock_write_wrong_owner.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.rs b/src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.rs
index 2b9e7a34d65..a1895feb957 100644
--- a/src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.rs
+++ b/src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.rs
@@ -1,5 +1,5 @@
 //@compile-flags: -Zmiri-disable-isolation -Zmiri-preemption-rate=0
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc env support on Windows
 
 use std::env;
 use std::thread;
diff --git a/src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.stderr b/src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.stderr
index f85234f5627..f85234f5627 100644
--- a/src/tools/miri/tests/fail-dep/shims/env-set_var-data-race.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/env-set_var-data-race.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/close_stdout.rs b/src/tools/miri/tests/fail-dep/libc/fs/close_stdout.rs
index 09da8509af4..42b7e2b7838 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/close_stdout.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/close_stdout.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc IO on Windows
 //@compile-flags: -Zmiri-disable-isolation
 
 // FIXME: standard handles cannot be closed (https://github.com/rust-lang/rust/issues/40032)
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/close_stdout.stderr b/src/tools/miri/tests/fail-dep/libc/fs/close_stdout.stderr
index e1b1b053bbc..e1b1b053bbc 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/close_stdout.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/close_stdout.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.rs b/src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.rs
index a45f805696d..3c62015a051 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc IO on Windows
 
 fn main() -> std::io::Result<()> {
     let mut bytes = [0u8; 512];
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.stderr b/src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.stderr
index 1d6626dda70..1d6626dda70 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/isolated_stdin.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/isolated_stdin.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.rs b/src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.rs
index ba9f404d7c9..6d951a3a7b3 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No mkstemp on Windows
 //@compile-flags: -Zmiri-disable-isolation
 
 fn main() {
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.stderr b/src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.stderr
index 7a2757557ef..7a2757557ef 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/mkstemp_immutable_arg.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/mkstemp_immutable_arg.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.rs b/src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.rs
index 073fca4712e..624f584a0c8 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.rs
@@ -1,5 +1,5 @@
 //@compile-flags: -Zmiri-disable-isolation
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc IO on Windows
 
 fn main() -> std::io::Result<()> {
     let mut bytes = [0u8; 512];
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.stderr b/src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.stderr
index baa6eb5ad6a..baa6eb5ad6a 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/read_from_stdout.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/read_from_stdout.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.rs b/src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.rs
index ae231d4be66..d783967f959 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc IO on Windows
 //@compile-flags: -Zmiri-disable-isolation
 
 fn main() {
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.stderr b/src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.stderr
index 0988eefe222..0988eefe222 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/unix_open_missing_required_mode.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/unix_open_missing_required_mode.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.rs b/src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.rs
index d039ad718d3..683c55e90e1 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.rs
+++ b/src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc IO on Windows
 
 fn main() -> std::io::Result<()> {
     let bytes = b"hello";
diff --git a/src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.stderr b/src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.stderr
index 37323faf560..37323faf560 100644
--- a/src/tools/miri/tests/fail-dep/shims/fs/write_to_stdin.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/fs/write_to_stdin.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/memchr_null.rs b/src/tools/miri/tests/fail-dep/libc/memchr_null.rs
index 6bc7af7e6bf..672cc10cd63 100644
--- a/src/tools/miri/tests/fail-dep/shims/memchr_null.rs
+++ b/src/tools/miri/tests/fail-dep/libc/memchr_null.rs
@@ -1,5 +1,3 @@
-//@ignore-target-windows: No libc on Windows
-
 use std::ptr;
 
 // null is explicitly called out as UB in the C docs.
diff --git a/src/tools/miri/tests/fail-dep/shims/memchr_null.stderr b/src/tools/miri/tests/fail-dep/libc/memchr_null.stderr
index b76722f5f8f..b76722f5f8f 100644
--- a/src/tools/miri/tests/fail-dep/shims/memchr_null.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/memchr_null.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/memcmp_null.rs b/src/tools/miri/tests/fail-dep/libc/memcmp_null.rs
index a4e0034c40b..066af4a8ae3 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcmp_null.rs
+++ b/src/tools/miri/tests/fail-dep/libc/memcmp_null.rs
@@ -1,5 +1,3 @@
-//@ignore-target-windows: No libc on Windows
-
 use std::ptr;
 
 // null is explicitly called out as UB in the C docs.
diff --git a/src/tools/miri/tests/fail-dep/shims/memcmp_null.stderr b/src/tools/miri/tests/fail-dep/libc/memcmp_null.stderr
index 5c6ba4fd979..5c6ba4fd979 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcmp_null.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/memcmp_null.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/memcmp_zero.rs b/src/tools/miri/tests/fail-dep/libc/memcmp_zero.rs
index f2ddc200563..e28aa26270e 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcmp_zero.rs
+++ b/src/tools/miri/tests/fail-dep/libc/memcmp_zero.rs
@@ -1,4 +1,3 @@
-//@ignore-target-windows: No libc on Windows
 //@compile-flags: -Zmiri-permissive-provenance
 
 // C says that passing "invalid" pointers is UB for all string functions.
diff --git a/src/tools/miri/tests/fail-dep/shims/memcmp_zero.stderr b/src/tools/miri/tests/fail-dep/libc/memcmp_zero.stderr
index 4ab37ab569f..4ab37ab569f 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcmp_zero.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/memcmp_zero.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/memcpy_zero.rs b/src/tools/miri/tests/fail-dep/libc/memcpy_zero.rs
index 5283fea4cb9..b37ed7df74f 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcpy_zero.rs
+++ b/src/tools/miri/tests/fail-dep/libc/memcpy_zero.rs
@@ -1,4 +1,3 @@
-//@ignore-target-windows: No libc on Windows
 //@compile-flags: -Zmiri-permissive-provenance
 // C's memcpy is 0 bytes is UB for some pointers that are allowed in Rust's `copy_nonoverlapping`.
 
diff --git a/src/tools/miri/tests/fail-dep/shims/memcpy_zero.stderr b/src/tools/miri/tests/fail-dep/libc/memcpy_zero.stderr
index 3e1ee7b86e3..3e1ee7b86e3 100644
--- a/src/tools/miri/tests/fail-dep/shims/memcpy_zero.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/memcpy_zero.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/memrchr_null.rs b/src/tools/miri/tests/fail-dep/libc/memrchr_null.rs
index b6707d558d8..f06336b1299 100644
--- a/src/tools/miri/tests/fail-dep/shims/memrchr_null.rs
+++ b/src/tools/miri/tests/fail-dep/libc/memrchr_null.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No `memrchr` on Windows
 //@ignore-target-apple: No `memrchr` on some apple targets
 
 use std::ptr;
diff --git a/src/tools/miri/tests/fail-dep/shims/memrchr_null.stderr b/src/tools/miri/tests/fail-dep/libc/memrchr_null.stderr
index 0cc7ac19feb..0cc7ac19feb 100644
--- a/src/tools/miri/tests/fail-dep/shims/memrchr_null.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/memrchr_null.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.rs b/src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.rs
index 70f7a6a7cef..9d55a493554 100644
--- a/src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.rs
+++ b/src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.rs
@@ -1,5 +1,5 @@
 //@compile-flags: -Zmiri-disable-isolation
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No mmap on Windows
 
 #![feature(rustc_private)]
 
diff --git a/src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.stderr b/src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.stderr
index cec67b6ef84..cec67b6ef84 100644
--- a/src/tools/miri/tests/fail-dep/shims/mmap_invalid_dealloc.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/mmap_invalid_dealloc.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.rs b/src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.rs
index c97b013ba5a..05ac232f5d7 100644
--- a/src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.rs
+++ b/src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.rs
@@ -1,5 +1,5 @@
 //@compile-flags: -Zmiri-disable-isolation
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No mmap on Windows
 
 #![feature(rustc_private)]
 
diff --git a/src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.stderr b/src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.stderr
index 49f2b84baa8..49f2b84baa8 100644
--- a/src/tools/miri/tests/fail-dep/shims/mmap_use_after_munmap.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/mmap_use_after_munmap.stderr
diff --git a/src/tools/miri/tests/fail-dep/shims/munmap_partial.rs b/src/tools/miri/tests/fail-dep/libc/munmap_partial.rs
index d7aef47235f..4386dc71af6 100644
--- a/src/tools/miri/tests/fail-dep/shims/munmap_partial.rs
+++ b/src/tools/miri/tests/fail-dep/libc/munmap_partial.rs
@@ -1,7 +1,7 @@
 //! The man pages for mmap/munmap suggest that it is possible to partly unmap a previously-mapped
 //! region of address space, but to LLVM that would be partial deallocation, which LLVM does not
 //! support. So even though the man pages say this sort of use is possible, we must report UB.
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No mmap on Windows
 //@normalize-stderr-test: "size [0-9]+ and alignment" -> "size SIZE and alignment"
 
 fn main() {
diff --git a/src/tools/miri/tests/fail-dep/shims/munmap_partial.stderr b/src/tools/miri/tests/fail-dep/libc/munmap_partial.stderr
index 39825eb27c0..39825eb27c0 100644
--- a/src/tools/miri/tests/fail-dep/shims/munmap_partial.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/munmap_partial.stderr
diff --git a/src/tools/miri/tests/fail-dep/realloc-zero.rs b/src/tools/miri/tests/fail-dep/libc/realloc-zero.rs
index 1482798e90c..0e210f31356 100644
--- a/src/tools/miri/tests/fail-dep/realloc-zero.rs
+++ b/src/tools/miri/tests/fail-dep/libc/realloc-zero.rs
@@ -1,5 +1,3 @@
-//@ignore-target-windows: No libc on Windows
-
 fn main() {
     unsafe {
         let p1 = libc::malloc(20);
diff --git a/src/tools/miri/tests/fail-dep/realloc-zero.stderr b/src/tools/miri/tests/fail-dep/libc/realloc-zero.stderr
index 749a61f7396..749a61f7396 100644
--- a/src/tools/miri/tests/fail-dep/realloc-zero.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/realloc-zero.stderr
diff --git a/src/tools/miri/tests/fail-dep/unsupported_incomplete_function.rs b/src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.rs
index 6ef842c9ccb..cd8422f4afd 100644
--- a/src/tools/miri/tests/fail-dep/unsupported_incomplete_function.rs
+++ b/src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.rs
@@ -1,6 +1,6 @@
 //! `signal()` is special on Linux and macOS that it's only supported within libstd.
 //! The implementation is not complete enough to permit user code to call it.
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No `libc::signal` on Windows
 //@normalize-stderr-test: "OS `.*`" -> "$$OS"
 
 fn main() {
diff --git a/src/tools/miri/tests/fail-dep/unsupported_incomplete_function.stderr b/src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.stderr
index f62622e29bf..f62622e29bf 100644
--- a/src/tools/miri/tests/fail-dep/unsupported_incomplete_function.stderr
+++ b/src/tools/miri/tests/fail-dep/libc/unsupported_incomplete_function.stderr
diff --git a/src/tools/miri/tests/panic/unsupported_syscall.rs b/src/tools/miri/tests/panic/unsupported_syscall.rs
index 31d666e1d9d..30f9da5f80e 100644
--- a/src/tools/miri/tests/panic/unsupported_syscall.rs
+++ b/src/tools/miri/tests/panic/unsupported_syscall.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: no `syscall` on Windows
 //@ignore-target-apple: `syscall` is not supported on macOS
 //@compile-flags: -Zmiri-panic-on-unsupported
 
diff --git a/src/tools/miri/tests/pass-dep/calloc.rs b/src/tools/miri/tests/pass-dep/calloc.rs
deleted file mode 100644
index 62ab63c5fc7..00000000000
--- a/src/tools/miri/tests/pass-dep/calloc.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-//@ignore-target-windows: No libc on Windows
-
-use core::slice;
-
-fn main() {
-    unsafe {
-        let p1 = libc::calloc(0, 0);
-        assert!(p1.is_null());
-
-        let p2 = libc::calloc(20, 0);
-        assert!(p2.is_null());
-
-        let p3 = libc::calloc(0, 20);
-        assert!(p3.is_null());
-
-        let p4 = libc::calloc(4, 8);
-        assert!(!p4.is_null());
-        let slice = slice::from_raw_parts(p4 as *const u8, 4 * 8);
-        assert_eq!(&slice, &[0_u8; 4 * 8]);
-        libc::free(p4);
-    }
-}
diff --git a/src/tools/miri/tests/pass-dep/shims/env-cleanup-data-race.rs b/src/tools/miri/tests/pass-dep/concurrency/env-cleanup-data-race.rs
index 5c29a1b15a7..86a47ba3655 100644
--- a/src/tools/miri/tests/pass-dep/shims/env-cleanup-data-race.rs
+++ b/src/tools/miri/tests/pass-dep/concurrency/env-cleanup-data-race.rs
@@ -1,5 +1,5 @@
 //@compile-flags: -Zmiri-disable-isolation -Zmiri-preemption-rate=0
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No libc env support on Windows
 
 use std::ffi::CStr;
 use std::thread;
diff --git a/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait.rs b/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait.rs
index f362caa11dc..d758168c7c3 100644
--- a/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait.rs
+++ b/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@ignore-target-apple: pthread_condattr_setclock is not supported on MacOS.
 //@compile-flags: -Zmiri-disable-isolation
 
diff --git a/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait_isolated.rs b/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait_isolated.rs
index 66c0895a5da..f1a3c5dc10d 100644
--- a/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait_isolated.rs
+++ b/src/tools/miri/tests/pass-dep/concurrency/libc_pthread_cond_timedwait_isolated.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //@ignore-target-apple: pthread_condattr_setclock is not supported on MacOS.
 
 /// Test that conditional variable timeouts are working properly
diff --git a/src/tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order.rs b/src/tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order.rs
index ae874740f2b..0eaab967642 100644
--- a/src/tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order.rs
+++ b/src/tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 //! Test that pthread_key destructors are run in the right order.
 //! Note that these are *not* used by actual `thread_local!` on Linux! Those use
 //! `thread_local_dtor::register_dtor` from the stdlib instead. In Miri this hits the fallback path
diff --git a/src/tools/miri/tests/pass-dep/extra_fn_ptr_gc.rs b/src/tools/miri/tests/pass-dep/extra_fn_ptr_gc.rs
index 716119a0fc3..1198168795d 100644
--- a/src/tools/miri/tests/pass-dep/extra_fn_ptr_gc.rs
+++ b/src/tools/miri/tests/pass-dep/extra_fn_ptr_gc.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No `dlsym` on Windows
 //@compile-flags: -Zmiri-permissive-provenance
 
 #[path = "../utils/mod.rs"]
diff --git a/src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.rs b/src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.rs
index 307906f2583..307906f2583 100644
--- a/src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.rs
+++ b/src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.rs
diff --git a/src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.stderr b/src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.stderr
index 09a24e1e5d7..09a24e1e5d7 100644
--- a/src/tools/miri/tests/pass-dep/shims/fcntl_f-fullfsync_apple.stderr
+++ b/src/tools/miri/tests/pass-dep/libc/fcntl_f-fullfsync_apple.stderr
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.rs b/src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.rs
index 5185db0b0e2..5185db0b0e2 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.rs
+++ b/src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.rs
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.stderr b/src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.stderr
index b0cadfb970b..b0cadfb970b 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-fs-with-isolation.stderr
+++ b/src/tools/miri/tests/pass-dep/libc/libc-fs-with-isolation.stderr
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-fs.rs b/src/tools/miri/tests/pass-dep/libc/libc-fs.rs
index 0dd849a045d..0dd849a045d 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-fs.rs
+++ b/src/tools/miri/tests/pass-dep/libc/libc-fs.rs
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-fs.stderr b/src/tools/miri/tests/pass-dep/libc/libc-fs.stderr
index b6fa69e3d5d..b6fa69e3d5d 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-fs.stderr
+++ b/src/tools/miri/tests/pass-dep/libc/libc-fs.stderr
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-fs.stdout b/src/tools/miri/tests/pass-dep/libc/libc-fs.stdout
index b6fa69e3d5d..b6fa69e3d5d 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-fs.stdout
+++ b/src/tools/miri/tests/pass-dep/libc/libc-fs.stdout
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-misc.rs b/src/tools/miri/tests/pass-dep/libc/libc-mem.rs
index 32898d49593..33cdc18b70f 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-misc.rs
+++ b/src/tools/miri/tests/pass-dep/libc/libc-mem.rs
@@ -1,33 +1,5 @@
-//@ignore-target-windows: No libc on Windows
-//@compile-flags: -Zmiri-disable-isolation
-#![feature(io_error_more)]
-#![feature(pointer_is_aligned_to)]
-#![feature(strict_provenance)]
-
-use std::mem::{self, transmute};
-use std::ptr;
-
-/// Tests whether each thread has its own `__errno_location`.
-fn test_thread_local_errno() {
-    #[cfg(any(target_os = "illumos", target_os = "solaris"))]
-    use libc::___errno as __errno_location;
-    #[cfg(target_os = "linux")]
-    use libc::__errno_location;
-    #[cfg(any(target_os = "macos", target_os = "freebsd"))]
-    use libc::__error as __errno_location;
-
-    unsafe {
-        *__errno_location() = 0xBEEF;
-        std::thread::spawn(|| {
-            assert_eq!(*__errno_location(), 0);
-            *__errno_location() = 0xBAD1DEA;
-            assert_eq!(*__errno_location(), 0xBAD1DEA);
-        })
-        .join()
-        .unwrap();
-        assert_eq!(*__errno_location(), 0xBEEF);
-    }
-}
+#![feature(strict_provenance, pointer_is_aligned_to)]
+use std::{mem, ptr, slice};
 
 fn test_memcpy() {
     unsafe {
@@ -106,49 +78,71 @@ fn test_strcpy() {
     }
 }
 
-#[cfg(target_os = "linux")]
-fn test_sigrt() {
-    let min = libc::SIGRTMIN();
-    let max = libc::SIGRTMAX();
-
-    // "The Linux kernel supports a range of 33 different real-time
-    // signals, numbered 32 to 64"
-    assert!(min >= 32);
-    assert!(max >= 32);
-    assert!(min <= 64);
-    assert!(max <= 64);
-
-    // "POSIX.1-2001 requires that an implementation support at least
-    // _POSIX_RTSIG_MAX (8) real-time signals."
-    assert!(min < max);
-    assert!(max - min >= 8)
-}
+fn test_malloc() {
+    // Test that small allocations sometimes *are* not very aligned.
+    let saw_unaligned = (0..64).any(|_| unsafe {
+        let p = libc::malloc(3);
+        libc::free(p);
+        (p as usize) % 4 != 0 // find any that this is *not* 4-aligned
+    });
+    assert!(saw_unaligned);
+
+    unsafe {
+        let p1 = libc::malloc(20);
+        p1.write_bytes(0u8, 20);
 
-fn test_dlsym() {
-    let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, b"notasymbol\0".as_ptr().cast()) };
-    assert!(addr as usize == 0);
+        // old size < new size
+        let p2 = libc::realloc(p1, 40);
+        let slice = slice::from_raw_parts(p2 as *const u8, 20);
+        assert_eq!(&slice, &[0_u8; 20]);
 
-    let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, b"isatty\0".as_ptr().cast()) };
-    assert!(addr as usize != 0);
-    let isatty: extern "C" fn(i32) -> i32 = unsafe { transmute(addr) };
-    assert_eq!(isatty(999), 0);
-    let errno = std::io::Error::last_os_error().raw_os_error().unwrap();
-    assert_eq!(errno, libc::EBADF);
+        // old size == new size
+        let p3 = libc::realloc(p2, 40);
+        let slice = slice::from_raw_parts(p3 as *const u8, 20);
+        assert_eq!(&slice, &[0_u8; 20]);
+
+        // old size > new size
+        let p4 = libc::realloc(p3, 10);
+        let slice = slice::from_raw_parts(p4 as *const u8, 10);
+        assert_eq!(&slice, &[0_u8; 10]);
+
+        libc::free(p4);
+    }
+
+    unsafe {
+        // Realloc with size 0 is okay for the null pointer
+        let p2 = libc::realloc(ptr::null_mut(), 0);
+        assert!(p2.is_null());
+    }
+
+    unsafe {
+        let p1 = libc::realloc(ptr::null_mut(), 20);
+        assert!(!p1.is_null());
+
+        libc::free(p1);
+    }
 }
 
-#[cfg(not(any(target_os = "macos", target_os = "illumos", target_os = "solaris")))]
-fn test_reallocarray() {
+fn test_calloc() {
     unsafe {
-        let mut p = libc::reallocarray(std::ptr::null_mut(), 4096, 2);
-        assert!(!p.is_null());
-        libc::free(p);
-        p = libc::malloc(16);
-        let r = libc::reallocarray(p, 2, 32);
-        assert!(!r.is_null());
-        libc::free(r);
+        let p1 = libc::calloc(0, 0);
+        assert!(p1.is_null());
+
+        let p2 = libc::calloc(20, 0);
+        assert!(p2.is_null());
+
+        let p3 = libc::calloc(0, 20);
+        assert!(p3.is_null());
+
+        let p4 = libc::calloc(4, 8);
+        assert!(!p4.is_null());
+        let slice = slice::from_raw_parts(p4 as *const u8, 4 * 8);
+        assert_eq!(&slice, &[0_u8; 4 * 8]);
+        libc::free(p4);
     }
 }
 
+#[cfg(not(target_os = "windows"))]
 fn test_memalign() {
     // A normal allocation.
     unsafe {
@@ -225,18 +219,37 @@ fn test_memalign() {
     }
 }
 
-fn main() {
-    test_thread_local_errno();
-
-    test_dlsym();
-
-    test_memcpy();
-    test_strcpy();
+#[cfg(not(any(
+    target_os = "windows",
+    target_os = "macos",
+    target_os = "illumos",
+    target_os = "solaris"
+)))]
+fn test_reallocarray() {
+    unsafe {
+        let mut p = libc::reallocarray(std::ptr::null_mut(), 4096, 2);
+        assert!(!p.is_null());
+        libc::free(p);
+        p = libc::malloc(16);
+        let r = libc::reallocarray(p, 2, 32);
+        assert!(!r.is_null());
+        libc::free(r);
+    }
+}
 
+fn main() {
+    test_malloc();
+    test_calloc();
+    #[cfg(not(target_os = "windows"))]
     test_memalign();
-    #[cfg(not(any(target_os = "macos", target_os = "illumos", target_os = "solaris")))]
+    #[cfg(not(any(
+        target_os = "windows",
+        target_os = "macos",
+        target_os = "illumos",
+        target_os = "solaris"
+    )))]
     test_reallocarray();
 
-    #[cfg(target_os = "linux")]
-    test_sigrt();
+    test_memcpy();
+    test_strcpy();
 }
diff --git a/src/tools/miri/tests/pass-dep/libc/libc-misc.rs b/src/tools/miri/tests/pass-dep/libc/libc-misc.rs
new file mode 100644
index 00000000000..736e0bf8eb7
--- /dev/null
+++ b/src/tools/miri/tests/pass-dep/libc/libc-misc.rs
@@ -0,0 +1,68 @@
+//@ignore-target-windows: only very limited libc on Windows
+//@compile-flags: -Zmiri-disable-isolation
+#![feature(io_error_more)]
+#![feature(pointer_is_aligned_to)]
+#![feature(strict_provenance)]
+
+use std::mem::transmute;
+
+/// Tests whether each thread has its own `__errno_location`.
+fn test_thread_local_errno() {
+    #[cfg(any(target_os = "illumos", target_os = "solaris"))]
+    use libc::___errno as __errno_location;
+    #[cfg(target_os = "linux")]
+    use libc::__errno_location;
+    #[cfg(any(target_os = "macos", target_os = "freebsd"))]
+    use libc::__error as __errno_location;
+
+    unsafe {
+        *__errno_location() = 0xBEEF;
+        std::thread::spawn(|| {
+            assert_eq!(*__errno_location(), 0);
+            *__errno_location() = 0xBAD1DEA;
+            assert_eq!(*__errno_location(), 0xBAD1DEA);
+        })
+        .join()
+        .unwrap();
+        assert_eq!(*__errno_location(), 0xBEEF);
+    }
+}
+
+#[cfg(target_os = "linux")]
+fn test_sigrt() {
+    let min = libc::SIGRTMIN();
+    let max = libc::SIGRTMAX();
+
+    // "The Linux kernel supports a range of 33 different real-time
+    // signals, numbered 32 to 64"
+    assert!(min >= 32);
+    assert!(max >= 32);
+    assert!(min <= 64);
+    assert!(max <= 64);
+
+    // "POSIX.1-2001 requires that an implementation support at least
+    // _POSIX_RTSIG_MAX (8) real-time signals."
+    assert!(min < max);
+    assert!(max - min >= 8)
+}
+
+fn test_dlsym() {
+    let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, b"notasymbol\0".as_ptr().cast()) };
+    assert!(addr as usize == 0);
+
+    let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, b"isatty\0".as_ptr().cast()) };
+    assert!(addr as usize != 0);
+    let isatty: extern "C" fn(i32) -> i32 = unsafe { transmute(addr) };
+    assert_eq!(isatty(999), 0);
+    let errno = std::io::Error::last_os_error().raw_os_error().unwrap();
+    assert_eq!(errno, libc::EBADF);
+}
+
+fn main() {
+    test_thread_local_errno();
+
+    test_dlsym();
+
+    #[cfg(target_os = "linux")]
+    test_sigrt();
+}
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-random.rs b/src/tools/miri/tests/pass-dep/libc/libc-random.rs
index 71e33522634..71e33522634 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-random.rs
+++ b/src/tools/miri/tests/pass-dep/libc/libc-random.rs
diff --git a/src/tools/miri/tests/pass-dep/shims/libc-time.rs b/src/tools/miri/tests/pass-dep/libc/libc-time.rs
index 69c75bd8caf..69c75bd8caf 100644
--- a/src/tools/miri/tests/pass-dep/shims/libc-time.rs
+++ b/src/tools/miri/tests/pass-dep/libc/libc-time.rs
diff --git a/src/tools/miri/tests/pass-dep/shims/mmap.rs b/src/tools/miri/tests/pass-dep/libc/mmap.rs
index 5acdedc67bf..a0787c68907 100644
--- a/src/tools/miri/tests/pass-dep/shims/mmap.rs
+++ b/src/tools/miri/tests/pass-dep/libc/mmap.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No mmap on Windows
 //@compile-flags: -Zmiri-disable-isolation -Zmiri-permissive-provenance
 #![feature(strict_provenance)]
 
diff --git a/src/tools/miri/tests/pass-dep/shims/pthread-sync.rs b/src/tools/miri/tests/pass-dep/libc/pthread-sync.rs
index 12d3f2b6f14..14275262128 100644
--- a/src/tools/miri/tests/pass-dep/shims/pthread-sync.rs
+++ b/src/tools/miri/tests/pass-dep/libc/pthread-sync.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 // We use `yield` to test specific interleavings, so disable automatic preemption.
 //@compile-flags: -Zmiri-preemption-rate=0
 #![feature(sync_unsafe_cell)]
diff --git a/src/tools/miri/tests/pass-dep/shims/pthread-threadname.rs b/src/tools/miri/tests/pass-dep/libc/pthread-threadname.rs
index bc782044d4d..4c4f542dfd4 100644
--- a/src/tools/miri/tests/pass-dep/shims/pthread-threadname.rs
+++ b/src/tools/miri/tests/pass-dep/libc/pthread-threadname.rs
@@ -1,4 +1,4 @@
-//@ignore-target-windows: No libc on Windows
+//@ignore-target-windows: No pthreads on Windows
 use std::ffi::CStr;
 #[cfg(not(target_os = "freebsd"))]
 use std::ffi::CString;
diff --git a/src/tools/miri/tests/pass-dep/malloc.rs b/src/tools/miri/tests/pass-dep/malloc.rs
deleted file mode 100644
index 35cd137931f..00000000000
--- a/src/tools/miri/tests/pass-dep/malloc.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-//@ignore-target-windows: No libc on Windows
-
-use core::{ptr, slice};
-
-fn main() {
-    // Test that small allocations sometimes *are* not very aligned.
-    let saw_unaligned = (0..64).any(|_| unsafe {
-        let p = libc::malloc(3);
-        libc::free(p);
-        (p as usize) % 4 != 0 // find any that this is *not* 4-aligned
-    });
-    assert!(saw_unaligned);
-
-    unsafe {
-        // Use calloc for initialized memory
-        let p1 = libc::calloc(20, 1);
-
-        // old size < new size
-        let p2 = libc::realloc(p1, 40);
-        let slice = slice::from_raw_parts(p2 as *const u8, 20);
-        assert_eq!(&slice, &[0_u8; 20]);
-
-        // old size == new size
-        let p3 = libc::realloc(p2, 40);
-        let slice = slice::from_raw_parts(p3 as *const u8, 20);
-        assert_eq!(&slice, &[0_u8; 20]);
-
-        // old size > new size
-        let p4 = libc::realloc(p3, 10);
-        let slice = slice::from_raw_parts(p4 as *const u8, 10);
-        assert_eq!(&slice, &[0_u8; 10]);
-
-        libc::free(p4);
-    }
-
-    unsafe {
-        // Realloc with size 0 is okay for the null pointer
-        let p2 = libc::realloc(ptr::null_mut(), 0);
-        assert!(p2.is_null());
-    }
-
-    unsafe {
-        let p1 = libc::realloc(ptr::null_mut(), 20);
-        assert!(!p1.is_null());
-
-        libc::free(p1);
-    }
-}