From: Kai Kang <kai.k...@windriver.com> When PACKAGECONFIG ust is enabled for qemu, it fails to compile:
| In file included from trace/trace-ust-all.h:44179, | from trace/trace-ust-all.c:13: | /path_to/qemu/6.2.0-r0/recipe-sysroot/usr/include/lttng/tracepoint-event.h:67:10: error: #include expects "FILENAME" or <FILENAME> | 67 | #include LTTNG_UST_TRACEPOINT_INCLUDE | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ Backport upstream commit to fix it. Signed-off-by: Kai Kang <kai.k...@windriver.com> --- meta/recipes-devtools/qemu/qemu.inc | 1 + ...-fix-compilation-with-lttng-ust-2.13.patch | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 meta/recipes-devtools/qemu/qemu/0001-trace-fix-compilation-with-lttng-ust-2.13.patch diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index bee30cd56f..02afafc2e8 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -128,6 +128,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://CVE-2024-3446-0005.patch \ file://CVE-2024-3446-0006.patch \ file://CVE-2024-3447.patch \ + file://0001-trace-fix-compilation-with-lttng-ust-2.13.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/meta/recipes-devtools/qemu/qemu/0001-trace-fix-compilation-with-lttng-ust-2.13.patch b/meta/recipes-devtools/qemu/qemu/0001-trace-fix-compilation-with-lttng-ust-2.13.patch new file mode 100644 index 0000000000..d3cb19c839 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0001-trace-fix-compilation-with-lttng-ust-2.13.patch @@ -0,0 +1,75 @@ +From e32aaa5a19e24233180042f84a0235a209de71cc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lur...@redhat.com> +Date: Mon, 28 Mar 2022 12:47:13 +0400 +Subject: [PATCH] trace: fix compilation with lttng-ust >= 2.13 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On Fedora 36, with lttng-ust 2.13.1, compilation fails with: + +In file included from trace/trace-ust-all.h:49085, + from trace/trace-ust-all.c:13: +/usr/include/lttng/tracepoint-event.h:67:10: error: #include expects "FILENAME" or <FILENAME> + 67 | #include LTTNG_UST_TRACEPOINT_INCLUDE + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In lttng-ust commit 41858e2b6e8 ("Fix: don't do macro expansion in +tracepoint file name") from 2012, starting from lttng-ust 2.1, the API +was changed to expect TRACEPOINT_INCLUDE to be defined as a string. + +In lttng-ust commit d2966b4b0b2 ("Remove TRACEPOINT_INCLUDE_FILE +macro"), in 2021, the compatibility macro was removed. + +Use the "new" API from 2012, and bump the version requirement to 2.1 to +fix compilation with >= 2.13. + +According to repology, all distributions we support have >= 2.1 (centos +8 has oldest with 2.8.1 afaict) + +Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> +Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> +Message-Id: <20220328084717.367993-2-marcandre.lur...@redhat.com> +Signed-off-by: Thomas Huth <th...@redhat.com> + +Upstream-Status: Backport [https://github.com/qemu/qemu/commit/e32aaa5] + +Signed-off-by: Kai Kang <kai.k...@windriver.com> +--- + meson.build | 4 ++-- + scripts/tracetool/format/ust_events_h.py | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index 04ce33fef1..861de93c4f 100644 +--- a/meson.build ++++ b/meson.build +@@ -455,8 +455,8 @@ if 'CONFIG_GIO' in config_host + endif + lttng = not_found + if 'ust' in get_option('trace_backends') +- lttng = dependency('lttng-ust', required: true, method: 'pkg-config', +- kwargs: static_kwargs) ++ lttng = dependency('lttng-ust', required: true, version: '>= 2.1', ++ method: 'pkg-config', kwargs: static_kwargs) + endif + pixman = not_found + if have_system or have_tools +diff --git a/scripts/tracetool/format/ust_events_h.py b/scripts/tracetool/format/ust_events_h.py +index 6ce559f6cc..b99fe6896b 100644 +--- a/scripts/tracetool/format/ust_events_h.py ++++ b/scripts/tracetool/format/ust_events_h.py +@@ -29,8 +29,8 @@ def generate(events, backend, group): + '#undef TRACEPOINT_PROVIDER', + '#define TRACEPOINT_PROVIDER qemu', + '', +- '#undef TRACEPOINT_INCLUDE_FILE', +- '#define TRACEPOINT_INCLUDE_FILE ./%s' % include, ++ '#undef TRACEPOINT_INCLUDE', ++ '#define TRACEPOINT_INCLUDE "./%s"' % include, + '', + '#if !defined (TRACE_%s_GENERATED_UST_H) || \\' % group.upper(), + ' defined(TRACEPOINT_HEADER_MULTI_READ)', +-- +2.47.1 + -- 2.47.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#211689): https://lists.openembedded.org/g/openembedded-core/message/211689 Mute This Topic: https://lists.openembedded.org/mt/111266608/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-