Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Richard Henderson
On 06/18/2013 01:15 PM, Daniel P. Berrange wrote: > By having all the private symbols change their version tag on every > release, we make it a total PITA for anyone to provide closed source, > out of tree, third party modules. Which is nice a feature :-) Using a symbol version file also means tha

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Peter Maydell
On 18 June 2013 21:19, Daniel P. Berrange wrote: > For example, use ELF symbol versioning > and make the version tags change on every single minor release Change on every git commit hash, please. Otherwise I bet there are going to be a lot of random weird failures in development due to things get

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Daniel P. Berrange
On Tue, Jun 18, 2013 at 07:42:11AM -0500, Anthony Liguori wrote: > Hi, > > On Tue, Jun 18, 2013 at 6:37 AM, Michael Tokarev wrote: > > Hello. > > > > I looked at what's needed to support DSO (dynamic shared objects) > > in qemu, in order to be able to split functionality into loadable > > "plugin

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Daniel P. Berrange
On Tue, Jun 18, 2013 at 02:17:08PM +0200, Laszlo Ersek wrote: > On 06/18/13 13:37, Michael Tokarev wrote: > > > Next, and this is the most complex part. The build system for > > modules, and configuring it. I heard there were plans to use > > something like kbuild system for that, has anything

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Richard Henderson
On 06/18/2013 04:37 AM, Michael Tokarev wrote: > First of all, we need a global config switch/check for this kind of > service. On a POSIX system this should make the executable to be > linked with -rdynamic option, in order to make all symbols in the > executable to be available to plugins. The

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Paolo Bonzini
Il 18/06/2013 15:12, Peter Maydell ha scritto: >>> >> o switching some modules to allow building them modular >> > >> > Pretty much any device is a candidate here. > Before you can do that you need to convert them so we can build > them once rather than once-per-target : target-specific versions >

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Paolo Bonzini
Il 18/06/2013 14:42, Anthony Liguori ha scritto: >> > Next, and this is the most complex part. The build system for >> > modules, and configuring it. I heard there were plans to use >> > something like kbuild system for that, has anything been done >> > in this context? > GSoC just kicked off ye

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Peter Maydell
On 18 June 2013 13:42, Anthony Liguori wrote: > On Tue, Jun 18, 2013 at 6:37 AM, Michael Tokarev wrote: >> o switching some modules to allow building them modular > > Pretty much any device is a candidate here. Before you can do that you need to convert them so we can build them once rather tha

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Paolo Bonzini
Il 18/06/2013 14:05, Laszlo Ersek ha scritto: >> > +if (dlopen(path, RTLD_NOW) == NULL) > For inter-module sybmol resolution (motivated by any functional > dependencies, of course), RTLD_GLOBAL would be needed too (and then of > course order of loading would matter). I think we want to pro

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Anthony Liguori
Hi, On Tue, Jun 18, 2013 at 6:37 AM, Michael Tokarev wrote: > Hello. > > I looked at what's needed to support DSO (dynamic shared objects) > in qemu, in order to be able to split functionality into loadable > "plugins". It isn't exactly difficult, but a few steps are needed > still. As it turns

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Michael Tokarev
18.06.2013 16:19, Michael Tokarev пишет: > 18.06.2013 16:17, Laszlo Ersek wrote: >> On 06/18/13 13:37, Michael Tokarev wrote: >> >>> Next, and this is the most complex part. The build system for >>> modules, and configuring it. I heard there were plans to use >>> something like kbuild system for

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Michael Tokarev
18.06.2013 16:17, Laszlo Ersek wrote: > On 06/18/13 13:37, Michael Tokarev wrote: > >> Next, and this is the most complex part. The build system for >> modules, and configuring it. I heard there were plans to use >> something like kbuild system for that, has anything been done >> in this contex

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Laszlo Ersek
On 06/18/13 13:37, Michael Tokarev wrote: > Next, and this is the most complex part. The build system for > modules, and configuring it. I heard there were plans to use > something like kbuild system for that, has anything been done > in this context? Sorry for responding separately... Some mo

Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Laszlo Ersek
On 06/18/13 13:37, Michael Tokarev wrote: > First of all, we need a global config switch/check for this kind of > service. On a POSIX system this should make the executable to be > linked with -rdynamic option, in order to make all symbols in the > executable to be available to plugins. > > This

[Qemu-devel] RFC: DSO (dynamic shared objects) support

2013-06-18 Thread Michael Tokarev
Hello. I looked at what's needed to support DSO (dynamic shared objects) in qemu, in order to be able to split functionality into loadable "plugins". It isn't exactly difficult, but a few steps are needed still. The whole thing is about splitting the functionality into plugins from one, single,