On 20/10/2016 12:41, Dr. David Alan Gilbert wrote:
> * Paolo Bonzini (pbonz...@redhat.com) wrote:
>>
>>
>> On 18/10/2016 11:54, Dr. David Alan Gilbert wrote:
>>> I've not quite figured it out but we're linked against the stubs/ monitor
>>> code rather than the real monitor code; and the stubs monitor_vprintf 
>>> discards
>>> and the stubs monitor_cur_is_qmp() always returns false, so to silence 
>>> things
>>> we just have to make cur_mon non-NULL.
>>> Unfortunately cur_mon is of type Monitor * and Monitor isn't defined 
>>> publicly,
>>> so we can't know it's size.  The following evil hack does silence things
>>> for anyone desperate, but I do need to find a neater way; perhaps the right
>>> thing is just to link against monitor and create a dummy "null" chardev as 
>>> you
>>> say.
>>
>> If error_printf/error_vprintf are to a separate file, then stubs/ can be
>> changed to use vfprintf unconditionally.
> 
> Moving code out of util/qemu-error.c just so they can be stubbed separately
> seems a little odd.

Why?  It is part of how static libraries work, and allowing fine-grained
inclusion is the reason why libqemustub.a and libqemuutil.a are static
libraries.

Paolo

>> And then I wonder what we actually use cur_mon for, perhaps with this
>> change we can remove stubs/mon*.
> 
> I've just posted a slightly cleaner version of that nasty hack that gives
> a value to assign to cur_mon.
> 
> Dave
> 
>> Paolo
> --
> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
> 

Reply via email to