From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC] New device API
Date: Sat, 9 May 2009 22:06:37 +0100 [thread overview]
Message-ID: <200905092206.38341.paul@codesourcery.com> (raw)
In-Reply-To: <4A05EDD8.6030208@codemonkey.ws>
On Saturday 09 May 2009, Anthony Liguori wrote:
> Paul Brook wrote:
> > On Wednesday 06 May 2009, Paul Brook wrote:
> >>>> The attached patch is my attempt at a new internal API for device
> >>>> creation in qemu.
> >>>
> >>> Instead of recreating constructors, I think we should just use GCC's
> >>> constructor attribute. This gives us ordering which will be important
> >>> when dealing with buses.
> >>
> >> The reason I'm not using constructors is because you have to workaround
> >> ordering issues. All constructors are run before main(), so there's a
> >> very limited amount they can actually do, and constructor priorities are
> >> not available on all hosts.
> >
> > Oh, the other thing is that constructors don't work when you put objects
> > in a static library. You need am explicit dependency to pull in objects.
>
> Not if you enable -Wl,--whole-archive. It ends up looking like:
>
> gcc -o test-stub -g -Wall -O test-stub.c -Wl,--whole-archive libtest.a
> -Wl,--no-whole-archive -L.
>
> And I've confirmed this works.
Yes, but, eww. Plus it means you've got to pull in absolutely everything,
whether you want it or not.
Paul
next prev parent reply other threads:[~2009-05-09 21:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-05 11:31 [Qemu-devel] [RFC] New device API Paul Brook
2009-05-05 15:56 ` Blue Swirl
2009-05-05 16:17 ` Paul Brook
2009-05-05 16:26 ` Blue Swirl
2009-05-05 16:35 ` Paul Brook
2009-05-05 18:22 ` Anthony Liguori
2009-05-05 22:42 ` Edgar E. Iglesias
2009-05-06 0:52 ` Paul Brook
2009-05-06 1:04 ` Paul Brook
2009-05-06 13:35 ` Anthony Liguori
2009-05-09 20:55 ` Anthony Liguori
2009-05-09 21:06 ` Paul Brook [this message]
2009-05-10 1:34 ` Anthony Liguori
2009-05-09 22:52 ` malc
2009-05-10 1:35 ` Anthony Liguori
2009-05-10 6:50 ` Andreas Färber
2009-05-10 18:38 ` malc
2009-05-10 1:37 ` Anthony Liguori
2009-05-05 22:25 ` Edgar E. Iglesias
2009-05-08 1:54 ` Zachary Amsden
2009-05-08 11:28 ` Paul Brook
2009-05-08 13:47 ` Anthony Liguori
2009-05-09 1:21 ` Zachary Amsden
2009-05-09 13:36 ` Anthony Liguori
2009-05-08 5:27 ` Marcelo Tosatti
2009-05-08 10:44 ` Paul Brook
2009-05-28 13:53 ` Markus Armbruster
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=200905092206.38341.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=qemu-devel@nongnu.org \
/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).