diff --git a/libcxx/cmake/caches/Armv7M-picolibc.cmake b/libcxx/cmake/caches/Armv7M-picolibc.cmake index 91cc32fd376e3..3ab80b960ed44 100644 --- a/libcxx/cmake/caches/Armv7M-picolibc.cmake +++ b/libcxx/cmake/caches/Armv7M-picolibc.cmake @@ -39,4 +39,4 @@ set(LIBUNWIND_ENABLE_THREADS OFF CACHE BOOL "") set(LIBUNWIND_IS_BAREMETAL ON CACHE BOOL "") set(LIBUNWIND_REMEMBER_HEAP_ALLOC ON CACHE BOOL "") set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") -find_program(QEMU_SYSTEM_ARM qemu-system-arm) +find_program(QEMU_SYSTEM_ARM qemu-system-arm REQUIRED) diff --git a/libcxx/utils/qemu_baremetal.py b/libcxx/utils/qemu_baremetal.py index aaf5b84489066..126031bbb19c4 100755 --- a/libcxx/utils/qemu_baremetal.py +++ b/libcxx/utils/qemu_baremetal.py @@ -16,6 +16,7 @@ import argparse import os import sys +import shutil def main(): @@ -32,8 +33,13 @@ def main(): parser.add_argument("test_binary") parser.add_argument("test_args", nargs=argparse.ZERO_OR_MORE, default=[]) args = parser.parse_args() + + if not shutil.which(args.qemu): + sys.exit(f"Failed to find QEMU binary from --qemu value: '{args.qemu}'") + if not os.path.exists(args.test_binary): sys.exit(f"Expected argument to be a test executable: '{args.test_binary}'") + qemu_commandline = [ args.qemu, "-chardev",