On Wed, Apr 05, 2017 at 11:15:58AM +0300, Lluís Vilanova wrote: > Xu, Anthony writes: > > > Put all trace.o into libqemuutil.a > > Currently all trace.o are linked into qemu-system, qemu-img, > > qemu-nbd, qemu-io etc., even the corresponding components > > are not included. > > Put all trace.o into libqemuutil.a that the linker would only pull in .o > > files containing symbols that are actually referenced by the > > program. > > I think this change conflicts with some of the guest code tracing patches I have > in the queue (I won't be able to send the new series until the end of the month, > sorry). > > AFAIR, some of my patches need to link different code for utils and qemu's main > binaries. Although there might be a better way of doing it that I missed. I don't know the details of your unsent patches, but one possible solution is stubs/* where we stub out functions that are unavailable in tools. That way the same code links in the main QEMU program and in utils. When the code runs in utils, it either doesn't take the code path that reaches the stub function or it calls the stub and continues unaware that the call was a noop. If you want to discuss further, feel free to post an RFC preview series of your work in progress. Stefan