qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 00/25] Add qemu_getrandom and ARMv8.5-RNG etc


From: Daniel P . Berrangé
Subject: Re: [Qemu-devel] [PATCH v6 00/25] Add qemu_getrandom and ARMv8.5-RNG etc
Date: Tue, 14 May 2019 17:50:36 +0100
User-agent: Mutt/1.11.4 (2019-03-13)

On Tue, May 14, 2019 at 09:14:57AM -0700, Richard Henderson wrote:
> On 5/14/19 8:23 AM, Daniel P. Berrangé wrote:
> > On Tue, May 14, 2019 at 05:15:31PM +0200, Markus Armbruster wrote:
> >> "make check-unit" fails for me:
> >>
> >>   TEST    check-unit: tests/test-crypto-tlscredsx509
> >> Unexpected error in object_new_with_propv() at 
> >> /work/armbru/qemu/qom/object.c:674:
> >> invalid object type: tls-creds-x509
> >>
> >> and
> >>
> >>   TEST    check-unit: tests/test-io-channel-tls
> >> Unexpected error in object_new_with_propv() at 
> >> /work/armbru/qemu/qom/object.c:674:
> >> invalid object type: tls-creds-x509
> >>
> >> I haven't looked further.
> > 
> > I have a nasty feeling it is caused by
> > 
> >   Subject: [PATCH v6 02/25] crypto: Merge crypto-obj-y into libqemuutil.a
> > 
> > The QOM objects are not directly used by most of the code. We rely on
> > the constructor registering the QOM object and then we request an
> > instance of it via the type name. So there's no direct function calls
> > from any code into the crypto object impls.
> > 
> > When we put the crypto objects into libqemuutil.a the linker is not
> > intelligent enough to see the constructor and so thinks all these
> > QOM object impls are unused and discards them when linking the final
> > binary.
> 
> Yes, that would do it.  We would need something in the test that forces the
> objects into the link.  Without having yet looked at the test cases, any 
> ideas?

I don't think this is only the test suite. I think it will affect all the
binaries we build

The only way you can force it is to use -Wl,--whole-archive arg to tell ld
to include everything from libqemuutil.la, but that will break the way
the stubs work, as we want make of the stubs to be discarded.

The only other option is to not build $(crypto-obj-y) into libqemuutil.la,
but list that variable explicitly everywhere that we list libqemuutil.la

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]