From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, mjt@tls.msk.ru, famz@redhat.com,
stefanha@redhat.com
Subject: [Qemu-devel] [RFC PATCH 0/6] Shared Library Module Support
Date: Thu, 5 Sep 2013 18:20:42 +0800 [thread overview]
Message-ID: <1378376448-29036-1-git-send-email-famz@redhat.com> (raw)
This series implements feature of shared object building as described in:
http://wiki.qemu.org/Features/Modules
It's achieved in three steps, with extra bonus to change curl to a shared
library module in the end (only to demonstrate the usage, no "make install"
support of .so files yet).
1. Allow per object cflags and libs:
[01/06] make.rule: fix $(obj) to a real relative path
[02/06] rule.mak: allow per object cflags and libs
2. Rules for building .so:
[03/06] Makefile: define curl cflags and libs with object
3. Code to load module. All .so files are scanned and loaded when program
starts:
[04/06] Makefile: introduce common-obj-m and block-obj-m for DSO
4. curl adoption:
[05/06] module: load modules at start
[06/06] curl: build as shared library
Fam Zheng (6):
make.rule: fix $(obj) to a real relative path
rule.mak: allow per object cflags and libs
Makefile: define curl cflags and libs with object
Makefile: introduce common-obj-m and block-obj-m for DSO
module: load modules at start
curl: build as shared library
Makefile | 24 +++++++++++++++++++++---
Makefile.objs | 10 +++++++++-
Makefile.target | 3 ++-
block/Makefile.objs | 3 ++-
configure | 28 ++++++++++++++++------------
include/qemu/module.h | 2 ++
qemu-img.c | 2 ++
qemu-io.c | 1 +
qemu-nbd.c | 1 +
rules.mak | 20 ++++++++++++++------
scripts/create_config | 3 +++
util/Makefile.objs | 2 ++
util/module.c | 40 ++++++++++++++++++++++++++++++++++++++++
vl.c | 1 +
14 files changed, 116 insertions(+), 24 deletions(-)
--
1.8.3.1
next reply other threads:[~2013-09-05 10:21 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-05 10:20 Fam Zheng [this message]
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 1/6] make.rule: fix $(obj) to a real relative path Fam Zheng
2013-09-06 9:41 ` Paolo Bonzini
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 2/6] rule.mak: allow per object cflags and libs Fam Zheng
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 3/6] Makefile: define curl cflags and libs with object Fam Zheng
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 4/6] Makefile: introduce common-obj-m and block-obj-m for DSO Fam Zheng
2013-09-05 19:24 ` Richard Henderson
2013-09-05 19:41 ` Paolo Bonzini
2013-09-05 21:45 ` Peter Maydell
2013-09-06 8:26 ` Paolo Bonzini
2013-09-06 5:53 ` Fam Zheng
2013-09-06 7:20 ` Richard Henderson
2013-09-06 7:27 ` Fam Zheng
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 5/6] module: load modules at start Fam Zheng
2013-09-05 11:43 ` Lluís Vilanova
2013-09-06 6:33 ` Fam Zheng
2013-09-05 11:49 ` Michael Tokarev
2013-09-05 10:20 ` [Qemu-devel] [RFC PATCH 6/6] curl: build as shared library Fam Zheng
2013-09-05 10:25 ` [Qemu-devel] [RFC PATCH 0/6] Shared Library Module Support Fam Zheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1378376448-29036-1-git-send-email-famz@redhat.com \
--to=famz@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).