qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 4/5] trace: Multi-backend tracing


From: Peter Maydell
Subject: Re: [Qemu-devel] [PULL 4/5] trace: Multi-backend tracing
Date: Mon, 16 Jun 2014 10:58:38 +0100

On 9 June 2014 16:23, Stefan Hajnoczi <address@hidden> wrote:
> From: LluĂ­s Vilanova <address@hidden>
>
> Adds support to compile QEMU with multiple tracing backends at the same time.
>
> For example, you can compile QEMU with:
>
>   $ ./configure --enable-trace-backends=ftrace,dtrace
>
> Where 'ftrace' can be handy for having an in-flight record of events, and 
> 'dtrace' can be later used to extract more information from the system.
>
> This patch allows having both available without recompiling QEMU.

Hi. This patch causes QEMU to fail to do a rebuild unless
you do a distclean, because:

 * the trace headers are in GENERATED_HEADERS, and so
   Makefile depends on them
 * this means that when Make does its "is any makefile or
   include out of date and needing a rebuild?" check, as
   well as possibly running configure (to update config-host.mak)
   it will also rebuild GENERATED_HEADERS under the "old"
   config-host.mak regime
 * if you run the new trace header rules with an old
   config-host.mak then the tracetool script will barf
   (printing its usage message) because it has been passed
   an empty string for the list of backends.

Paolo suggested that adding
$(GENERATED_HEADERS): config-host.mak

to the makefile might fix this. Unfortunately it doesn't help
much, because although it ensures that configure gets run first,
make won't reread any of its files (including config-host.mak)
until it has rebuilt all of them, so we still run the header
rules with the old config-host.mak. It does mean that configure
gets run first, so you can guarantee that manually rerunning
make will work (without the dependency then the headers might
get built first and fail before make gets round to running
configure).

thanks
-- PMM



reply via email to

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