Ok thanks, got it. I need to use `ninja -C build qemy-system-arm` to generate the signed binary, because the default target only generates the `-unsigned` version (I guess this is the linker's default output, macOS requires an extra signing step). The signed version is defined as an on-demand command which is not part of the default build (`all`).
On Mon, Jun 8, 2026 at 5:38 PM Peter Maydell <[email protected]> wrote: > > > > 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
