qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 08/11] stubs/notify-event: Mark qemu_notify_event() stub as "


From: Paolo Bonzini
Subject: Re: [PATCH 08/11] stubs/notify-event: Mark qemu_notify_event() stub as "weak"
Date: Wed, 12 Aug 2020 11:47:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0

On 04/08/20 20:20, Thomas Huth wrote:
> On 04/08/2020 19.50, Richard Henderson wrote:
>> On 8/4/20 10:00 AM, Thomas Huth wrote:
>>> Otherwise there is a linker error with MinGW while compiling the tests:
>>>
>>>   LINK    tests/test-timed-average.exe
>>>  libqemuutil.a(main-loop.o): In function `qemu_notify_event':
>>>  /builds/huth/qemu/util/main-loop.c:139: multiple definition of
>>>   `qemu_notify_event'
>>>  
>>> tests/test-timed-average.o:/builds/huth/qemu/tests/../stubs/notify-event.c:5:
>>>   first defined here
>>>  collect2: error: ld returned 1 exit status
>>>  /builds/huth/qemu/rules.mak:124: recipe for target
>>>   'tests/test-timed-average.exe' failed
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>  stubs/notify-event.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> That doesn't make sense.  Since the symbol is satisfied from main-loop.c, it
>> should not be pulled in from libqemuutil.a.
>>
>> What's really happening here?
> 
> Honestly, I don't have a clue. But since commit ebedb37c8d2aa4775, both
> the code from util/ and from stubs/ are put into the same library,
> libqemuutil.a, which is causing the trouble here, I guess.
> Maybe the linker pulled in the code from the stub first, then some other
> part used another function from  util/main-loop.c which caused the
> linker to pull in main-loop.o, too, so that it finally found that there
> is a clash? ... but that's just a plain guess, of course. Paolo (as
> author of commit ebedb37c8d2), do you have an idea what might be going
> on here?

I think your analysis is right but is the stub needed at all, since te
linker can include util/main-loop.c instead?

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]