On Mon, 8 Jun 2026 at 16:35, Daniel P. Berrangé <[email protected]> wrote: > > On Mon, Jun 08, 2026 at 04:29:47PM +0100, Peter Maydell wrote: > > On Mon, 8 Jun 2026 at 16:25, Emmanuel Blot <[email protected]> wrote: > > > > > > On macOS, plain QEMU binaries are named qemu-system-<arch>-unsigned. > > > > > > In libqtest, qtest_get_arch() extracts the architecture by splitting > > > after "-system-", which yields "arm-unsigned" instead of "arm". This > > > prevents the QOS graph from matching any machine node, causing all > > > QOS-based tests to be silently skipped. > > > > > > In the functional test framework, the same suffix causes the arch to > > > be parsed as "unsigned", leading to wrong output directories and > > > teardown failures. > > > > > > Strip the "-unsigned" suffix on both code paths. > > > > > > Signed-off-by: Emmanuel Blot <[email protected]> > > > --- > > > Address issues with liqtest and functional test framework when run from > > > a macOS host. > > > > > > Unsigned binaries on macOS may be appended an `-unsigned` suffix, which > > > confuse these components that rely on the binary name to recover the > > > guest architecture. > > > > I still think this not the right thing to do. The "make" process > > on macos should produce and sign the binary in-place in the > > build tree, so that users and test cases don't have to care > > about this macos specific weirdness. (If the signing is > > location-specific and we need to sign again for "make install" > > that's fine. But we should produce a working binary with the > > usual name in the build tree, not a non-working one or one with a > > nonstandard name.) > > Yes, I was just about to write similar when I saw your message. > We should not have this custom "-unsigned" name in the build > tree as specialcases like this break too many expectations, > especially when most devs aren't ever testing for macOS and so > won't see the special case.
I think it's OK to have the -unsigned binary as an interim step, where we compile to qemu-foo-unsigned and then immediately sign to produce qemu-foo. The problem is that "make" is for some reason not actually doing the signing step. Alex notes in that other thread that you can make it do the signing part by manually running "make qemu-system-aarch64". We just don't have this working correctly so that "make all" does it. -- PMM
