|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [RFC] New device API |
Date: | Sat, 09 May 2009 15:55:52 -0500 |
User-agent: | Thunderbird 2.0.0.21 (X11/20090320) |
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. Regards, Anthony Liguori
Paul
[Prev in Thread] | Current Thread | [Next in Thread] |