tracing/intel_pt: Fix build on older userspace.
PATCH 1/1 tracing/intel_pt: Fix build on older userspace.
Older userspace linux headers do not have aux_* fields struct perf_event_mmap_page. This commit disables the test build if older headers were detected, the alternative would be adding a fallback definition to LTP but I doubt that it's worth the effort.
--- configure.ac | 1 + m4/ltp-perf_event.m4 | 13 +++++++++++++ testcases/kernel/tracing/pt_test/pt_test.c | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 m4/ltp-perf_event.m4
configure.ac +1 -0
@@ -229,6 +229,7 @@ LTP_CHECK_X_TABLES LTP_CHECK_ATOMIC_MEMORY_MODEL LTP_CHECK_TPACKET_V3 LTP_DETECT_HOST_CPU +LTP_CHECK_PERF_EVENT if test "x$with_numa" = xyes; then LTP_CHECK_SYSCALL_NUMA
m4/ltp-perf_event.m4 new file +13 -0
@@ -0,0 +1,13 @@ +dnl +dnl Copyright (c) 2018 Cyril Hrubis <[email protected]> +dnl +dnl SPDX-License-Identifier: GPL-2.0-or-later +dnl + +dnl +dnl LTP_CHECK_PERF_EVENT +dnl ---------------------------- +dnl +AC_DEFUN([LTP_CHECK_PERF_EVENT],[ +AC_CHECK_MEMBERS([struct perf_event_mmap_page.aux_head],,,[#include <linux/perf_event.h>]) +])
testcases/kernel/tracing/pt_test/pt_test.c +7 -0
@@ -20,6 +20,9 @@#include <stdio.h> #include "tst_test.h" #include "lapi/syscalls.h" +#include "config.h" + +#ifdef HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD #define PAGESIZE 4096#define INTEL_PT_MEMSIZE (17*PAGESIZE)
@@ -157,3 +160,7 @@ static struct tst_test test = { .cleanup = cleanup, .needs_root = 1, }; + +#else +TST_TEST_TCONF ("missing aux_* fields in struct perf_event_mmap_page" ); +#endif /* HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD */
Signature · 1 line
2.16.4
PATCH 1/1 tracing/intel_pt: Fix build on older userspace.
Hi Cyril,
Quoted 7 lines
Older userspace linux headers do not have aux_* fields struct
perf_event_mmap_page. This commit disables the test build if older headers were detected, the alternative would be adding a fallback definition to LTP but I doubt that it's worth the effort.Signed-off-by Cyril Hrubis <[email protected]>CC Ammy Yi <[email protected]>
Thanks for fixing it.
Kind regards,
Petr
PATCH 1/1 tracing/intel_pt: Fix build on older userspace.
In reply to Cyril Hrubis----- Original Message -----
Quoted 7 lines
Older userspace linux headers do not have aux_* fields struct
perf_event_mmap_page. This commit disables the test build if older headers were detected, the alternative would be adding a fallback definition to LTP but I doubt that it's worth the effort.Signed-off-by Cyril Hrubis <[email protected]>CC Ammy Yi <[email protected]>
ack, fixes build for me too
Quoted 69 lines
--- configure.ac | 1 + m4/ltp-perf_event.m4 | 13 +++++++++++++ testcases/kernel/tracing/pt_test/pt_test.c | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 m4/ltp-perf_event.m4configure.ac +1
-0@@ -229,6 +229,7 @@ LTP_CHECK_X_TABLES LTP_CHECK_ATOMIC_MEMORY_MODEL LTP_CHECK_TPACKET_V3 LTP_DETECT_HOST_CPU +LTP_CHECK_PERF_EVENT if test "x$with_numa" = xyes; then LTP_CHECK_SYSCALL_NUMAm4/ltp-perf_event.m4 new file +12
-0@@ -0,0 +1,13 @@ +dnl +dnl Copyright (c) 2018 Cyril Hrubis <[email protected]> +dnl +dnl SPDX-License-Identifier: GPL-2.0-or-later +dnl + +dnl +dnl LTP_CHECK_PERF_EVENT +dnl ---------------------------- +dnl +AC_DEFUN([LTP_CHECK_PERF_EVENT],[ +AC_CHECK_MEMBERS([struct perf_event_mmap_page.aux_head],,,[#include<
linux/perf_event.h>])
+])testcases/kernel/tracing/pt_test/pt_test.c +7
-1@@ -20,6 +20,9 @@#include <stdio.h> #include "tst_test.h" #include "lapi/syscalls.h" +#include "config.h" + +#ifdef HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD #define PAGESIZE 4096#define INTEL_PT_MEMSIZE (17*PAGESIZE)@@ -157,3 +160,7 @@ static struct tst_test test = { .cleanup = cleanup, .needs_root = 1, }; + +#else +TST_TEST_TCONF ("missing aux_* fields in struct perf_event_mmap_page" ); +#endif /* HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD */ --2.16.4
--
Mailing list info: https://lists.linux.it/listinfo/ltp
Yi
PATCH 1/1 tracing/intel_pt: Fix build on older userspace.
In reply to Cyril HrubisHi Cyril,
Thanks for fixing this for Intel PT test.
Best Regards
Ammy Yi
-----Original Message-----
From: Cyril Hrubis [mailto:[email protected]]
Sent: Wednesday, October 17, 2018 11:39 PM
To: [email protected]
Cc: Yi, Ammy <[email protected]>
Subject: [PATCH] tracing/intel_pt: Fix build on older userspace.
Older userspace linux headers do not have aux_* fields struct perf_event_mmap_page. This commit disables the test build if older headers were detected, the alternative would be adding a fallback definition to LTP but I doubt that it's worth the effort.
--- configure.ac | 1 + m4/ltp-perf_event.m4 | 13 +++++++++++++ testcases/kernel/tracing/pt_test/pt_test.c | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 m4/ltp-perf_event.m4
configure.ac +1 -0
@@ -229,6 +229,7 @@ LTP_CHECK_X_TABLES LTP_CHECK_ATOMIC_MEMORY_MODEL LTP_CHECK_TPACKET_V3 LTP_DETECT_HOST_CPU +LTP_CHECK_PERF_EVENT if test "x$with_numa" = xyes; then LTP_CHECK_SYSCALL_NUMA
m4/ltp-perf_event.m4 new file +12 -0
@@ -0,0 +1,13 @@ +dnl +dnl Copyright (c) 2018 Cyril Hrubis <[email protected]> dnl dnl +SPDX-License-Identifier: GPL-2.0-or-later dnl + +dnl +dnl LTP_CHECK_PERF_EVENT +dnl ---------------------------- +dnl +AC_DEFUN([LTP_CHECK_PERF_EVENT],[ +AC_CHECK_MEMBERS([struct perf_event_mmap_page.aux_head],,,[#include +<linux/perf_event.h>]) +])
testcases/kernel/tracing/pt_test/pt_test.c +7 -0
@@ -20,6 +20,9 @@#include <stdio.h> #include "tst_test.h" #include "lapi/syscalls.h" +#include "config.h" + +#ifdef HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD #define PAGESIZE 4096#define INTEL_PT_MEMSIZE (17*PAGESIZE)
@@ -157,3 +160,7 @@ static struct tst_test test = { .cleanup = cleanup, .needs_root = 1, }; + +#else +TST_TEST_TCONF ("missing aux_* fields in struct perf_event_mmap_page" ); +#endif /* HAVE_STRUCT_PERF_EVENT_MMAP_PAGE_AUX_HEAD */
--
2.16.4
PATCH 1/1 tracing/intel_pt: Fix build on older userspace.
In reply to Cyril HrubisHi!
Pushed.
Signature · 2 lines
Cyril Hrubis [email protected]