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

Reply via email to