diff mbox series

[v2] Makefile: Keep trace-events-subdirs ordered

Message ID 20200116114339.30670-1-philmd@redhat.com
State New
Headers show
Series [v2] Makefile: Keep trace-events-subdirs ordered | expand

Commit Message

Philippe Mathieu-Daudé Jan. 16, 2020, 11:43 a.m. UTC
Adding the same directory multiple times to trace-events-subdirs
might trigger build failures, in particular when using the LTTng
Userspace Tracer library as backend.

For example when using two times the hw/core/ directory:

    $ ./configure --enable-trace-backends=ust && make
   [...]
     CC      trace-ust-all.o
   In file included from trace-ust-all.h:13,
                    from trace-ust-all.c:13:
   trace-ust-all.h:35151:1: error: redefinition of ‘__tracepoint_cb_qemu___loader_write_rom’
   35151 | TRACEPOINT_EVENT(
         | ^~~~~~~~~~~~~~~~
   trace-ust-all.h:31791:1: note: previous definition of ‘__tracepoint_cb_qemu___loader_write_rom’ was here
   31791 | TRACEPOINT_EVENT(
         | ^~~~~~~~~~~~~~~~

To ease review and reduce likelihood of merge failures (see [*]),
keep trace-events-subdirs ordered when possible, following eb7ccb3c0.

[*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg671007.html
    Duplicate trace-events-subdirs entries generates duplicated
    symbols when using the LTTng Userspace Tracer library.

Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Add build log error in commit description (lvivier)

"Fixes: 26b8e6dc & 8d5d515a0"

To be even safer we should use $(sort $(trace-events-subdirs))
---
 Makefile.objs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Stefan Hajnoczi Jan. 16, 2020, 2:18 p.m. UTC | #1
On Thu, Jan 16, 2020 at 12:43:39PM +0100, Philippe Mathieu-Daudé wrote:
> Adding the same directory multiple times to trace-events-subdirs
> might trigger build failures, in particular when using the LTTng
> Userspace Tracer library as backend.
> 
> For example when using two times the hw/core/ directory:
> 
>     $ ./configure --enable-trace-backends=ust && make
>    [...]
>      CC      trace-ust-all.o
>    In file included from trace-ust-all.h:13,
>                     from trace-ust-all.c:13:
>    trace-ust-all.h:35151:1: error: redefinition of ‘__tracepoint_cb_qemu___loader_write_rom’
>    35151 | TRACEPOINT_EVENT(
>          | ^~~~~~~~~~~~~~~~
>    trace-ust-all.h:31791:1: note: previous definition of ‘__tracepoint_cb_qemu___loader_write_rom’ was here
>    31791 | TRACEPOINT_EVENT(
>          | ^~~~~~~~~~~~~~~~
> 
> To ease review and reduce likelihood of merge failures (see [*]),
> keep trace-events-subdirs ordered when possible, following eb7ccb3c0.
> 
> [*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg671007.html
>     Duplicate trace-events-subdirs entries generates duplicated
>     symbols when using the LTTng Userspace Tracer library.
> 
> Reviewed-by: Damien Hedde <damien.hedde@greensocs.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Add build log error in commit description (lvivier)
> 
> "Fixes: 26b8e6dc & 8d5d515a0"
> 
> To be even safer we should use $(sort $(trace-events-subdirs))
> ---
>  Makefile.objs | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Thanks, applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing

Stefan
diff mbox series

Patch

diff --git a/Makefile.objs b/Makefile.objs
index 7c1e50f9d6..d62f908965 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -142,8 +142,8 @@  trace-events-subdirs += nbd
 trace-events-subdirs += scsi
 endif
 ifeq ($(CONFIG_SOFTMMU),y)
-trace-events-subdirs += chardev
 trace-events-subdirs += audio
+trace-events-subdirs += chardev
 trace-events-subdirs += hw/9pfs
 trace-events-subdirs += hw/acpi
 trace-events-subdirs += hw/alpha
@@ -191,6 +191,7 @@  trace-events-subdirs += migration
 trace-events-subdirs += net
 trace-events-subdirs += ui
 endif
+trace-events-subdirs += hw/core
 trace-events-subdirs += hw/display
 trace-events-subdirs += qapi
 trace-events-subdirs += qom
@@ -203,7 +204,6 @@  trace-events-subdirs += target/riscv
 trace-events-subdirs += target/s390x
 trace-events-subdirs += target/sparc
 trace-events-subdirs += util
-trace-events-subdirs += hw/core
 
 trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)