All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Blue Swirl <blauwirbel@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2] Fix guest agent build with simpletrace
Date: Mon, 29 Aug 2011 14:25:35 -0500	[thread overview]
Message-ID: <4E5BE7AF.5020906@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAJSP0QX8n9pZcaCmSm+pxabiCh3wE-2BLO_tWzahFvUM50T8PA@mail.gmail.com>

On 08/29/2011 07:28 AM, Stefan Hajnoczi wrote:
> On Sun, Aug 28, 2011 at 10:08 PM, Blue Swirl<blauwirbel@gmail.com>  wrote:
>> On Sun, Aug 28, 2011 at 6:13 PM, Lluís<xscript@gmx.net>  wrote:
>>> Blue Swirl writes:
>>>
>>>> On Sat, Aug 27, 2011 at 5:56 PM, Lluís<xscript@gmx.net>  wrote:
>>>>>>> I sent a patch that should fix it for everybody linking with the tracing
>>>>>>> objects:
>>>>>>>
>>>>>>> http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg03150.html
>>>>>
>>>>>> With your patch, there are warnings from linker:
>>>>>> ../qemu-timer-common.o: warning: multiple common of `use_rt_clock'
>>>>>> ../qemu-timer-common.o: warning: previous common is here
>>>>>
>>>>> Ah, yes. These extra errors are fixed by the duplicate elimination patch
>>>>> :)
>>>>>
>>>>> http://lists.gnu.org/archive/html/qemu-devel/2011-08/msg02987.html
>>>>>
>>>>> So, you need both to keep it clean.
>>>
>>>> Using the sort function looks hackish to me. Maybe the linkage should
>>>> be controlled by configure instead?
>>>
>>> What do you mean? Moving the logic for selecting the object files to
>>> link with on each top-level target out into the configure?
>>
>> Add CONFIG_QEMU_TIMER, configure sets it to 'y' when it is needed by
>> simpletrace or other cases.
>
> The $(sort) approach is simpler because it is implicit.  I'm not sure
> that explicitly managing these dependencies is necessary.  But the

It also mirrors how most projects handle duplicate header includes using 
a guard.

Plus, it really sucks to not be able to create a self-sufficient group 
of objects just because someone that includes your group happens to also 
include a common object (in this case, common-obj-y). trace-obj-y should 
absolutely be able to note qemu-timer-common.o as an explicit dependency 
regardless of whether or not it happens to get linked in by something 
else in the common case.

Plus with talk of breaking up QEMU into shared objects I think we'd end 
up needing to have self-sufficient object groups anyway.

But, in the meantime, I broke something again so I put together a patch 
with Blue's suggestions that seems to do the trick fairly reasonably. 
I'll send it as a response for reference, though I'd really prefer the 
$(sort) approach.

> configure approach works for me too.
>
> Blue: Are you going to post the CONFIG_QEMU_TIMER patch?
>
> Stefan
>

  reply	other threads:[~2011-08-29 19:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-26 18:45 [Qemu-devel] [PATCH 1/2] Fix guest agent build with simpletrace Blue Swirl
2011-08-26 19:12 ` Lluís
2011-08-27 16:46   ` Blue Swirl
2011-08-27 17:56     ` Lluís
2011-08-28  7:24       ` Blue Swirl
2011-08-28 18:13         ` Lluís
2011-08-28 21:08           ` Blue Swirl
2011-08-29 12:28             ` Stefan Hajnoczi
2011-08-29 19:25               ` Michael Roth [this message]
2011-08-29 19:27                 ` [Qemu-devel] [PATCH] Add CONFIG_QEMU_TIMER to handle qemu-timer-common.o dep Michael Roth
2011-08-30  9:22                   ` Stefan Hajnoczi
2011-08-30 12:02                     ` Lluís
2011-08-30 15:20                       ` Michael Roth
2011-08-30 18:32                         ` Lluís
2011-08-30 19:40                           ` Lluís
2011-08-30 14:17                     ` Anthony Liguori
2011-08-30 19:37                     ` Blue Swirl
2011-08-29 12:47             ` [Qemu-devel] [PATCH 1/2] Fix guest agent build with simpletrace Lluís

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=4E5BE7AF.5020906@linux.vnet.ibm.com \
    --to=mdroth@linux.vnet.ibm.com \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.