qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 0/4] per-object libraries


From: Michael Tokarev
Subject: Re: [Qemu-devel] [RFC PATCH 0/4] per-object libraries
Date: Sun, 30 Jun 2013 20:49:28 +0400
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130529 Icedove/17.0.5

30.06.2013 19:51, Peter Maydell wrote:
> On 30 June 2013 16:36, Michael Tokarev <address@hidden> wrote:
>> I don't understand.  I for one like to see a plugins system used in qemu,
>> and except of the build system everything else is easy (and even nice,
>> there's even no need to load all plugins at startup as was initially
>> suggested).  But for this to work, we really need to separate libs
>> used only by plugins from the main lot, -- or else there's just no
>> reason to build plugins in the first place.
> 
> So, why do we want to build things as plugins? Neither of the
> cover letters to your two patch series nor Anthony's wiki page
> on modules actually give the rationale.

I just updated the wiki page a bit (which is at
http://wiki.qemu.org/Features/Modules btw).

The main rationale so far is to allow separate packaging of separate
features for downstreams, to reduce the need to install all dependent
libraries/packages.

> I'd like to see the reasons why we want this feature clearly laid
> out, because it is a big load of extra faff and potential portability
> issues (surrounding dlopen, possible use of libtool, etc), as
> well as being really easy to misunderstand as some kind of promise
> of API/ABI stability or third-party extension functionality.[*]
> 
> [*] by which I mean that although everybody here proposing patches
> is clear that that's out of scope, end users don't generally read
> patches and rationale emails, and "we dlopen device models" looks
> really really like a plugin ABI...

This has been mentioned already, one of the easy ways to prevent this
is to add some "build id" to all main symbols, so that only modules
from the same build will be loadable.  I mentioned this in the wiki
page too.

Thanks,

/mjt



reply via email to

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